firegex/fgex-lib/pyproject.toml
2026-10-16 18:06:50 +02:00

43 lines
1.3 KiB
TOML

[build-system]
requires = ["setuptools>=64"]
build-backend = "setuptools.build_meta"
[project]
name = "firegex"
# Set in setup.py, where the release workflow writes the tag.
dynamic = ["version"]
description = "Firegex client"
readme = "README.md"
authors = [{ name = "Pwnzer0tt1", email = "pwnzer0tt1@poliba.it" }]
requires-python = ">=3.10"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
]
dependencies = [
"typer",
# Imported directly by the CLI and both simulators for their output. `typer` happens to
# bring it today; `typer-slim` does not, and nothing here should rest on which one it is.
"rich",
"pydantic>=2",
"typing-extensions>=4.7.1",
"pycryptodome",
"watchfiles",
"websockets",
# 1.2 is the first with `output_buffer_limit`, which is what lets a body be decoded only
# as far as a filter may hold it. See `_unbrotli` in pyfilters/models/http.py.
"brotli>=1.2.0",
# Python 3.14 has `compression.zstd` in the standard library; this fills the gap
# below it. See firegex/pyfilters/internals/zstd_compat.py.
"zstandard; python_version < '3.14'",
]
[project.urls]
Homepage = "https://github.com/pwnzer0tt1/firegex"
[project.scripts]
fgex = "firegex.cli:run"
[tool.setuptools.packages.find]
include = ["firegex*"]