diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f9c05c54..cb0fa082c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix README image paths to use absolute GitHub URLs so images display correctly on PyPI [\#188](https://github.com/mllam/neural-lam/pull/188) @bk-simon +### Documentation + +- Improve development environment setup instructions in README: link to Python venv docs, clarify editable install with dev dependencies, and add test verification step [\#262](https://github.com/mllam/neural-lam/pull/262) @ashum9 + +### Documentation + +- Improve development environment setup instructions in README: link to Python venv docs, clarify editable install with dev dependencies, and add test verification step [\#262](https://github.com/mllam/neural-lam/pull/262) @ashum9 + - Fix typo in `ar_model.py` that causes `AttributeError` during evaluation [\#204](https://github.com/mllam/neural-lam/pull/204) @ritinikhil - Changed the hardcoded True to a conditional check "persistent_workers=self.num_workers > 0" [\#235](https://github.com/mllam/neural-lam/pull/235) @santhil-cyber diff --git a/README.md b/README.md index 46a077b79..02930a6d0 100644 --- a/README.md +++ b/README.md @@ -569,6 +569,24 @@ These files have the same list format as the ones above, but each list has lengt Entries 0 in these lists describe edges between the lowest levels 1 and 2. # Development and Contributing + +## Development Environment Setup + +For development, we recommend using a virtual environment. See the [official Python venv documentation](https://docs.python.org/3/library/venv.html) for instructions on how to set one up. + +To install neural-lam in editable mode with development dependencies: + +```bash +python -m pip install --group dev -e . +``` + +To verify that the environment is working correctly, run: + +```bash +pytest +``` + +## Code Quality Any push or Pull-Request to the main branch will trigger a selection of pre-commit hooks. These hooks will run a series of checks on the code, like formatting and linting. If any of these checks fail the push or PR will be rejected.