[build-system] requires = ["setuptools>=68"] build-backend = "setuptools.build_meta" [project] name = "palladium" version = "0.1.0" description = "TEI (Total Economic Impact) Calculator — Palladium" readme = "README.md" requires-python = ">=3.11" license = {file = "LICENSE"} authors = [{name = "NTT Data"}] dependencies = [ "requests>=2.31", "python-dotenv>=1.0", "pandas>=2.0", "plotly>=5.18", "numpy>=1.26", ] [project.optional-dependencies] notebooks = ["jupyter>=1.0", "ipython>=8.0"] app = ["streamlit>=1.30"] dev = ["pytest>=7.4", "ruff>=0.1"] [project.scripts] palladium = "core.cli.main:main" [tool.setuptools.packages.find] include = ["core*", "palladium*"] exclude = ["tests*", "studies*", "app*", "docs*"] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] addopts = "-q" [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "B", "UP", "W"] ignore = ["E501"] # line length handled by formatter [tool.ruff.lint.per-file-ignores] "studies/*/notebooks/*.ipynb" = ["E402"] "tests/*" = ["F401"] "app/main.py" = ["E402"] # sys.path bootstrap before app imports