oaknut 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,88 @@
1
+ Metadata-Version: 2.4
2
+ Name: oaknut
3
+ Version: 0.1.0
4
+ Summary: Oaknut family meta-distribution — tools for Acorn computer filesystems, files, and formats.
5
+ Author-email: Robert Smallshire <robert@smallshire.org.uk>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/rob-smallshire/oaknut
8
+ Project-URL: Repository, https://github.com/rob-smallshire/oaknut
9
+ Project-URL: Issues, https://github.com/rob-smallshire/oaknut/issues
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3 :: Only
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Requires-Python: >=3.11
21
+ Description-Content-Type: text/markdown
22
+ Requires-Dist: oaknut-file>=1.0
23
+ Requires-Dist: oaknut-dfs>=4.0
24
+ Requires-Dist: oaknut-zip>=2.0
25
+
26
+ # oaknut
27
+
28
+ Python tools for Acorn computer filesystems, files, and formats — the BBC Micro, Electron, Archimedes, and their descendants.
29
+
30
+ This repository is a `uv` workspace monorepo containing the `oaknut-*` family of packages. Each package is independently published to PyPI, but they all contribute to a shared `oaknut.` Python namespace so that imports read naturally:
31
+
32
+ ```python
33
+ from oaknut.file import AcornMeta, MetaFormat
34
+ from oaknut.dfs import DFS, DFSPath
35
+ from oaknut.zip import extract_archive
36
+ ```
37
+
38
+ ## Packages
39
+
40
+ | PyPI distribution | Import path | Scope |
41
+ |---|---|---|
42
+ | [`oaknut-file`](packages/oaknut-file/) | `oaknut.file` | Acorn file metadata — INF sidecars (traditional + PiEconetBridge), filename encoding, xattr namespaces, access flags, host bridge |
43
+ | [`oaknut-dfs`](packages/oaknut-dfs/) | `oaknut.dfs` | Acorn DFS / Watford DDFS disc images (SSD, DSD), and ADFS disc images (pending extraction into a dedicated `oaknut-adfs` package) |
44
+ | [`oaknut-zip`](packages/oaknut-zip/) | `oaknut.zip` | ZIP archives containing Acorn files — SparkFS extras, INF resolution, RISC OS filetype decoding |
45
+
46
+ Planned additional packages (see `docs/monorepo.md`):
47
+
48
+ - `oaknut-fs` — universal filesystem abstractions (catalogue ABC, Acorn codec, boot options)
49
+ - `oaknut-image` — disc-image abstractions (sector access, geometry, free-space maps)
50
+ - `oaknut-adfs` — ADFS (extracted from the current `oaknut-dfs`)
51
+ - `oaknut-basic` — BBC BASIC tokeniser / detokeniser
52
+ - `oaknut-disc` — the `disc` CLI binary
53
+
54
+ ## Quick start
55
+
56
+ ```sh
57
+ git clone https://github.com/rob-smallshire/oaknut.git
58
+ cd oaknut
59
+ uv sync
60
+ uv run pytest
61
+ ```
62
+
63
+ The workspace uses [uv](https://github.com/astral-sh/uv) for dependency management. Sibling packages are wired together as path dependencies during development via `[tool.uv.sources]` in the workspace-root `pyproject.toml`, so any change in one package is immediately visible to the others without a publish round-trip.
64
+
65
+ ## Installing from PyPI
66
+
67
+ Each library package is independently installable:
68
+
69
+ ```sh
70
+ pip install oaknut-file
71
+ pip install oaknut-dfs
72
+ pip install oaknut-zip
73
+ ```
74
+
75
+ Or install the whole family via the meta-distribution:
76
+
77
+ ```sh
78
+ pip install oaknut
79
+ ```
80
+
81
+ ## Documentation
82
+
83
+ - [`docs/monorepo.md`](docs/monorepo.md) — monorepo design, architectural target, package layering
84
+ - [`docs/cli-design.md`](docs/cli-design.md) — design of the forthcoming `disc` CLI
85
+
86
+ ## Licence
87
+
88
+ MIT. See each package's `LICENSE` file.
@@ -0,0 +1,4 @@
1
+ oaknut-0.1.0.dist-info/METADATA,sha256=4GS-FK3aR28KXQwzZzvYsNAIJ70IWPHEj6-2eOYmcI8,3524
2
+ oaknut-0.1.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
3
+ oaknut-0.1.0.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
4
+ oaknut-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+