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", | |
] |