Python and Unicode
- requires-python is >=3.14,<3.15: 3.14 is the only Python with the
Unicode 16.0 data the specification pins (3.13 has 15.1, 3.15 has 17.0).
- `import paperspec` raises ImportError unless unicodedata reports
paperspec.UNICODE_VERSION (16.0.0), so a source checkout or an install
that bypasses requires-python cannot compute values on other data.
Commands
- tools/{check,build,validate,load,stress,site}.py move with history to
src/paperspec/cli/ and install as paperspec-check, -build, -validate,
-load, -stress and -site; each also runs as `python -m paperspec.cli.X`.
- paperspec.cli.require() exits with "install paperspec[tools]" when
cryptography or jsonschema is missing; paperspec.cli.checkout() finds
the repository the check, build, stress and site commands work on (the
editable install's own checkout, else the one around the current
folder) and exits with a message outside one. tools/__init__.py is gone.
- validate and load read the schemas and SQL through the new
paperspec.resources.path(), which finds them in a wheel and in an
editable install alike, so they work anywhere the package is installed.
- check runs the rebuild as `python -m paperspec.cli.build`.
- build still writes the provenance tool label "paperspec tools/build.py":
it is part of every hashed and signed fixture.
- pixi tasks and the check workflow run the commands; tools/README.md
documents them, and the other docs name the commands instead of paths.
License
- LICENSE.md gives `src/` Apache-2.0 alongside `tools/`. Since the
previous commit moved the code to src/, no row had covered it.
pixi run check passes (run as `python -m paperspec.cli.check` with src/ on
the path, since this environment cannot install the entry points); the
byte-for-byte rebuild matches, so no fixture or vector changed.
pixi.lock still needs `pixi lock`.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
984 B
984 B
Licenses
| Paths | License | SPDX |
|---|---|---|
spec/, docs/, README.md, CONTRIBUTING.md, CHANGELOG.md and the other prose |
Creative Commons Attribution 4.0 International | CC-BY-4.0 |
schemas/, sql/, context/, registry/, vectors/, fixtures/ |
Creative Commons Zero 1.0 Universal | CC0-1.0 |
src/ (the paperspec package and its commands), tools/ |
Apache License 2.0 | Apache-2.0 |
The legal texts are at https://creativecommons.org/licenses/by/4.0/legalcode, https://creativecommons.org/publicdomain/zero/1.0/legalcode and https://www.apache.org/licenses/LICENSE-2.0.
The formats are open so that anyone may implement them, in any product, without asking.
All text in the fixtures is synthetic, written for them.
License fields inside fixtures describe fictional works, not the fixtures.
The keys in fixtures/keys/ are public test keys and must never sign anything else.
Copyright 2026 the Scientific Computing Studio.