- Notifications
You must be signed in to change notification settings - Fork9
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.
License
graspologic-org/graspologic-native
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
graspologic is a python package for graph statistics.
Some functionality can be best served if compiled into a python native module, both for performance purposes and toshare that functionality with web assembly.
graspologic-native
is a repository that holds Rust packages. The core packages will be published as crate libraries,and a package usingpyo3 will expose the functionality of that library to Python.
- Rust nightly 1.37+ (we are currently using 1.40)
- Python 3.5+ (we are currently using 3.8)
- 64 bit operating system
We currently build for x86_64 platforms only, Windows, macOS, and Ubuntu, for python versions 3.6 - 3.12.
If for any reason, the published wheels do not match your architecture or if you have a particularly old version of glibc that isn't sufficiently accounted for in our current build matrix, or you just want to build it yourself, the following build instructions should help.
Note that these instructions are for Linux specifically, though they also should work for MacOS. Unfortunately, the instructions for Windows are a bit more convoluted and I will comment the sections that deviate between the three, as I'm aware of issues.
Before running these instructions, ensure you have installed Rust on your system and you have the Python development headers (e.g.python3.8-dev
) for your system.
rustup default nightlygit clone git@github.com:microsoft/graspologic-native.gitcd graspologic-nativepython3.8 -m venv venvpip install -U pip setuptools wheelpip install maturincd packages/pyo3maturin build --release -i python3.8# this is where things break on windows. instead of `python3.8` here, you will need the full path to the correct python.exe on your windows machine, something like `-i "C:\python38\bin\python.exe"`
Presuming a successful build, your output wheel should be in:graspologic-native/target/wheels/
This project welcomes contributions and suggestions. Most contributions require you toagree to a Contributor License Agreement (CLA) declaring that you have the right to,and actually do, grant us the rights to use your contribution. For details, visithttps://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you needto provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow theinstructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted theMicrosoft Open Source Code of Conduct.For more information see theCode of Conduct FAQor contactopencode@microsoft.com with any additional questions or comments.
graspologic-native
does not collect, store, or transmit any information of any kind back to Microsoft.
For your convenience, here is the link to the generalMicrosoft Privacy Statement.
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
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors8
Uh oh!
There was an error while loading.Please reload this page.