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.56.1-cp311-abi3-win_amd64.whl (30.2 MB view details)

Uploaded CPython 3.11+Windows x86-64

oxenai-0.56.1-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.56.1-cp311-abi3-manylinux_2_34_aarch64.whl (29.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.34+ ARM64

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

Uploaded CPython 3.11+macOS 11.0+ ARM64

oxenai-0.56.1-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.56.1-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: oxenai-0.56.1-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.56.1-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b55a796d348eb289d736cc4fb290d8193ad27c83e63ffc50abe80e612ce0f16d
MD5 9c3b0af5ea21d93d8d7816592ebe26e4
BLAKE2b-256 cbf5768316c810a913ac3e9fdedad610efe42ba5f568a497f5e313c2d80de583

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oxenai-0.56.1-cp311-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 83f92d6bd0f344748ca791216f342d802d67fd5160c24aa851ce28b03c44fd3e
MD5 b7e188ba277c47f7508d9ef5fdb44037
BLAKE2b-256 39390ce811187bfa6f3485ee68d3155733607b802d90b0930bb83798a94b2581

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oxenai-0.56.1-cp311-abi3-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a34dfc546af359154af0efc247ee9cd6bf8e07879d4aa56d3cf99d35fe7499ed
MD5 0322fdbc64422d6eb48f885122204ba6
BLAKE2b-256 fd30d89894265ed78d3a9131476a3386267867de93c24d1c142e502f8294def3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oxenai-0.56.1-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68d692f722ed743a087ad8a85ca790a337a823ada184a13c195da4fffab9fdc4
MD5 7477279ae927ad0043f24fb2078bc9e8
BLAKE2b-256 0565e7922f5f337290006773a95e80e755bc44a938f67da506e1ae611f13ebf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for oxenai-0.56.1-cp311-abi3-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 606800663f265edc102b7eb8b4767791dab213ea19b21f7e051e751185a54d45
MD5 f005f85a80bef10624ecbd5b8046148a
BLAKE2b-256 a0a64402dac6ef0351bb12f2c4f4d91573a1034590f254ff93ffec6a83b77106

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.56.1 This release

5 files

0.56.0

5 files

0.55.0

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