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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

oxenai-0.55.0-cp311-abi3-win_amd64.whl (30.2 MB view details)

Uploaded CPython 3.11+Windows x86-64

oxenai-0.55.0-cp311-abi3-manylinux_2_34_x86_64.whl (30.5 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.34+ x86-64

oxenai-0.55.0-cp311-abi3-manylinux_2_34_aarch64.whl (29.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.34+ ARM64

oxenai-0.55.0-cp311-abi3-macosx_11_0_arm64.whl (28.9 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

oxenai-0.55.0-cp311-abi3-macosx_10_13_x86_64.whl (31.5 MB view details)

Uploaded CPython 3.11+macOS 10.13+ x86-64

File details

Details for the file oxenai-0.55.0-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: oxenai-0.55.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 30.2 MB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.4

File hashes

Hashes for oxenai-0.55.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6b6f5b5c632dadfd48415c20f6245d63a541c3b4e93bd18061ee8cf6310145a2
MD5 23ceeca18f80c5567f50f95c068c8837
BLAKE2b-256 6c34ef1992cf9a7bf82e677d66f570fb8d0eb7b550d6aabdc21bfa141a4dff82

See more details on using hashes here.

File details

Details for the file oxenai-0.55.0-cp311-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for oxenai-0.55.0-cp311-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 ad68380aefa79a1409eec6086e4c09711772fd2979e793b028888312f5918ebd
MD5 165b9fe7e3234f94e1fc90115545e261
BLAKE2b-256 c748a064127ac335d7581cba27f25acc338e1bc9b8c507231d710632ca64f04c

See more details on using hashes here.

File details

Details for the file oxenai-0.55.0-cp311-abi3-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for oxenai-0.55.0-cp311-abi3-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 225873360293c3f82ee29dec314f51e400c7d2c75306bb4fcf7858e60b8cc7c1
MD5 a89fa95b30f4f203748266fa85a85c49
BLAKE2b-256 58897000cb42902493a5789c8151b742d6b189dab547367e107e8dc1ff5cfaab

See more details on using hashes here.

File details

Details for the file oxenai-0.55.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for oxenai-0.55.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 246a1620075fd21fcf7ef3c85f967492a7d25d3c80f3d56cbf75c20030002eec
MD5 a34b107836b8d47fa6d8fc74a5daee45
BLAKE2b-256 8d1b65d8550229da6053de0b3f7e68fdaffed5e63a5e14a1dd3c3982b763e31e

See more details on using hashes here.

File details

Details for the file oxenai-0.55.0-cp311-abi3-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for oxenai-0.55.0-cp311-abi3-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a30235374816a8bdc17e415f09705621a1cbe65a14144c60ceecb0d13d430d44
MD5 4666bc17a03ad2700b2a6cbba410e6de
BLAKE2b-256 c0ab031ef2acbbf98095b969e769f5994412e604cdaa3710d0b4e2d2ec77c1af

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.55.0 This release

5 files

0.53.4

5 files

0.53.3

5 files

0.53.0

5 files

0.52.9

5 files

0.52.6

5 files

0.52.4

5 files

0.52.3

5 files

0.52.2

5 files

0.52.1

5 files

0.52.0

5 files

0.51.5

5 files

0.51.4

5 files

0.51.3

5 files

0.51.2

5 files

0.51.1

5 files

0.50.7

5 files

0.50.6

5 files

0.50.5

5 files

0.50.4

5 files

0.50.1

5 files

0.50.0

5 files

0.49.1

5 files

0.49.0

5 files

0.48.3

20 files

0.48.1

20 files

0.48.0

20 files

0.47.0

20 files

0.46.12

20 files

0.46.9

20 files

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