{"id":27969823,"url":"https://github.com/graspologic-org/graspologic-native","last_synced_at":"2025-05-07T21:54:47.530Z","repository":{"id":41295796,"uuid":"272818014","full_name":"graspologic-org/graspologic-native","owner":"graspologic-org","description":"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.","archived":false,"fork":false,"pushed_at":"2025-04-02T19:34:24.000Z","size":2647,"stargazers_count":17,"open_issues_count":8,"forks_count":9,"subscribers_count":7,"default_branch":"dev","last_synced_at":"2025-05-07T21:54:34.675Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/graspologic-org/graspologic","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/graspologic-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-16T21:42:32.000Z","updated_at":"2025-04-10T09:16:22.000Z","dependencies_parsed_at":"2024-05-13T20:40:25.617Z","dependency_job_id":"2660fba9-faae-477e-9d89-be5acf6ac676","html_url":"https://github.com/graspologic-org/graspologic-native","commit_stats":null,"previous_names":["graspologic-org/graspologic-native","microsoft/graspologic-native"],"tags_count":52,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graspologic-org%2Fgraspologic-native","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graspologic-org%2Fgraspologic-native/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graspologic-org%2Fgraspologic-native/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graspologic-org%2Fgraspologic-native/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graspologic-org","download_url":"https://codeload.github.com/graspologic-org/graspologic-native/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252961844,"owners_count":21832193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-07T21:54:47.052Z","updated_at":"2025-05-07T21:54:47.499Z","avatar_url":"https://github.com/graspologic-org.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# graspologic-native\r\n\r\n[graspologic](https://github.com/microsoft/graspologic) is a python package for graph statistics. \r\n\r\nSome functionality can be best served if compiled into a python native module, both for performance purposes and to \r\nshare that functionality with web assembly.\r\n\r\n`graspologic-native` is a repository that holds Rust packages. The core packages will be published as crate libraries, \r\nand a package using [pyo3](https://github.com/pyo3/pyo3) will expose the functionality of that library to Python.  \r\n\r\n## Requirements\r\n- Rust nightly 1.37+ (we are currently using 1.40)\r\n- Python 3.5+ (we are currently using 3.8)\r\n- 64 bit operating system\r\n\r\n## Published Versions\r\nWe currently build for x86_64 platforms only, Windows, macOS, and Ubuntu, for python versions 3.6 - 3.12.\r\n\r\n## Building\r\nIf 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.\r\n\r\nNote 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.\r\n\r\nBefore 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.\r\n\r\n```bash\r\nrustup default nightly\r\ngit clone git@github.com:microsoft/graspologic-native.git\r\ncd graspologic-native\r\npython3.8 -m venv venv\r\npip install -U pip setuptools wheel\r\npip install maturin\r\ncd packages/pyo3\r\nmaturin 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\"`\r\n```\r\n\r\nPresuming a successful build, your output wheel should be in: `graspologic-native/target/wheels/`\r\n\r\n## Contributing\r\n\r\nThis project welcomes contributions and suggestions. Most contributions require you to\r\nagree to a Contributor License Agreement (CLA) declaring that you have the right to,\r\nand actually do, grant us the rights to use your contribution. For details, visit\r\nhttps://cla.microsoft.com.\r\n\r\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need\r\nto provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the\r\ninstructions provided by the bot. You will only need to do this once across all repositories using our CLA.\r\n\r\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\r\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)\r\nor contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\r\n\r\n# Privacy\r\n\r\n`graspologic-native` does not collect, store, or transmit any information of any kind back to Microsoft.\r\n\r\nFor your convenience, here is the link to the general [Microsoft Privacy Statement](https://privacy.microsoft.com/en-us/privacystatement/). \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraspologic-org%2Fgraspologic-native","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraspologic-org%2Fgraspologic-native","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraspologic-org%2Fgraspologic-native/lists"}