skillfed

coreapi

Python client library for Core API.

coreapi v2.3.3 1.6M downloads/30d#3,734 on PyPI183
Permissive license BSD Abandoned released

What it is and what it does

coreapi is a client library for consuming APIs built with the Core API framework. It abstracts away the details of different schema and hypermedia formats—CoreJSON, OpenAPI, JSON Hyper-Schema, HAL, and plain JSON—allowing you to retrieve API schemas and execute actions against them using a unified interface. You instantiate a Client, fetch a document from an API endpoint, and then call actions on that document with parameters, letting the library handle format negotiation and response parsing.

The package has zero runtime dependencies, making installation lightweight. However, it has been abandoned since 2019-02-27 and receives no maintenance. The last release was 2017-10-05, and the repository is archived. If you are working with a legacy Core API system or have an existing codebase already using coreapi, it may still function, but there is no active support for new features or bug fixes.

Use it for:

  • Consuming APIs built with the Core API framework in legacy systems or existing codebases that already depend on this client.
  • Prototyping or testing Core API servers during development when you need a simple Python client to validate schema and hypermedia responses.
  • Interacting with APIs that expose OpenAPI or JSON Hyper-Schema formats if you prefer a unified client interface over raw HTTP requests.
  • Retrieving and navigating hypermedia-driven APIs (HAL, CoreJSON) without manually parsing responses or managing state.
  • Educational or reference use to understand how a hypermedia client abstracts multiple API schema formats into a single API.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A Python client library for interacting with Core API servers, handling schema retrieval and API actions across multiple hypermedia formats including CoreJSON, OpenAPI, JSON Hyper-Schema, and HAL.

No, not for new projects. The package is abandoned (last release 2017-10-05, repository archived), receives no maintenance, and has not been tested against modern Python versions. Install only if you are maintaining legacy code that already depends on coreapi and cannot migrate to an actively maintained alternative. For new work, choose a modern, maintained HTTP client or API framework.

Install

coreapi on PyPI

pip

pip install coreapi

uv

uv add coreapi

poetry

poetry add coreapi

Installing coreapi

Before you install

Installation is straightforward with no runtime dependencies, but the package is abandoned as of 2019-02-27 with no active maintenance. The last release was 2017-10-05.

License in practice

BSD license (permissive) places no significant restrictions on use, modification, or distribution in commercial or private projects.

Quickstart

pip install coreapi

from coreapi import Client
client = Client()
document = client.get('https://api.example.org/')
data = client.action(document, ['flights', 'search'], params={'from': 'LHR', 'to': 'PA', 'date': '2016-10-12'})

Verify before relying

  • Whether the package works reliably with modern Python versions beyond 3.6, given its abandoned status.
  • Current compatibility with contemporary Core API server implementations and whether breaking changes have occurred since 2017.
  • Whether dependent projects or forks have addressed known issues in the intervening years.

Package facts

License BSD (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 3,235 days since the last release
Last repo commit (repository archived)
First released
Downloads 1,592,788/month — #3,734 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: coreapi-2.3.3-py2.py3-none-any.whl

Development Status :: 3 - AlphaEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Topic :: Internet :: WWW/HTTP

Tags

core api client libraryhypermedia api clientopenapi schema clientrest api client pythoncoreapi hypermediaapi schema retrievalhal json client
abandonedlegacy-api-client

More WWW/HTTP packages