Skip to content

graspologic-org/graspologic-native

Repository files navigation

graspologic-native

graspologic is a Python package for graph statistics.

Some functionality is best served compiled into a native Python extension module for performance. graspologic-native holds the Rust implementation of the Leiden community detection algorithm, exposed to Python via PyO3 and built with maturin.

Requirements

  • Rust stable (edition 2024)
  • Python 3.9+
  • uv
  • 64-bit operating system

Published Versions

We build wheels for x86_64 and aarch64 on Linux, macOS (universal2), and Windows, for Python 3.9–3.13.

Building

If the published wheels don't match your platform, or you want to build from source:

git clone git@github.com:graspologic-org/graspologic-native.git
cd graspologic-native/packages/pyo3
uv build

The output wheel will be in dist/.

To install in a local virtual environment for development:

cd graspologic-native/packages/pyo3
uv sync
uv pip install -e .

Testing

cd packages/pyo3
uv run python -m unittest

Contributing

This project welcomes contributions and suggestions. Please open an issue or pull request on GitHub.

Privacy

graspologic-native does not collect, store, or transmit any information of any kind.

About

graspologic-native is a library of rust components to add additional capability to graspologic a python library for intelligently building networks and network embeddings, and for analyzing connected data.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors