coreapi
Python client library for Core API.
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 coreapiuv
uv add coreapipoetry
poetry add coreapiInstalling 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
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
openapi-codecConverts between OpenAPI/Swagger schemas and…
permissive · top 15,000 on PyPI
hdmfHDMF provides APIs for defining hierarchical…
permissive · top 15,000 on PyPI
newsapi-pythonA Python client library that wraps the News…
permissive · top 15,000 on PyPI
bravado-corebravado-core validates, marshals, and…
permissive · top 15,000 on PyPI
openapi-coreValidates and unmarshals OpenAPI v3.0, v3.1,…
permissive · top 5,000 on PyPI
f5-icontrol-restA REST API client library for interacting with…
permissive · top 15,000 on PyPI
pygerrit2Pygerrit2 is a client library for interacting…
permissive · top 15,000 on PyPI
benchling-api-clientA low-level HTTP client for Benchling's API,…
permissive · top 15,000 on PyPI
trieve-py-clientProvides a Python client library for the Trieve…
unclear · top 15,000 on PyPI
pagerdutyLightweight Python client library for…
unclear · top 5,000 on PyPI