Files
kennethreitz.org/pyproject.toml
T
kennethreitz 3de8f9b558 Switch from uvicorn to Granian — Rust-based ASGI server
2.7-6.2x faster across all routes. Essays 7,928 req/s (was 2,747),
Archive 8,449 req/s (was 1,354). Everything sub-1.3ms.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 03:44:54 -04:00

50 lines
1.5 KiB
TOML

[project]
name = "tuftecms"
version = "0.1.0"
description = "A Flask-based CMS for thoughtful writing, inspired by Edward Tufte's design principles"
readme = "README.md"
requires-python = ">=3.14"
dependencies = [
"flask>=3.1.1",
"uvicorn[standard]>=0.32.0",
"asgiref>=3.8.0",
"mistune>=3.0.0",
"pyyaml>=6.0.0",
"weasyprint>=66.0",
"pillow>=11.3.0",
"gunicorn[gevent]>=21.0.0",
"responder>=3.6.0",
"granian>=2.7.2",
]
authors = [
{name = "Kenneth Reitz", email = "me@kennethreitz.org"}
]
license = {text = "MIT"}
keywords = ["cms", "flask", "markdown", "tufte", "sidenotes", "blog", "digital-garden"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.14",
"Framework :: Flask",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Software Development :: Libraries :: Application Frameworks",
]
[project.urls]
Homepage = "https://github.com/kennethreitz/tuftecms"
Repository = "https://github.com/kennethreitz/tuftecms"
Documentation = "https://github.com/kennethreitz/tuftecms#readme"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["tuftecms"]
[tool.hatch.build.targets.wheel.force-include]
"tuftecms/templates" = "tuftecms/templates"
"tuftecms/static" = "tuftecms/static"