albertyw/albertyw.com

View on GitHub
pyproject.toml

Summary

Maintainability
Test Coverage
[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 = []