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.67.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.67.0
File Actions
oxenai-0.67.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for oxenai-0.67.0-cp311-abi3-win_amd64.whl
oxenai-0.67.0-cp311-abi3-manylinux_2_34_x86_64.whl CPython 3.11 abi3 Linux glibc 2.34+ x86-64 Details for oxenai-0.67.0-cp311-abi3-manylinux_2_34_x86_64.whl
oxenai-0.67.0-cp311-abi3-manylinux_2_34_aarch64.whl CPython 3.11 abi3 Linux glibc 2.34+ ARM64 Details for oxenai-0.67.0-cp311-abi3-manylinux_2_34_aarch64.whl
oxenai-0.67.0-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details for oxenai-0.67.0-cp311-abi3-manylinux_2_28_x86_64.whl
oxenai-0.67.0-cp311-abi3-manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64 Details for oxenai-0.67.0-cp311-abi3-manylinux_2_28_aarch64.whl
oxenai-0.67.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details for oxenai-0.67.0-cp311-abi3-macosx_11_0_arm64.whl
oxenai-0.67.0-cp311-abi3-macosx_10_13_x86_64.whl CPython 3.11 abi3 macOS 10.13+ x86-64 Details for oxenai-0.67.0-cp311-abi3-macosx_10_13_x86_64.whl

Total release size: 238.1 MB

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

Download URL oxenai-0.67.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
73dfda54f555e91896dad69dea5c04f5782655ccd946b3dd68b661b3a4d945d3
BLAKE2b-256 checksum
How to use checksums
be16b1b20f91f6321be7ab305e3729535c1ec36e0d85366d749297661a8aed1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

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

Download URL oxenai-0.67.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
e7ad849b5a2ec59237bb4ba4eecc20ec51367231d3dc199311863e68bde61e7e
BLAKE2b-256 checksum
How to use checksums
4325ad38ebe5c2b0033bf6ac6aaea62e6187ecf3bdd11348d1e1538d719c00c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

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

Download URL oxenai-0.67.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
753bb60c599e0c8a2ec25a2e2a02bd823c6f311907e2b924c0025f744c8dc170
BLAKE2b-256 checksum
How to use checksums
cd91f6391202c246dd35fb1232a746ef83835a3ffc64724b410ff4165c6cd16a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

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

Download URL oxenai-0.67.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
b3013414e96da9076f698b7ef602f6508e3cc973d1261346834dc9817e6a3d29
BLAKE2b-256 checksum
How to use checksums
1647bed4468dd157b6d883b3cb94513ed312ae5eb266dc84a8c03d9ee8fdc052
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

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

Download URL oxenai-0.67.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
864e6f6fd83d332360b3336f24d627e2e0fdf8f2e500e867a3ef180f94a9cb17
BLAKE2b-256 checksum
How to use checksums
aff63887cfeff70487d49865030047c7227ef41fbcfb9bd8edc8f06fe933abce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

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

Download URL oxenai-0.67.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
4c1a01a3459bf0fe3f28a97c6725b44af5b708f800db5cef8ad0c60f8d8a1cc2
BLAKE2b-256 checksum
How to use checksums
8f412a421c6aeac41c897b92485c6af17478ad004c4c5d47c2f752094b1e24cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

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

Download URL oxenai-0.67.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
596f255c32cb3d17c829c7336e02bc0d7240fdab6d2b1c6da2a1dab4bce31257
BLAKE2b-256 checksum
How to use checksums
83656be073ec07c71a0a166445545fd421db36c7183f58d2008f23f9c2210e43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.8.4

Security for oxenai 0.67.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.67.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