Skip to main content

acorn-py 🌱

gitlab PyPI

Python bindings for the acorn-lib crate

So what? Big deal...who cares?

acorn-py provides Python bindings for selected APIs from ACORN's acorn-lib and acorn-schema Rust crates. The Python package is independently versioned from ACORN.

Installation

Pixi

⭐ Recommended

pixi add acorn-py --pypi

Poetry

poetry add acorn-py

Pip

pip install acorn-py

Example Usage

from acorn.schema.validate import is_ark, is_arxiv, is_doi, is_orcid, is_ror

# Archival Resource Keys
assert is_ark("https://n2t.net/ark:12148/btv1b8449691v/f29")

# arXiv identifiers
assert is_arxiv("arXiv:2106.09685")

# Digital Object Identifiers
assert is_doi("10.11578/dc.20250604.1")

# Open Researcher and Contributor Identifiers
assert is_orcid("https://orcid.org/0000-0002-2057-9115")

# Research Organization Registry identifiers
assert is_ror("01qz5mb56")

Compatibility

The distribution requires Python 3.10 or newer and uses a CPython stable-ABI wheel built with Maturin. The initial standalone release pins acorn-lib and acorn-schema 0.1.76 to a public ACORN commit because acorn-schema is not yet available from crates.io. Binding versions do not track Rust crate versions.

acorn-py exposes a selected API rather than the entire ACORN library. See the binding source for the registered classes and functions.

Development

Install Pixi, then run:

make check
make test
make wheel-smoke

The test matrix covers Python 3.10 and 3.13. make wheel-smoke builds the ABI3 wheel, installs it into a clean environment, imports acorn, and verifies package metadata.

Publishing

See the maintainer release checklist for the complete versioning, validation, tagging, and approval procedure.

GitLab CI always builds a source distribution and a manylinux2014 x86-64 wheel. With matching project runners, enable ACORN_PY_ENABLE_LINUX_ARM64, ACORN_PY_ENABLE_MACOS_X86_64, ACORN_PY_ENABLE_MACOS_ARM64, and ACORN_PY_ENABLE_WINDOWS_X86_64 to add Linux ARM64, both macOS architectures, and Windows x86-64 wheels. Native macOS and Windows runners must provide Pixi; Linux uses the pinned official Maturin image.

Linux wheel builds use vendored OpenSSL so both manylinux architectures have the same supported cryptographic dependency instead of relying on the build image's system OpenSSL.

Issues in Python wrappers, packaging, or wheels belong in the acorn-py issue tracker. Issues in the underlying Rust behavior belong in the ACORN issue tracker.

Linux note

On Linux, you may need to augment your pixi.toml with:

[system-requirements]
libc = { family = "glibc", version = "2.34" }

Metadata

Release files for acorn-py 0.1.37

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for acorn-py 0.1.37
File Size Uploaded
acorn_py-0.1.37.tar.gz 95.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for acorn-py 0.1.37
File Interpreter ABI Platform
acorn_py-0.1.37-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
acorn_py-0.1.37-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
acorn_py-0.1.37-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 12.1 MB

Release files / acorn_py-0.1.37.tar.gz

Download URL acorn_py-0.1.37.tar.gz
Size 95.4 kB
Tags Source
SHA-256 checksum
How to use checksums
19b2e76b6ae7aa238a89b49db5726d771ec094912d58ce2675693faf1c807bbb
BLAKE2b-256 checksum
How to use checksums
ba6868f12c84ecccaceced19fc607e2b1fca05a65a9dc0ff728530886d3aa313
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / acorn_py-0.1.37-cp310-abi3-win_amd64.whl

Download URL acorn_py-0.1.37-cp310-abi3-win_amd64.whl
Size 4.3 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
3025bc0f9cb47b5eace1c880905b2561b3e31e2aabfbc475b73004f2c8f43aae
BLAKE2b-256 checksum
How to use checksums
f0b30dba6eebbc5dc47d545b9c9130229323a84ff4a601d9528d163631513ea0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / acorn_py-0.1.37-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL acorn_py-0.1.37-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.0 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
c15e529d8dab05fa4b3528ae4c239edd029f88e67ad2e02458841141e9510f9e
BLAKE2b-256 checksum
How to use checksums
3b8b95c9fbbfbc280b63b6e2397f4e59009a02bba7ba285b3bae462b46cb57e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / acorn_py-0.1.37-cp310-abi3-macosx_11_0_arm64.whl

Download URL acorn_py-0.1.37-cp310-abi3-macosx_11_0_arm64.whl
Size 2.7 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a5fe52978ee12abec8e246a7da1fe9ef280e5b4867aa24e9b3350e0ae30e4aec
BLAKE2b-256 checksum
How to use checksums
acfc563453e1be7ae30c63e991103c5edf4490d2fc08268d70b2646d4bb7cfa5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.37 This release

4 release files

0.1.36

3 release files

0.1.35

2 release files

0.1.34

1 release file

0.1.33

2 release files

0.1.31

2 release files

0.1.30

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page