Spaces:
Sleeping
Sleeping
| # pyproject.toml corrigé pour Poetry | |
| [tool.poetry] | |
| name = "project5" | |
| version = "0.1.0" | |
| description = "Prédiction de consommation énergétique des bâtiments" | |
| authors = ["francois hellebuyck <formation.fhellebuyck@pm.me>"] | |
| packages = [{include = "project5", from = "src"}] | |
| [tool.poetry.group.docs.dependencies] | |
| # Sphinx et extensions essentielles | |
| sphinx = "^7.2.6" | |
| sphinx-rtd-theme = "^1.3.0" | |
| sphinx-autodoc-typehints = "^1.25.2" | |
| sphinx-copybutton = "^0.5.2" | |
| myst-parser = "^2.0.0" | |
| sphinx-autobuild = "^2021.3.14" | |
| sphinxcontrib-napoleon = "^0.7" | |
| # Extensions optionnelles mais recommandées | |
| sphinx-book-theme = "^1.0.1" # Thème moderne alternatif | |
| sphinxext-rediraffe = "^0.2.7" # Redirections | |
| sphinx-design = "^0.5.0" # Composants modernes | |
| sphinx-tabs = "^3.4.4" # Onglets | |
| sphinx-togglebutton = "^0.3.2" # Boutons pliables | |
| [tool.poetry.dependencies] | |
| python = "^3.11" | |
| fastapi = "^0.116.1" | |
| uvicorn = {extras = ["standard"], version = "^0.35.0"} | |
| # Base de données | |
| sqlalchemy = "^2.0.23" | |
| alembic = "^1.12.1" | |
| psycopg2-binary = "^2.9.9" | |
| # Configuration et sécurité | |
| pydantic = "^2.5.0" | |
| pydantic-settings = "^2.1.0" | |
| python-dotenv = "^1.0.0" | |
| passlib = {extras = ["bcrypt"], version = "^1.7.4"} | |
| # Utilitaires | |
| httpx = "^0.25.0" | |
| python-jwt = "^4.1.0" | |
| joblib = "^1.5.2" | |
| numpy = "^2.3.3" | |
| scikit-learn = "1.7.1" | |
| pandas = "^2.3.2" | |
| shibuya = "^2025.8.16" | |
| eralchemy = "^1.3.0" | |
| graphviz = "^0.20.0" | |
| [tool.poetry.group.dev.dependencies] | |
| pylint = "^3.3.8" | |
| pytest = "^7.4.0" | |
| pytest-cov = "^4.1.0" | |
| pytest-asyncio = "^0.21.0" | |
| httpx = "^0.25.0" | |
| black = "^24.0.0" | |
| isort = "^5.12.0" | |
| flake8 = "^6.1.0" | |
| mypy = "^1.6.0" | |
| bandit = "^1.7.5" | |
| safety = "^2.3.0" | |
| # Tests de base de données | |
| pytest-postgresql = "^5.0.0" | |
| aiosqlite = "^0.19.0" | |
| sqlacodegen = "^3.1.0" | |
| [build-system] | |
| requires = ["poetry-core>=2.0.0,<3.0.0"] | |
| build-backend = "poetry.core.masonry.api" | |
| [tool.black] | |
| line-length = 88 | |
| target-version = ['py311'] | |
| include = '\.pyi?$' | |
| extend-exclude = ''' | |
| /( | |
| # directories | |
| \.eggs | |
| | \.git | |
| | \.hg | |
| | \.mypy_cache | |
| | \.tox | |
| | \.venv | |
| | build | |
| | dist | |
| | alembic/versions | |
| )/ | |
| ''' | |
| [tool.isort] | |
| profile = "black" | |
| multi_line_output = 3 | |
| include_trailing_comma = true | |
| force_grid_wrap = 0 | |
| use_parentheses = true | |
| ensure_newline_before_comments = true | |
| line_length = 88 | |
| [tool.mypy] | |
| python_version = "3.11" | |
| warn_return_any = true | |
| warn_unused_configs = true | |
| disallow_untyped_defs = true | |
| plugins = ["sqlalchemy.ext.mypy.plugin"] | |
| [tool.pytest.ini_options] | |
| minversion = "6.0" | |
| addopts = "-ra -q --strict-markers" | |
| testpaths = [ | |
| "tests", | |
| ] | |
| pythonpath = ["./src"] | |
| asyncio_mode = "auto" | |
| markers = [ | |
| "unit: Unit tests", | |
| "integration: Integration tests", | |
| "database: Tests requiring database", | |
| "slow: Slow running tests", | |
| ] | |
| [tool.coverage.run] | |
| source = ["src"] | |
| omit = [ | |
| "*/tests/*", | |
| "*/venv/*", | |
| "*/.venv/*", | |
| "*/env/*", | |
| "*/alembic/*", | |
| "*/migrations/*", | |
| ] | |
| [tool.coverage.report] | |
| exclude_lines = [ | |
| "pragma: no cover", | |
| "def __repr__", | |
| "if self.debug:", | |
| "if settings.DEBUG", | |
| "raise AssertionError", | |
| "raise NotImplementedError", | |
| "if 0:", | |
| "if __name__ == .__main__.:", | |
| "class .*\\bProtocol\\):", | |
| "@(abc\\.)?abstractmethod", | |
| ] | |
| [tool.flake8] | |
| max-line-length = 88 | |
| extend-ignore = [ | |
| "E203", | |
| "W503", | |
| "E402", | |
| "E501", | |
| ] | |
| exclude = [ | |
| ".git", | |
| "__pycache__", | |
| ".venv", | |
| "venv", | |
| ".jupyter", | |
| "alembic/versions", | |
| "migrations", | |
| ] | |
| per-file-ignores = [ | |
| "*.ipynb:E402", | |
| "alembic/*:E402,F401", | |
| ] | |