The pluggable filesystem contract for the oaknut family: detection, capabilities, geometry, partitions, and the identification coordinator.
Project description
oaknut-filesystem
The pluggable filesystem contract for the oaknut family — the base every Acorn (and, in principle, foreign) filesystem plugs into.
A filesystem is the unit of extension: Acorn DFS, Watford DFS, Opus DDOS,
ADFS, AFS, … are peers, registered on the oaknut.filesystem entry-point axis
(built on oaknut-extension). Each one:
- probes an image region and proposes what it is — with a confidence, evidence, and a candidate geometry;
- opens a region into a mount exposing a small core (list / stat /
read / write / exists, and parsing its own path syntax) plus opt-in
capability protocols (
HierarchicalDirectories,AcornMetadata,BootOption,UserDatabase,RegionHost); - declares its geometry grammar — the physical layouts it supports.
Two concerns are kept strictly apart:
- Geometry — the physical mapping of image bytes to logical sectors
(track count, sides, interleave, density, CHS). This is the discimage
DiscFormatlayer, beneath the filesystem. - Filesystem — the logical structure that turns sectors into files and directories.
This package also hosts the identification coordinator (identify()): it
runs the registered filesystems over an image, ranks the candidates, and
recurses into reserved regions (an ADFS host's tail, where an AFS or other
filesystem may live) to produce a per-partition Identification tree.
It depends on no concrete filesystem package and imports none: filesystems are discovered purely through entry points, so any subset can be installed and the rest simply aren't handled.
See docs/dev/filesystem-extensions.md (architecture) and
docs/dev/filesystem-extensions-plan.md (implementation plan).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oaknut_filesystem-12.1.0.tar.gz.
File metadata
- Download URL: oaknut_filesystem-12.1.0.tar.gz
- Upload date:
- Size: 24.9 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
221a43f3f9599609fbbd66e43b2e9133d06e76c20b6d0d59d16e484de17cfa4a
|
|
| MD5 |
69ef07cbcfbdd007ce28da35ae490826
|
|
| BLAKE2b-256 |
305338bec29314bdd3280ba91002c0d2d92b617477bf8c10a74f5c7eb23bc5bd
|
File details
Details for the file oaknut_filesystem-12.1.0-py3-none-any.whl.
File metadata
- Download URL: oaknut_filesystem-12.1.0-py3-none-any.whl
- Upload date:
- Size: 23.4 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dc12f2cdf4340a350ec12ce8459ae1009237c53ca69b8b4609d1d87bf0547b2
|
|
| MD5 |
ded2bae02a516adb94481530a29a8abb
|
|
| BLAKE2b-256 |
08c645ef4c2fa08b9fdf5209c5e9ab591440edc8381dac7ccd2604cd671afd7f
|