[project] name = "studies" version = "0.1.0" description = "A curated collection of mathematics and data science projects developed during my academic journey." readme = "README.md" requires-python = ">= 3.12,<3.14" dependencies = [ "catboost>=1.2.10", "ipykernel>=7.2.0", "ipywidgets>=8.1.8", "langchain>=1.2.10", "langchain-core>=1.2.18", "langchain-huggingface>=1.2.1", "langchain-mistralai>=1.1.1", "matplotlib>=3.10.8", "numpy>=2.4.3", "opencv-python>=4.13.0.92", "pandas>=3.0.1", "pandas-stubs>=3.0.0.260204", "plotly>=6.6.0", "scikit-learn>=1.8.0", "scipy>=1.17.1", "seaborn>=0.13.2", # "sequenzo>=0.1.20", "shap>=0.51.0", "spacy>=3.8.11", "tensorflow>=2.21.0", "tiktoken>=0.12.0", "todoist-python>=8.1.4", "torch>=2.10.0", "umap-learn>=0.5.11", "uv>=0.10.9", "xgboost>=3.2.0", ] [dependency-groups] dev = ["ipykernel>=7.2.0", "uv>=0.10.7"] [tool.ty.rules] index-out-of-bounds = "ignore" [tool.ruff] extend-include = ["*.ipynb"] line-length = 88 [tool.ruff.lint] # Activer les règles de linting courantes select = ["ALL"] # Désactiver certaines règles ignore = [ "E501", # line too long, géré par le formatter "E402", # Imports in top of file "T201", # Print "N806", "N803", "N802", "N816", "PLR0913", # Too many arguments "PLR2004", # "FBT001", # Boolean positional argument used in function definition "EM101", "TRY003", # Avoid specifying long messages outside the exception class ] # Exclure certains fichiers ou répertoires exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "venv", ] # Permettre à Ruff de corriger automatiquement certaines erreurs fixable = ["ALL"] unfixable = [] [tool.ruff.lint.isort] # Regrouper les imports par thématiques section-order = [ "future", "standard-library", "third-party", "data-science", "ml", "first-party", "local-folder", ] [tool.ruff.lint.isort.sections] # On sépare les outils de manipulation de données des frameworks de ML lourds "data-science" = ["numpy", "pandas", "scipy", "matplotlib", "seaborn", "plotly"] "ml" = [ "tensorflow", "keras", "torch", "sklearn", "xgboost", "catboost", "shap", ]