pyproject.toml
[project]
name = "albertyw"
version = "1.0.0"
dependencies = [
# Core packages
"python-dotenv==1.0.1", # Read environment variables from .env
"Flask==3.0.3", # Web microframework
"gunicorn==22.0.0", # WSGI server
"syspath==3.0.6", # Modify paths
# Features
"feedgen==1.0.0", # Generate atom feeds
"flask-sitemap==0.4.0", # Web sitemaps
"markdown2==2.5.0", # Markdown formatting
"Pygments==2.18.0", # Syntax highlighting support
# Monitoring/tracking/logging
"blinker==1.8.2", # Dependency of rollbar
"rollbar==1.0.0", # rollbar.com error logging
"setproctitle==1.3.3", # Allow gunicorn to set process title
"varsnap==1.5.8", # Test discovery
]
[project.optional-dependencies]
test = [
# Testing
"coverage==7.6.0", # Test coverage
"ruff==0.5.4", # Python linter
# Testing Help
"titlecase==2.4.1", # Used for checking that note titles are title case
# Types
"mypy==1.11.0", # Type checking
"types-requests==2.32.0.20240712", # Type stubs for requests package
]
[tool.ruff]
# https://docs.astral.sh/ruff/rules/
lint.select = ["E", "F", "W", "A", "B", "COM", "N", "PLC", "PLE", "PLW"]
[tool.mypy]
strict = true
ignore_missing_imports = true
[tool.coverage.run]
source = [
".",
]
omit = [
".virtualenv",
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
'if __name__ == "__main__":',
]
[tool.setuptools]
py-modules = []