Skip to main content

🐂 🐍 Oxen Python Interface

The Oxen python interface makes it easy to integrate Oxen datasets directly into machine learning dataloaders or other data pipelines.

Repositories

There are two types of repositories one can interact with, a Repo and a RemoteRepo.

Local Repo

To fully clone all the data to your local machine, you can use the Repo class.

import oxen

repo = oxen.Repo("path/to/repository")
repo.clone("https://hub.oxen.ai/ox/CatDogBBox")

If there is a specific version of your data you want to access, you can specify the branch when cloning.

repo.clone("https://hub.oxen.ai/ox/CatDogBBox", branch="my-pets")

Once you have a repository locally, you can perform the same operations you might via the command line, through the python api.

For example, you can checkout a branch, add a file, commit, and push the data to the same remote you cloned it from.

import oxen

repo = oxen.Repo("path/to/repository")
repo.clone("https://hub.oxen.ai/ox/CatDogBBox")
repo.checkout()

Remote Repo

If you don't want to download the data locally, you can use the RemoteRepo class to interact with a remote repository on OxenHub.

import oxen

repo = oxen.RemoteRepo("https://hub.oxen.ai/ox/CatDogBBox")

To stage and commit files to a specific version of the data, you can checkout an existing branch or create a new one.

repo.create_branch("dev")
repo.checkout("dev")

You can then stage files to the remote repository by specifying the file path and destination directory.

repo.add("new-cat.png", "images") # Stage to images/new-cat.png on remote
repo.commit("Adding another training image")

Note that no "push" command is required here, since the above code creates a commit directly on the remote branch.

Build 🔨

See the prerequisites section of the main readme before developing.

To get and build dependencies, as well as the oxen-python code, run:

uv sync --verbose

To build the PyO3 oxen wrappers only, use maturin and --no-sync:

uv run --no-sync maturin develop

Test

Run pytest:

uv run --verbose pytest -s tests/

If you have already installed all dependencies, and you're not making any changes to liboxen, then you may use --no-sync:

uv run --no-sync pytest -s tests/

Format and lint code with:

uvx ruff check .
uvx ruff format .

Logging

Oxen uses structured logging. It outputs to STDERR by default but can be configured with rotating log files. See Logging for details.

By default, the oxen-python does not perform any logging. Set RUST_LOG to change.

Metadata

Release files for oxenai 0.66.0

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

Built distributions (wheels)

Table of built distributions (wheels) for oxenai 0.66.0
File Actions
oxenai-0.66.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for oxenai-0.66.0-cp311-abi3-win_amd64.whl
oxenai-0.66.0-cp311-abi3-manylinux_2_34_x86_64.whl CPython 3.11 abi3 Linux glibc 2.34+ x86-64 Details for oxenai-0.66.0-cp311-abi3-manylinux_2_34_x86_64.whl
oxenai-0.66.0-cp311-abi3-manylinux_2_34_aarch64.whl CPython 3.11 abi3 Linux glibc 2.34+ ARM64 Details for oxenai-0.66.0-cp311-abi3-manylinux_2_34_aarch64.whl
oxenai-0.66.0-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details for oxenai-0.66.0-cp311-abi3-manylinux_2_28_x86_64.whl
oxenai-0.66.0-cp311-abi3-manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64 Details for oxenai-0.66.0-cp311-abi3-manylinux_2_28_aarch64.whl
oxenai-0.66.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details for oxenai-0.66.0-cp311-abi3-macosx_11_0_arm64.whl
oxenai-0.66.0-cp311-abi3-macosx_10_13_x86_64.whl CPython 3.11 abi3 macOS 10.13+ x86-64 Details for oxenai-0.66.0-cp311-abi3-macosx_10_13_x86_64.whl

Total release size: 238.0 MB

Release files / oxenai-0.66.0-cp311-abi3-win_amd64.whl

Download URL oxenai-0.66.0-cp311-abi3-win_amd64.whl
Size 34.4 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
5813bd27db14a22c0ffeb7e84a6cfe1ef262ca56892f8716fa4e657c0e0a0294
BLAKE2b-256 checksum
How to use checksums
ac0b0727ab0c860e2f3cfa8e04e30fae3e906f5ee9504954c6420e65513f81b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

Release files / oxenai-0.66.0-cp311-abi3-manylinux_2_34_x86_64.whl

Download URL oxenai-0.66.0-cp311-abi3-manylinux_2_34_x86_64.whl
Size 34.7 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
ec241d4ca6c2b019c49735519f3f6f7c64e447b6c5fc31931589d0cc13a3c25c
BLAKE2b-256 checksum
How to use checksums
6e697ec50084fed750087a1d21b41d0eba28f697bf78ff8f41968f5a4c1f8596
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

Release files / oxenai-0.66.0-cp311-abi3-manylinux_2_34_aarch64.whl

Download URL oxenai-0.66.0-cp311-abi3-manylinux_2_34_aarch64.whl
Size 32.9 MB
Tags CPython 3.11 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
52883958e07bb2f6b53a2b323c513326009f74354931dd86d20433655bad018b
BLAKE2b-256 checksum
How to use checksums
217e856c04b4628e32011d1f5b1a4cdd14a6c44ebeebf70ffc3a4466f2cd5d9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

Release files / oxenai-0.66.0-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL oxenai-0.66.0-cp311-abi3-manylinux_2_28_x86_64.whl
Size 35.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
98f1f287caa441b45ec0ef06d7881cb72f877fbf8be0b67fef86dc20a8221855
BLAKE2b-256 checksum
How to use checksums
bc6df2e2cf0b42f689ac24fa0cc7bb204c0dd4c040c1731359a4103dcb7b8258
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

Release files / oxenai-0.66.0-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL oxenai-0.66.0-cp311-abi3-manylinux_2_28_aarch64.whl
Size 33.1 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
cda569372a5aa063caef756a5abca783b5f293ce7aa8212806d17c2bd7352f38
BLAKE2b-256 checksum
How to use checksums
d6e2fa0e94a40f69b612555e952a8c3bdd1b2d3589b2a8bd3c973b0602ed9447
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

Release files / oxenai-0.66.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL oxenai-0.66.0-cp311-abi3-macosx_11_0_arm64.whl
Size 32.6 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c56618556d22b6002c198dde2d9ca00b12d4632b82f32439b119b207e2f45d82
BLAKE2b-256 checksum
How to use checksums
9acd62a018a9c7e8ca889b4f9855597a096c328a3199c96542cba1848ee39878
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

Release files / oxenai-0.66.0-cp311-abi3-macosx_10_13_x86_64.whl

Download URL oxenai-0.66.0-cp311-abi3-macosx_10_13_x86_64.whl
Size 35.5 MB
Tags CPython 3.11 abi3 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
1ca36bcfd4c3bc1d4b992a249e55b5316b6f0c1ccaa646b688fcfb1a9c72cae1
BLAKE2b-256 checksum
How to use checksums
a83633723d9d006fd1f2fc3e9010f0e289216a6f6bfdf82693e5112bb8aad41f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

Security for oxenai 0.66.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.66.0 This release

7 release files No provenance

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