First implementation (#1)
check.yml (push) Invalid workflow file

Reviewed-on: #1
This commit is contained in:
alexm committed 2026-10-15 09:50:22 -04:00
1 parent fd4b21eeca
commit 2fd3307147
57 files changed
+11446

No files matched your search

+37
View File
@@ -61,6 +61,7 @@ The address grammar is in [spec/06 §6.1](spec/06-anchors.md#61-addresses), and
| [registry/](registry/README.md) | The list of formats, the rule IDs validators report, download-stamp rules, and the default rights each processing stage requires. |
| [vectors/](vectors/README.md) | Test vectors: inputs and the exact outputs every implementation must compute. |
| [fixtures/](fixtures/README.md) | Example packages and records, deliberately broken packages, and the test keys that signed them. |
<<<<<<< HEAD
| [tools/](tools/README.md) | How to run the commands that build and check everything above. |
| [src/paperspec/](src/paperspec/) | The reference implementation of every rule and those commands, installable as the Python package `paperspec`. |
| [docs/](docs/README.md) | Guides for people getting to know the project. |
@@ -86,6 +87,34 @@ The run ends with `All checks pass.`
The commands need Python 3.14 and the package's `tools` extra (`jsonschema`, `referencing` and `cryptography`), which pixi installs along with markdownlint for the Markdown.
Without pixi, install the checkout as the package with `pip install -e ".[tools]"` on Python 3.14, then run `paperspec check`.
`paperspec --help` lists the commands, and each command's `--help` gives advice and examples ([tools/](tools/README.md)).
||||||| parent of 4fa326d (First implementation (#1))
Version 0.1.0.
The formats of milestone M1 are `candidate`; datasets, digitizations, views, projects, bundles and the draft formats are `provisional` until their milestones; see [registry/formats.json](registry/formats.json).
=======
| [tools/](tools/README.md) | The programs that build and check everything above. |
| [docs/](docs/README.md) | Guides for people getting to know the project. |
| [deploy/](deploy/README.md) | How the website at <https://paperspec.scient.ing> is built and served. |
## Try it
With [pixi](https://pixi.sh), one command sets up a pinned environment and checks everything:
```sh
pixi run check
```
The checker validates every schema, record and package.
It confirms that every broken package is refused for the stated reason.
It recomputes every test vector, and it rebuilds everything and compares it byte for byte.
Last, it loads every package into SQLite and back, and checks the prose and the links.
Pixi lints the Markdown first.
The run ends with `All checks pass.`
`pixi task list` shows the other tasks: `quick`, `build`, `lint`, `load`, `validate` and `stress`.
`pixi run python tools/site.py` builds the website into `_site/` ([deploy/](deploy/README.md)).
The tools need Python 3.14 and two packages, `jsonschema` and `cryptography`, which pixi installs along with markdownlint for the Markdown.
Without pixi, install those two with pip and run `python3 tools/check.py`.
>>>>>>> 4fa326d (First implementation (#1))
To explore a worked package, load the example paper (a synthetic chemistry paper with 12 corrections) into SQLite and query it; [docs/examples.md](docs/examples.md) has queries to start from.
@@ -133,5 +162,13 @@ Table columns and figure-text items have IDs and are not nodes ([spec/04 §4.2](
The specification and other prose are CC BY 4.0, so anyone may implement the formats.
Schemas, SQL, the JSON-LD context, the registries, the vectors and the fixtures are CC0 1.0.
<<<<<<< HEAD
The code, the `paperspec` package in `src/` with its commands, is Apache-2.0.
||||||| parent of 4fa326d (First implementation (#1))
The chapters and other prose are licensed CC BY 4.0.
Schemas, SQL, the JSON-LD context, the registries, the vectors and the fixtures are dedicated to the public domain under CC0 1.0, so anyone may implement the formats.
The tools are licensed Apache-2.0.
=======
The tools are Apache-2.0.
>>>>>>> 4fa326d (First implementation (#1))
See [LICENSE.md](LICENSE.md).