Overview#

graphlow is a differentiable mesh-graph library built around one core idea: geometry and topology should be available through a single mesh object while still working with autograd-friendly tensor backends.

What contributors usually touch#

Depending on the change, you will usually work in one or more of these areas:

  • src/graphlow/core for the mesh container, topology wrapper, and geometry wrapper

  • src/graphlow/geometry for coordinate-dependent computations

  • src/graphlow/graph for sparse topology builders and mapping operators

  • tests for unit and end-to-end coverage

  • docs/source and examples for Sphinx documentation and gallery content

Contributor workflow in practice#

For most changes, the shortest reliable loop is:

  1. set up the development environment with uv

  2. make the code change

  3. run the relevant tests

  4. run lint checks

  5. rebuild the Sphinx docs if you touched public APIs, examples, or docs

Read this guide in that same order:

  1. Development setup

  2. Testing

  3. Lint and style

  4. Building docs

  5. Architecture

What this guide does not invent#

This guide intentionally focuses on what is already defined in the repository. It does not guess a pull request template, branching model, or release process that has not been documented yet.