Build the app to a single native binary with graalpy's 'standalone native' command (Dockerfile.native). granian/rloop cannot be bundled into a standalone binary, so the executable serves the app over ASGI with Hypercorn via native/entrypoint.py, which also works around GraalPy standalone quirks (socket.listen, str response bodies, signal handling). Adds docker-compose.native.yml, a -native CI job, and README docs.
35 lines
637 B
TOML
35 lines
637 B
TOML
[build-system]
|
|
requires = ["setuptools>=68"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "pyfconfig"
|
|
version = "0.1.0"
|
|
description = "A clone of https://ifconfig.me/ built on the kaya framework"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"kaya-core>=0.0.3",
|
|
"kaya-rsgi>=0.0.3",
|
|
"kaya-forwarded>=0.0.3",
|
|
"granian>=2.0",
|
|
"httpx",
|
|
"pwo",
|
|
"rloop>=0.5.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"mypy",
|
|
"hypercorn",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
namespaces = false
|
|
|
|
[tool.mypy]
|
|
python_version = "3.12"
|
|
ignore_missing_imports = true
|
|
plugins = []
|