pkg-facet-wrapped/pyproject.toml
[build-system]
# setuptools 78.1.1 is what `nordisk-pip-toolchain` carries (Debian trixie), and the
# build runs --no-isolation with the network off, so this floor is the image's, not a
# wish: 77 is the first setuptools that writes a PEP 639 `License-Expression`.
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"
[project]
name = "facett"
# The ONE writer of this number is facett-build-thing's PYPI_VERSION; this file and
# py/pyproject.toml are held to it by xtask/tests/python_versions_track_the_workspace.rs.
version = "0.2.1"
description = "facett's Rust UI components compiled to WebAssembly and drawn on WebGPU, plus a host-agnostic loader page — embeddable in Streamlit (the [streamlit] extra) or any web host."
readme = { file = "README.md", content-type = "text/markdown" }
requires-python = ">=3.9"
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", "wasm", "webgpu", "components", "visualization", "streamlit", "graph", "map"]
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",
"Programming Language :: Rust",
"Topic :: Scientific/Engineering :: Visualization",
"Topic :: Software Development :: User Interfaces",
]
# Deliberately dependency-free: the components install and verify on their own, so
# what a user installs is exactly what the tests exercise. Streamlit is an EXTRA.
dependencies = []
[project.optional-dependencies]
streamlit = ["streamlit>=1.40,<2"]
[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"
[tool.setuptools]
package-dir = { "" = "src" }
# `facet_wrapped_web` is the pre-0.2.0 import name, kept as a thin alias of `facett`
# for ONE release (removed in 0.3.0).
packages = ["facett", "facet_wrapped_web"]
# The wasm bundles (built by `cargo xtask wrap-wasm`, staged in by `cargo ops
# publish-pip`) ship as package data so the wheel is self-contained.
[tool.setuptools.package-data]
# `assets/*/*`: every non-core bundle group ships under `assets/<group>/` (facett-build-thing BUNDLE_GROUPS).
facett = ["assets/*", "assets/*/*"]