mirror of
https://github.com/ArthurDanjou/ArtStudies.git
synced 2026-02-13 08:07:38 +01:00
2.4 KiB
2.4 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Quick Commands
Python Projects
- Install dependencies:
uv sync(root) oruv syncin a subdirectory with its ownpyproject.toml - Run linter:
ruff check .(includes all files viaextend-include) - Auto-fix:
ruff check . --fix - Format imports:
ruff format .
R Projects
- Load project: RStudio/.Rprofile uses
renvfor isolation - Check style:
lintr::lint("script.R") - Format code:
styler::style_file("script.R")
SQL (M2/SQL)
docker compose -f M2/SQL/docker-compose.yml up -d
make tp1 # Execute TP1.sql
make tp2 # Execute TP2.sql
make tp3 # Execute TP3.sql
make project # Execute DANJOU_Arthur.sql
Project Structure
L3/ # Bachelor's degree (3rd year)
M1/ # Master's degree (1st year)
M2/ # Master's degree (2nd year)
└── <Course>/ # e.g., "Deep Learning", "Data Visualisation"
├── TP{n}/ # Practical work (numbered)
├── Project/ # Final project
└── data/ # Course-specific data
Python Conventions
- Package manager:
uv(workspace configured at root) - Linting: Ruff with strict rules (
select = ["ALL"]) - Import ordering: Custom sections in
pyproject.toml:data-science: numpy, pandas, scipy, matplotlib, seaborn, plotlyml: tensorflow, keras, torch, sklearn, xgboost, catboost, shap
- Reproducibility: Use
np.random.seed(42)for random seeds - Notebooks: Jupyter with descriptive markdown cells
R Conventions
- Package management:
renv(autoloading via.Rprofile) - Linting:
lintrconfigured in.lintr - Documents: RMarkdown (
.Rmd) for reproducible reports - Visualization: ggplot2, plotly, FactoMineR
Key Technologies
- Data Science: numpy, pandas, scipy, matplotlib, seaborn, plotly, geopandas
- Machine Learning: scikit-learn, xgboost, catboost, tensorflow, keras, shap
- LLM/RAG: langchain, sentence-transformers, faiss-cpu
- R: tidyverse, ggplot2, FactoMineR, caret, glmnet, RShiny
Notes
- Some subprojects (e.g.,
M2/Reinforcement Learning/project/) have isolatedpyproject.tomlfiles - Large datasets are not versioned—download via notebook code when needed
- Course materials and documentation are primarily in French