Contributing
Contributions are welcome! This document explains how to set up a development environment and contribute to narrativegraphs.
Development Setup
- Clone the repository:
- Install the package and dev tools with uv:
This creates .venv from the committed uv.lock. Prefix commands with uv run
(e.g. uv run pytest) or activate .venv yourself.
- Install pre-commit hooks:
Running Tests
Building Documentation
The docs tooling lives in the docs dependency group, which uv sync does not install by default.
Code Style
This project uses:
rufffor linting and formatting Python code- Type hints throughout (checked with
mypy) - Google-style docstrings
-
eslintfor linting React/TypeScript code andprettierfor formatting
Submitting Changes
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes with tests
- Run the test suite and linters
- Submit a pull request
Questions?
Open an issue on GitHub or reach out directly.