[workspace] name = "paperspec" version = "0.1.0" description = "The scienting data formats: specification, JSON Schemas, SQL, test vectors and fixtures" authors = ["Scientific Computing Studio "] license = "CC-BY-4.0 AND CC0-1.0 AND Apache-2.0" license-file = "LICENSE.md" readme = "README.md" homepage = "https://paperspec.scient.ing" repository = "https://git.scient.ing/infra/paperspec" documentation = "https://paperspec.scient.ing/docs/" 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" nodejs = ">=22" cryptography = ">=46" # The reference implementation in src/paperspec, installed editable so that `import paperspec` works in # every pixi environment; the tools put src/ first on the path themselves, so they also run without pixi. [pypi-dependencies] paperspec = { path = ".", editable = true } # What building the package needs: pixi run -e dev wheel [feature.dev.dependencies] setuptools = ">=80" setuptools-scm = ">=8" python-build = ">=1.2" [feature.dev.tasks] wheel = { cmd = "python -m build --wheel --no-isolation --outdir dist", description = "Build the paperspec wheel into dist/" } [environments] default = { solve-group = "default" } dev = { features = ["dev"], solve-group = "default" } [tasks] check = { cmd = "paperspec-check", depends-on = [ "lint", ], description = "Check schemas, records, packages, vectors, a byte-for-byte rebuild, the SQL round trip, prose and links" } quick = { cmd = "paperspec-check --quick", description = "Check everything except the byte-for-byte rebuild" } build = { cmd = "paperspec-build", description = "Rebuild fixtures/ and vectors/ from fixtures/src/ and the oracle" } lint = { cmd = "markdownlint-cli2", description = "Lint every Markdown file with markdownlint" } load = { cmd = "paperspec-load", description = "Load packages into SQLite: pixi run load --sqlite lab.db PACKAGE..." } validate = { cmd = "paperspec-validate", description = "Validate packages, or run proposed corrections through the gate" } stress = { cmd = "paperspec-stress", description = "Stress the oracle with random inputs: pixi run stress --seed N" } site = { cmd = "paperspec-site", description = "Build the website into _site/" }