Skip to main content

Entry-point plug-in framework shared by every extensible axis of the oaknut package family.

Project description

oaknut-extension

The entry-point plug-in framework shared by every extensible axis of the oaknut package family.

An axis is one extension point — a family of interchangeable plug-ins that all answer the same question. The primary axis is filesystems (each plug-in detects and operates on one disc format, in oaknut-filesystem); oaknut.command (CLI subcommands contributed by filesystem packages) is another.

Each axis declares a kind (a short identifier such as "filesystem"). Concrete extensions for that axis subclass Extension, override _kind(), and register themselves under the oaknut.<kind> entry-point namespace in their package's pyproject.toml:

[project.entry-points."oaknut.filesystem"]
acorn-dfs = "oaknut.dfs.filesystem:AcornDFS"

Consumers discover and load them through list_extensions(), create_extension(), and friends, which wrap stevedore. Because discovery is by installed entry point, a plug-in shipped by any package appears automatically — no central registry to edit.

This package is deliberately domain-agnostic: it knows nothing about discs, files, or formats. It depends only on oaknut-exception (for the shared error hierarchy) and stevedore.

Project details


Download files

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

Source Distribution

oaknut_extension-12.1.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

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

oaknut_extension-12.1.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file oaknut_extension-12.1.0.tar.gz.

File metadata

  • Download URL: oaknut_extension-12.1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","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}

File hashes

Hashes for oaknut_extension-12.1.0.tar.gz
Algorithm Hash digest
SHA256 28e78ecbd048d3b2d28dfd8f116ba81275bc45ee77b650241dfa0521c378790c
MD5 8cb41cdeb5e9ab6efc5a420631f9e24e
BLAKE2b-256 64b5cbb003989b472195d7e277ad11d8c7210aa2772043b4938c23b1a06df77c

See more details on using hashes here.

File details

Details for the file oaknut_extension-12.1.0-py3-none-any.whl.

File metadata

  • Download URL: oaknut_extension-12.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","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}

File hashes

Hashes for oaknut_extension-12.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f84defc971870919c1fe735c22e52efbfd46a7ccb129e301b8e79d864d467870
MD5 29ee6cabe14327b434c1457b061aefdb
BLAKE2b-256 b8892b9f6554c92893e3308a05444fd543b052f67207931b3c94eff818ce0799

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page