Files
paperspec/pixi.toml
T
alexmandClaude 76d76353d9 feat: rename to paperspec and add the website
- Rename manuspec to paperspec everywhere outside pixi.toml: prose, the
  tools, provenance tool names and the fixture key derivations, so every
  fixture and vector is rebuilt.
- Move the namespace addresses under the site, mirroring the repository:
  schema $id https://paperspec.scient.ing/schemas/<file>, the JSON-LD
  context https://paperspec.scient.ing/context/scienting-1.jsonld, and
  term IRIs https://paperspec.scient.ing/vocab#<term>. Format
  identifiers (scienting-*) and URNs (urn:scienting:) are unchanged.
- tools/site.py (standard library only) builds _site/: every file of the
  repository at its own path, each Markdown file rendered as a page with
  sidebar navigation, heading anchors matching the forge's, folder
  listings, a vocabulary page for the context's IRIs, a heading search
  and a 404 page; light and dark themes.
- check.py builds the site and checks that every Markdown file has a
  page, every internal link and fragment resolves, no Markdown is left
  unrendered, and every $id, the context address and the vocabulary IRIs
  are files of the site.
- deploy/: a Caddyfile with the media types and CORS the data needs, and
  a guide; .gitea/workflows/site.yml builds on main and publishes with
  rsync when the SITE_* secrets are set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 21:27:21 -04:00

32 lines
1.6 KiB
TOML

[workspace]
name = "manuspec"
version = "0.1.0"
description = "The scienting data formats: specification, JSON Schemas, SQL, test vectors and fixtures"
authors = ["Scientific Computing Studio <maintainer@scient.ing>"]
license = "CC-BY-4.0 AND CC0-1.0 AND Apache-2.0"
license-file = "LICENSE.md"
readme = "README.md"
homepage = "https://scient.ing"
repository = "https://git.scient.ing/infra/manuspec"
documentation = "https://git.scient.ing/infra/manuspec/src/branch/main/docs/README.md"
channels = ["conda-forge"]
platforms = ["linux-64", "linux-aarch64", "osx-64", "osx-arm64"]
requires-pixi = ">=0.40"
[dependencies]
python = ">=3.14,<3.15"
jsonschema = ">=4.26.0"
markdownlint-cli2 = ">=0.23.3"
cryptography = ">=46"
[tasks]
check = { cmd = "python tools/check.py", depends-on = [
"lint",
], description = "Check schemas, records, packages, vectors, a byte-for-byte rebuild, the SQL round trip, prose and links" }
quick = { cmd = "python tools/check.py --quick", description = "Check everything except the byte-for-byte rebuild" }
build = { cmd = "python tools/build.py", description = "Rebuild fixtures/ and vectors/ from fixtures/src/ and the oracle" }
lint = { cmd = "markdownlint-cli2", description = "Lint every Markdown file with markdownlint" }
load = { cmd = "python tools/load.py", description = "Load packages into SQLite: pixi run load --sqlite lab.db PACKAGE..." }
validate = { cmd = "python tools/validate.py", description = "Validate packages, or run proposed corrections through the gate" }
stress = { cmd = "python tools/stress.py", description = "Stress the oracle with random inputs: pixi run stress -- --seed N" }