Contributing Developers

Contributing Developers#

The canonical contribution policy is CONTRIBUTING.md. It defines repository boundaries, hooks, scientific-change requirements, validation, and pull-request expectations. AI coding agents must also follow the root AGENTS.md.

RESource is a published research tool. Changes should preserve traceability to the methodology described at https://doi.org/10.1016/j.energ.2026.100077 and clearly document intentional methodological changes.

Development workflow#

Create focused branches from the development line and reproduce the locked environment before editing:

uv sync --locked --all-extras
uv run pre-commit install --install-hooks
uv run pre-commit install --hook-type pre-push
uv run pytest

Code belongs under src/RESource; tests belong under tests. New public APIs use Google-style docstrings and type annotations. Before opening a pull request, run:

uv run ruff check src tests
uv run ruff format --check src tests
uv run pytest
uv build

When dependencies change, use uv add or uv remove and commit both pyproject.toml and uv.lock.

Maintainers should use the developer deployment guide for release validation, PyPI publication, documentation deployment, verification, and rollback.

Maintainer#

Md Eliasinul Islam (Elias)
PhD Researcher, Delta E+ Research Lab
Simon Fraser University, Canada


Feel free to connect 😊
Email: elias_islam@sfu.ca  |  GitHub: eliasinul  |  LinkedIn: eliasinul  |  Buy Me a Coffee