Contributing

We welcome your feedback and contributions to make GraphRAG better and more accessible for everyone!

If you’d like to contribute:

  1. Fork the repository and create a new branch for your feature or fix

  2. Squash your commits for a clean history

  3. Ensure all unit tests pass (running functional and integration tests is also highly recommended)

  4. Submit a pull request with a clear description of your changes

For bugs, feature requests, or questions, please open an issue on our GitHub repository.

Running Tests

This project uses pytest for testing. Tests are organized in three categories:

  • Unit tests: Basic component testing

  • Integration tests: Testing interaction between components - you will need an Aura free instance and OpenAI key configured in a .env file.

  • Functional tests: More comprehensive End-to-end testing of features - you will need an Aura free instance and OpenAI key configured in a .env file.

Running Tests with Poetry

# Run all tests
poetry run pytest tests -v

# Run only unit tests
poetry run pytest tests/unit -v

# Run only integration tests
poetry run pytest tests/integration -v

# Run only functional tests
poetry run pytest tests/functional -v

# Run a specific test file
poetry run pytest tests/unit/test_specific_file.py -v

# Run a specific test function
poetry run pytest tests/unit/test_file.py::test_function -v

# Run tests with specific pattern matching
poetry run pytest tests/unit -k "pattern" -v

Additional pytest options:

  • -v: Verbose output

  • -k "pattern": Only run tests matching the pattern

  • --tb=native: Display full traceback

  • -x: Stop after first failure