Edwin Salguero
Enterprise: Clean up directory structure and add proper CI/CD, monitoring, and deployment configurations
10d71ba
| [build-system] | |
| requires = ["setuptools>=61.0", "wheel"] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "fred-ml" | |
| version = "1.0.0" | |
| description = "Enterprise-grade economic data analysis platform using FRED API" | |
| readme = "README.md" | |
| license = {text = "MIT"} | |
| authors = [ | |
| {name = "Edwin Salguero", email = "[email protected]"} | |
| ] | |
| maintainers = [ | |
| {name = "Edwin Salguero", email = "[email protected]"} | |
| ] | |
| keywords = ["economics", "data-analysis", "machine-learning", "fred", "api"] | |
| classifiers = [ | |
| "Development Status :: 5 - Production/Stable", | |
| "Intended Audience :: Financial and Insurance Industry", | |
| "License :: OSI Approved :: MIT License", | |
| "Operating System :: OS Independent", | |
| "Programming Language :: Python :: 3", | |
| "Programming Language :: Python :: 3.9", | |
| "Programming Language :: Python :: 3.10", | |
| "Programming Language :: Python :: 3.11", | |
| "Topic :: Scientific/Engineering :: Information Analysis", | |
| "Topic :: Software Development :: Libraries :: Python Modules", | |
| ] | |
| requires-python = ">=3.9" | |
| dependencies = [ | |
| "fredapi==0.4.2", | |
| "pandas==2.1.4", | |
| "numpy==1.24.3", | |
| "matplotlib==3.7.2", | |
| "seaborn==0.12.2", | |
| "jupyter==1.0.0", | |
| "python-dotenv==1.0.0", | |
| "requests==2.31.0", | |
| "PyYAML==6.0.2", | |
| "APScheduler==3.10.4", | |
| "scikit-learn==1.3.0", | |
| "scipy==1.11.1", | |
| "statsmodels==0.14.0", | |
| "fastapi==0.104.1", | |
| "uvicorn[standard]==0.24.0", | |
| "pydantic==1.10.13", | |
| "redis==5.0.1", | |
| "psycopg2-binary==2.9.9", | |
| "sqlalchemy==2.0.23", | |
| "alembic==1.13.0", | |
| "prometheus-client==0.19.0", | |
| "structlog==23.2.0", | |
| ] | |
| [project.optional-dependencies] | |
| dev = [ | |
| "pytest==7.4.0", | |
| "pytest-asyncio==0.21.1", | |
| "httpx==0.25.2", | |
| "black==23.11.0", | |
| "flake8==6.1.0", | |
| "mypy==1.7.1", | |
| "pre-commit==3.6.0", | |
| "isort==5.12.0", | |
| ] | |
| [project.urls] | |
| Homepage = "https://github.com/EAName/FREDML" | |
| Documentation = "https://github.com/EAName/FREDML#readme" | |
| Repository = "https://github.com/EAName/FREDML.git" | |
| "Bug Tracker" = "https://github.com/EAName/FREDML/issues" | |
| [project.scripts] | |
| fred-ml = "src.main:main" | |
| [tool.black] | |
| line-length = 88 | |
| target-version = ['py39'] | |
| include = '\.pyi?$' | |
| extend-exclude = ''' | |
| /( | |
| # directories | |
| \.eggs | |
| | \.git | |
| | \.hg | |
| | \.mypy_cache | |
| | \.tox | |
| | \.venv | |
| | build | |
| | dist | |
| )/ | |
| ''' | |
| [tool.isort] | |
| profile = "black" | |
| multi_line_output = 3 | |
| line_length = 88 | |
| known_first_party = ["src"] | |
| [tool.mypy] | |
| python_version = "3.9" | |
| warn_return_any = true | |
| warn_unused_configs = true | |
| disallow_untyped_defs = true | |
| disallow_incomplete_defs = true | |
| check_untyped_defs = true | |
| disallow_untyped_decorators = true | |
| no_implicit_optional = true | |
| warn_redundant_casts = true | |
| warn_unused_ignores = true | |
| warn_no_return = true | |
| warn_unreachable = true | |
| strict_equality = true | |
| [tool.pytest.ini_options] | |
| minversion = "6.0" | |
| addopts = "-ra -q --strict-markers --strict-config" | |
| testpaths = ["tests"] | |
| python_files = ["test_*.py", "*_test.py"] | |
| python_classes = ["Test*"] | |
| python_functions = ["test_*"] | |
| markers = [ | |
| "slow: marks tests as slow (deselect with '-m \"not slow\"')", | |
| "integration: marks tests as integration tests", | |
| "unit: marks tests as unit tests", | |
| ] |