arcp
arcp (Archive and Package) URI parser and generator
What it is and what it does
arcp is a URI generation and parsing library for the arcp scheme, which provides a way to reference resources inside archives or packages without extracting them to disk. It creates unique base URIs using different authority forms—UUID, hash, or name—allowing relative references within bundled hypermedia to resolve within the archive context. The library handles both creation (arcp_random, arcp_hash, arcp_location, arcp_name) and parsing (parse_arcp, is_arcp_uri) of arcp URIs.
The package has no runtime dependencies and integrates with standard library tools like urllib.parse. It is designed for scenarios where you need to isolate resources across multiple archives, enforce security constraints to prevent escaping the archive, or externally identify sub-resources in bundled formats. The library only provides URI mechanics; it does not integrate with any particular archive or URL handling modules.
Use it for:
- Generate unique URIs for resources inside archives to enable relative link resolution without extraction
- Parse arcp URIs to extract archive metadata (UUID, hash, path, fragment) for resource identification
- Create isolated URI namespaces when consuming multiple archives to prevent naming conflicts
- Enforce security boundaries so bundled resources cannot reference files outside their archive
- Reference hypermedia sub-resources in application packages for external identification
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generate and parse arcp (Archive and Package) URIs, which identify resources within archives or packages using a standardized URI scheme.
No. The package is abandoned (last release 2020-02-12, no commits since) and marked Alpha. While it has no dependencies and the code may work for simple arcp URI generation and parsing, there is no maintenance path for compatibility issues or security concerns. Use only if you have a specific legacy integration requirement and can maintain a local fork if needed.
Install
arcp on PyPI
pip
pip install arcpuv
uv add arcppoetry
poetry add arcpInstalling arcp
Before you install
Installation is straightforward with no runtime dependencies. However, the package has been abandoned since 2020-02-12 with no maintenance activity, so expect no bug fixes or updates.
License in practice
Licensed under Apache License, Version 2.0 (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
from arcp import arcp_random, parse_arcp
uri = arcp_random("/doc.html")
print(uri)
parsed = parse_arcp(uri)
print(parsed.path)
Verify before relying
- Whether the package works correctly with Python versions beyond 3.8, given the last release was 2020-02-12
- Real-world integration patterns with zipfile or urllib.request, since the description states the library does not integrate with these modules
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,375 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 267,963/month — #8,285 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: arcp-0.2.1-py2.py3-none-any.whl
Keywords: arcp, uri, url, iri, archive, package
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
lazr.uriParse, manipulate, and generate URIs with a…
copyleft · top 15,000 on PyPI
arParses and reads ar archive files (.a),…
permissive · top 15,000 on PyPI
rfc3987Provides RFC 3986 and RFC 3987 compliant…
copyleft · top 5,000 on PyPI
pyuriPyURI parses, constructs, and manipulates URIs…
permissive · top 15,000 on PyPI
uritoolsParses, validates, and composes URIs and URI…
permissive · top 5,000 on PyPI
rfc3986Parses, validates, and normalizes URIs…
permissive · top 1,000 on PyPI
curiesConverts between URIs and compact URIs (CURIEs)…
permissive · top 15,000 on PyPI
fastdownloadDownloads, verifies, and extracts archives from…
permissive · top 15,000 on PyPI
ada-urlParse, validate, and manipulate URLs according…
permissive · top 15,000 on PyPI
hyperlinkHyperlink provides an immutable, RFC…
permissive · top 1,000 on PyPI