Files
ArtStudies/pyproject.toml

119 lines
2.5 KiB
TOML

[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",
"flask>=3.1.3",
"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",
]