[project] name = "oc-p6" version = "1.1.0" description = "Projet Credit Scoring - Home Credit Default Risk" readme = "README.md" requires-python = ">=3.11" dependencies = [ # Core data science libraries "pandas>=2.0.0", "numpy>=2", "scikit-learn>=1.3.0", # Visualization "matplotlib>=3.7.0", "seaborn>=0.12.0", "plotly>=5.14.0", # Machine Learning "lightgbm>=4.0.0", # MLflow for tracking "mlflow>=2.10.0", # Hyperparameter optimization "hyperopt>=0.2.7", "optuna>=3.5.0", "lime>=0.2.0", "numba>=0.59.0", # Data quality "imbalanced-learn>=0.11.0", # Utilities "tqdm>=4.65.0", "joblib>=1.3.0", # Jupyter "jupyter>=1.0.0", "ipykernel>=6.25.0", "ipywidgets>=8.1.0", # Flask for serving "flask>=3.0.0", "gradio==6.6.0", "evidently>=0.7.20", ] [project.optional-dependencies] dev = [ # Testing "pytest>=7.4.0", "pytest-cov>=4.1.0", # Machine Learning (for notebooks only) "xgboost>=2.0.0", "catboost>=1.2.0", # Code quality "black>=23.0.0", "flake8>=6.0.0", "mypy>=1.5.0", "ruff>=0.1.0", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src"] [tool.black] line-length = 100 target-version = ['py312'] [tool.ruff] line-length = 100 target-version = "py312" [tool.pytest.ini_options] testpaths = ["tests"] python_files = "test_*.py" python_functions = "test_*" addopts = "-v" [dependency-groups] dev = [ "pytest>=9.0.2", "pytest-cov>=7.0.0", ]