@@ -20,14 +20,17 @@ Devito is a Python package for implementing optimized stencil computation (finit
2020** System Dependencies (Ubuntu/Debian):**
2121``` bash
2222sudo apt update
23- sudo apt install -y python3-numpy python3-sympy python3-psutil python3-pip
24- sudo apt install -y gcc g++ flake8
23+ sudo apt install -y python3-dev python3-pip python3-venv build-essential
2524```
2625
2726** Development Installation (preferred method):**
2827``` bash
28+ # Create and activate virtual environment
29+ python3 -m venv devito-env
30+ source devito-env/bin/activate
31+
2932# Install with all dependencies - requires network access
30- pip install -e .[tests,extras] --break-system-packages
33+ pip install -e .[tests,extras]
3134
3235# Alternative: conda environment (recommended for full development)
3336conda env create -f environment-dev.yml
@@ -178,7 +181,13 @@ python examples/seismic/acoustic/acoustic_example.py
178181- ** Naming** : CamelCase classes, snake_case methods/variables
179182
180183### Commit Messages and PR Titles
181- Use descriptive prefixes to categorize changes (based on recent repository patterns):
184+ Use descriptive prefixes to categorize changes (based on recent repository patterns).
185+
186+ ** Guidelines:**
187+ - Capitalize the title after the prefix (e.g., ` misc: Patch ` not ` misc: patch ` )
188+ - Follow the official guide: https://github.com/devitocodes/devito/wiki/Tags-for-commit-messages-and-PR-titles
189+
190+ ** Common prefixes:**
182191- ** compiler:** Changes to compilation system, IR passes, code generation
183192- ** mpi:** MPI-related functionality and parallel execution
184193- ** misc:** General improvements, cleanup, modernization
@@ -201,7 +210,7 @@ Use descriptive prefixes to categorize changes (based on recent repository patte
201210- ** installation** : Package installation and setup
202211- ** misc** : General improvements
203212- ** dependencies** : Dependency updates
204- - ** python ** : Python code changes
213+ - ** API ** : Application Programming Interface changes
205214
206215### Making Changes
2072161 . ** Always run linting first** : ` flake8 --builtins=ArgumentError . `
@@ -240,7 +249,7 @@ The project uses flake8 with specific ignore rules (configured in pyproject.toml
2402493 . Start with small test files when debugging (e.g., ` pytest tests/test_operator.py::test_specific ` )
2412504 . Check configuration output to verify environment setup
2422515 . Use ` --maxfail=5 ` to stop test runs early on systematic failures
243- 6 . Use conda environment for full development workflow when possible
252+ 6 . Use python venv for full development workflow when possible
2442537 . Run flake8 first before making commits to catch style issues early
245254
246255** File modification priorities:**
0 commit comments