Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/facett

py/pyproject.toml

[build-system]
# setuptools 78.1.1 is what `nordisk-pip-toolchain` carries; 77 is the first that
# writes a PEP 639 `License-Expression` (see pkg-facet-wrapped/pyproject.toml).
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"

[project]
name = "facett-demo"
# One writer: facett-build-thing's PYPI_VERSION (held by
# xtask/tests/python_versions_track_the_workspace.rs, with the facett pin below).
version = "0.2.1"
description = "facett's components in a Streamlit app: every Rust component drawn by wasm on WebGPU, grouped like facett-demo, graphs generated in the wasm up to 100 000 nodes — no server needed; live korp data with the [korp] extra."
readme = { file = "README.md", content-type = "text/markdown" }
requires-python = ">=3.10"
license = "MIT"
# The texts live ONCE at the repo root; `cargo ops publish-pip` stages them beside this
# file (xtask/tests/licenses_ship_with_every_crate.rs holds the list).
license-files = ["LICENSE", "NOTICE"]
authors = [{ name = "ignalina" }]
maintainers = [{ name = "ignalina" }]
keywords = ["facett", "streamlit", "wasm", "webgpu", "demo", "graph", "map", "korp"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Environment :: Web Environment",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3 :: Only",
    "Topic :: Scientific/Engineering :: Visualization",
]

# The components WITH their Streamlit glue (`facett.streamlit`), pinned to the same
# release line: the demo's gallery is held against that wheel's manifest.
dependencies = [
    "facett[streamlit]>=0.2.1,<0.3",
]

[project.optional-dependencies]
# The LIVE korp tabs (korp-server gRPC). Without it the app runs offline: the gallery
# needs no server, and the korp tabs show the same components on gallery data.
korp = [
    "grpcio>=1.60",
    "protobuf>=5,<8",
]
dev = [
    "grpcio-tools>=1.60",
    "pytest>=8",
]

[project.urls]
Homepage = "https://ignalina.dk"
Repository = "https://git.gunnar.rs/nordisk/facett"
"Live demo" = "https://nordisk.codeberg.page/facett/"
Issues = "https://git.gunnar.rs/nordisk/facett"

[project.scripts]
facett-demo = "facett_demo.cli:main"

[tool.setuptools]
packages = ["facett_demo", "facett_demo.proto", "facett_demo.panes"]

[tool.setuptools.package-data]
# The gallery's payload table and the error-code catalog are READ at run time; the
# hand-kept `nornir.v1.Saga` subset ships with the package. NOT `proto/korp.proto` —
# korp's wire has exactly one copy, in the korp repo. `_buildinfo.py` is written into
# the STAGED package by `cargo ops publish-pip` (git hash + the recipe's epoch).
facett_demo = ["demo_payloads.json", "errcodes.json", "proto/saga.proto"]