https://github.com/gerph/riscos-allocate
A CLI tool for creating and decoding RISC OS allocation files (filetype &FB0).
https://github.com/gerph/riscos-allocate
riscos
Last synced: 2 days ago
JSON representation
A CLI tool for creating and decoding RISC OS allocation files (filetype &FB0).
- Host: GitHub
- URL: https://github.com/gerph/riscos-allocate
- Owner: gerph
- License: mit
- Created: 2026-06-30T02:00:34.000Z (3 days ago)
- Default Branch: master
- Last Pushed: 2026-06-30T02:08:01.000Z (3 days ago)
- Last Synced: 2026-06-30T04:08:17.971Z (3 days ago)
- Topics: riscos
- Language: Python
- Homepage:
- Size: 21.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# riscos-allocate
`riscos-allocate` is a command line tool for working with RISC OS Allocate
request files. It reads the native binary request format, displays a readable
summary, extracts a YAML representation for editing and source control, and can
recreate a binary request from that YAML description.
The repository also contains PRM-in-XML documentation for both the tool and
the Allocate file format in [`prminxml/`](prminxml/).
## Features
- Display the contents of an Allocate request file.
- Extract a request to UTF-8 YAML with `--extract`.
- Extract a request to `Allocation.yaml` plus detached attachments with
`--extract-files`.
- Create a new Allocate binary request from YAML with `--create`.
- Preserve filetype attachments either inline or as detached files.
## Requirements
- Python 3.10 or newer for the tool and Python package build.
- `riscos-prminxml` if you want to lint or build the bundled HTML
documentation.
## Installation
Install from the repository with:
```sh
python3 -m pip install .
```
This installs the `riscos-allocate` command line tool.
## Usage
Display a request:
```sh
riscos-allocate request,fb0
```
Extract inline YAML:
```sh
riscos-allocate --extract request,fb0
```
Extract YAML plus detached files:
```sh
riscos-allocate --extract-files extracted request,fb0
```
Recreate a binary request from YAML:
```sh
riscos-allocate --create extracted -o rebuilt,fb0
```
## Building
Build the Python distribution artifacts:
```sh
make dist
```
Build the HTML documentation from the PRM-in-XML sources:
```sh
make docs
```
Build both release artifacts:
```sh
make
```
Generated files are written to:
- `dist/` for the Python source distribution and wheel
- `build/docs/html/` for the generated documentation
## Repository Layout
- [`riscos_allocate.py`](riscos_allocate.py) contains the tool implementation.
- [`riscos-allocate.py`](riscos-allocate.py) is a thin executable wrapper.
- [`prminxml/`](prminxml/) contains the source documentation.
- [`.github/workflows/build.yml`](.github/workflows/build.yml) builds the
release artifacts in CI.