
[](https://codecov.io/gh/aetperf/edsger)
[](https://edsger.readthedocs.io/en/latest/?badge=latest)
[](https://pypi.org/project/edsger/)
[](https://pepy.tech/project/edsger)
[](https://pypi.org/project/edsger/)
[](https://github.com/psf/black)
[](https://github.com/MarcoGorelli/cython-lint)
[](https://opensource.org/licenses/MIT)
# Edsger
*Graph algorithms in Cython*
Welcome to our Python library for graph algorithms. So far, the library only includes Dijkstra's algorithm but we should add a range of common path algorithms later. It is also open-source and easy to integrate with other Python libraries. To get started, simply install the library using pip, and import it into your Python project.
Documentation : [https://edsger.readthedocs.io/en/latest/](https://edsger.readthedocs.io/en/latest/)
## Small example : Dijkstra's Algorithm
To use Dijkstra's algorithm, you can import the `Dijkstra` class from the `path` module. The function takes a graph and a source node as input, and returns the shortest path from the source node to all other nodes in the graph.
```python
import pandas as pd
from edsger.path import Dijkstra
# Create a DataFrame with the edges of the graph
edges = pd.DataFrame({
'tail': [0, 0, 1, 2, 2, 3],
'head': [1, 2, 2, 3, 4, 4],
'weight': [1, 4, 2, 1.5, 3, 1]
})
edges
```
| | tail | head | weight |
|---:|-------:|-------:|---------:|
| 0 | 0 | 1 | 1.0 |
| 1 | 0 | 2 | 4.0 |
| 2 | 1 | 2 | 2.0 |
| 3 | 2 | 3 | 1.5 |
| 4 | 2 | 4 | 3.0 |
| 5 | 3 | 4 | 1.0 |
```python
# Initialize the Dijkstra object
dijkstra = Dijkstra(edges)
# Run the algorithm from a source vertex
shortest_paths = dijkstra.run(vertex_idx=0)
print("Shortest paths:", shortest_paths)
```
Shortest paths: [0. 1. 3. 4.5 5.5]
We get the shortest paths from the source node 0 to all other nodes in the graph. The output is an array with the shortest path length to each node. A path length is the sum of the weights of the edges in the path.
## Installation
### Standard Installation
```bash
pip install edsger
```
## Why Use Edsger?
Edsger is designed to be **dataframe-friendly**, providing seamless integration with pandas workflows for graph algorithms. Also it is rather efficient on Linux. Our benchmarks on the USA road network (23.9M vertices, 57.7M edges) demonstrate nice performance:
<img src="https://raw.githubusercontent.com/aetperf/edsger/release/docs/source/assets/dijkstra_benchmark_comparison.png" alt="Dijkstra Performance Comparison" width="700">
## Contributing
We welcome contributions to the Edsger library. If you have any suggestions, bug reports, or feature requests, please open an issue on our [GitHub repository](https://github.com/aetperf/Edsger).
## License
Edsger is licensed under the MIT License. See the LICENSE file for more details.
## Contact
For any questions or inquiries, please contact François Pacull at [francois.pacull@architecture-performance.fr](mailto:francois.pacull@architecture-performance.fr).
Raw data
{
"_id": null,
"home_page": null,
"name": "edsger",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "Fran\u00e7ois Pacull <francois.pacull@architecture-performance.fr>",
"keywords": "python, graph, shortest path, Dijkstra",
"author": null,
"author_email": "Fran\u00e7ois Pacull <francois.pacull@architecture-performance.fr>",
"download_url": "https://files.pythonhosted.org/packages/11/e1/da0367ca5bbc92cd7791aacbaa94a4291e0e16fe8f259709e5b5a6c2f458/edsger-0.1.4.tar.gz",
"platform": "any",
"description": "\n\n[](https://codecov.io/gh/aetperf/edsger)\n[](https://edsger.readthedocs.io/en/latest/?badge=latest)\n[](https://pypi.org/project/edsger/)\n[](https://pepy.tech/project/edsger)\n[](https://pypi.org/project/edsger/)\n[](https://github.com/psf/black)\n[](https://github.com/MarcoGorelli/cython-lint)\n[](https://opensource.org/licenses/MIT)\n\n# Edsger\n\n*Graph algorithms in Cython*\n\nWelcome to our Python library for graph algorithms. So far, the library only includes Dijkstra's algorithm but we should add a range of common path algorithms later. It is also open-source and easy to integrate with other Python libraries. To get started, simply install the library using pip, and import it into your Python project.\n\nDocumentation : [https://edsger.readthedocs.io/en/latest/](https://edsger.readthedocs.io/en/latest/)\n\n## Small example : Dijkstra's Algorithm\n\nTo use Dijkstra's algorithm, you can import the `Dijkstra` class from the `path` module. The function takes a graph and a source node as input, and returns the shortest path from the source node to all other nodes in the graph.\n\n```python\nimport pandas as pd\n\nfrom edsger.path import Dijkstra\n\n# Create a DataFrame with the edges of the graph\nedges = pd.DataFrame({\n 'tail': [0, 0, 1, 2, 2, 3],\n 'head': [1, 2, 2, 3, 4, 4],\n 'weight': [1, 4, 2, 1.5, 3, 1]\n})\nedges\n```\n\n| | tail | head | weight |\n|---:|-------:|-------:|---------:|\n| 0 | 0 | 1 | 1.0 |\n| 1 | 0 | 2 | 4.0 |\n| 2 | 1 | 2 | 2.0 |\n| 3 | 2 | 3 | 1.5 |\n| 4 | 2 | 4 | 3.0 |\n| 5 | 3 | 4 | 1.0 |\n\n```python\n# Initialize the Dijkstra object\ndijkstra = Dijkstra(edges)\n\n# Run the algorithm from a source vertex\nshortest_paths = dijkstra.run(vertex_idx=0)\nprint(\"Shortest paths:\", shortest_paths)\n```\n\n Shortest paths: [0. 1. 3. 4.5 5.5]\n\nWe get the shortest paths from the source node 0 to all other nodes in the graph. The output is an array with the shortest path length to each node. A path length is the sum of the weights of the edges in the path.\n\n## Installation\n\n### Standard Installation\n\n```bash\npip install edsger\n```\n\n## Why Use Edsger?\n\nEdsger is designed to be **dataframe-friendly**, providing seamless integration with pandas workflows for graph algorithms. Also it is rather efficient on Linux. Our benchmarks on the USA road network (23.9M vertices, 57.7M edges) demonstrate nice performance:\n\n<img src=\"https://raw.githubusercontent.com/aetperf/edsger/release/docs/source/assets/dijkstra_benchmark_comparison.png\" alt=\"Dijkstra Performance Comparison\" width=\"700\">\n\n## Contributing\n\nWe welcome contributions to the Edsger library. If you have any suggestions, bug reports, or feature requests, please open an issue on our [GitHub repository](https://github.com/aetperf/Edsger).\n\n## License\n\nEdsger is licensed under the MIT License. See the LICENSE file for more details.\n\n## Contact\n\nFor any questions or inquiries, please contact Fran\u00e7ois Pacull at [francois.pacull@architecture-performance.fr](mailto:francois.pacull@architecture-performance.fr).\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Graph algorithms in Cython.",
"version": "0.1.4",
"project_urls": {
"Documentation": "https://edsger.readthedocs.io",
"Repository": "https://github.com/aetperf/Edsger"
},
"split_keywords": [
"python",
" graph",
" shortest path",
" dijkstra"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "1d035d43ba4c3a945d09bf3b7be6731a3eb0a17ca2271870cfc487bf9b52470c",
"md5": "1aa67109833107f739d8442fd7aa8295",
"sha256": "a4bd3ebdeb59d42c5e99f8c2ce65958b02e6beb179b80854e6e86bdecc4aba59"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "1aa67109833107f739d8442fd7aa8295",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1404908,
"upload_time": "2025-08-05T09:32:23",
"upload_time_iso_8601": "2025-08-05T09:32:23.792973Z",
"url": "https://files.pythonhosted.org/packages/1d/03/5d43ba4c3a945d09bf3b7be6731a3eb0a17ca2271870cfc487bf9b52470c/edsger-0.1.4-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0b7ea8a9fc0936a6bec6ce4e28516ae1230310dbe3a3d808b4e5b009f0e1be14",
"md5": "9432cb5db4190420098b84651142699f",
"sha256": "48b5d80e7d3be6710a71cc60da92c5f831d6366c24cfbd99f9d526683ea063c6"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9432cb5db4190420098b84651142699f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1374411,
"upload_time": "2025-08-05T09:32:25",
"upload_time_iso_8601": "2025-08-05T09:32:25.242747Z",
"url": "https://files.pythonhosted.org/packages/0b/7e/a8a9fc0936a6bec6ce4e28516ae1230310dbe3a3d808b4e5b009f0e1be14/edsger-0.1.4-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "31ede7d385e759f31620c0c8e30a6c0eb4c4a7218f0a26782263599989e1b83a",
"md5": "714939568610a95e2d3e88bb27c3439c",
"sha256": "0bd78ce4fc3fd5533277eff49f75b27d90667fbdb34ec5cc9285af5b618a44d0"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "714939568610a95e2d3e88bb27c3439c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 3549916,
"upload_time": "2025-08-05T09:32:26",
"upload_time_iso_8601": "2025-08-05T09:32:26.664004Z",
"url": "https://files.pythonhosted.org/packages/31/ed/e7d385e759f31620c0c8e30a6c0eb4c4a7218f0a26782263599989e1b83a/edsger-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e009979836e8c2b1a152888f02b2d8cb03ec316ce09089904497bdb5fe58ba07",
"md5": "a6a5c1f3a58e0cdb3bd2b1c350cf7153",
"sha256": "3e538185926c70cddc008def7b174fa128869ff87f7fa63716b32316ea1d42be"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp310-cp310-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "a6a5c1f3a58e0cdb3bd2b1c350cf7153",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1802708,
"upload_time": "2025-08-05T09:32:30",
"upload_time_iso_8601": "2025-08-05T09:32:30.372918Z",
"url": "https://files.pythonhosted.org/packages/e0/09/979836e8c2b1a152888f02b2d8cb03ec316ce09089904497bdb5fe58ba07/edsger-0.1.4-cp310-cp310-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4161adefad8dffd386bc4f70b62df1694d686d4450a099ea9ed18980b4e52b4e",
"md5": "9769a0be98ccae8d13b3b10cdc2c7122",
"sha256": "1f1957aee14e6ed0cefa3f465f77415c7c13eddf8d970c979f968b143488af01"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "9769a0be98ccae8d13b3b10cdc2c7122",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 367742,
"upload_time": "2025-08-05T09:32:31",
"upload_time_iso_8601": "2025-08-05T09:32:31.949879Z",
"url": "https://files.pythonhosted.org/packages/41/61/adefad8dffd386bc4f70b62df1694d686d4450a099ea9ed18980b4e52b4e/edsger-0.1.4-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e4b5f4124d844f2a2c6dae324c0d9a9c6b6e0fd6affefe43ca5a59f3c24168d6",
"md5": "7b07a02eb9c9002ceb86bd5d2c85875f",
"sha256": "bc2c017fd3757c55034f09636397f40e778474ad55f8167facde41436c97f142"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "7b07a02eb9c9002ceb86bd5d2c85875f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 443662,
"upload_time": "2025-08-05T09:32:33",
"upload_time_iso_8601": "2025-08-05T09:32:33.228388Z",
"url": "https://files.pythonhosted.org/packages/e4/b5/f4124d844f2a2c6dae324c0d9a9c6b6e0fd6affefe43ca5a59f3c24168d6/edsger-0.1.4-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "355afd3b006b21964d1ff57147f024a20cad6cca4b226c4b11d4114051ec30b7",
"md5": "058b625cb15e8e76a42d0f551d265d96",
"sha256": "12cce4d2e4a6b27dbf52ef8381dd9c2a3b7dda372e9e25bb08c07709b1e48e5c"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "058b625cb15e8e76a42d0f551d265d96",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1403843,
"upload_time": "2025-08-05T09:32:34",
"upload_time_iso_8601": "2025-08-05T09:32:34.731828Z",
"url": "https://files.pythonhosted.org/packages/35/5a/fd3b006b21964d1ff57147f024a20cad6cca4b226c4b11d4114051ec30b7/edsger-0.1.4-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "73c9f134718aa1454b59f699cf97997adba49297b7e42c64e1c437cc16ec368e",
"md5": "6ac41b40baf37c8e712099420e806359",
"sha256": "dc17a114879d6b8640b3e5ce874b0afa94bc27bd4b464f5b8646036f3bb3324e"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "6ac41b40baf37c8e712099420e806359",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1374329,
"upload_time": "2025-08-05T09:32:36",
"upload_time_iso_8601": "2025-08-05T09:32:36.323276Z",
"url": "https://files.pythonhosted.org/packages/73/c9/f134718aa1454b59f699cf97997adba49297b7e42c64e1c437cc16ec368e/edsger-0.1.4-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c8789f0ced307bb7eb2d728153940e30129c9c6215194cffe5002ea8ac8adfca",
"md5": "f642f827ad2f062f4e8730000fda05ea",
"sha256": "e597c484bd8969adb2db3754c90494e1a2699d901165a15543751ea368978038"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "f642f827ad2f062f4e8730000fda05ea",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 3664528,
"upload_time": "2025-08-05T09:32:37",
"upload_time_iso_8601": "2025-08-05T09:32:37.545146Z",
"url": "https://files.pythonhosted.org/packages/c8/78/9f0ced307bb7eb2d728153940e30129c9c6215194cffe5002ea8ac8adfca/edsger-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "386484e6982d61bafd06393f0dde6651c142a68d5e1b8f3feb0199d1e8a71c97",
"md5": "14db36b33952a73e3a0628f1d26f54a3",
"sha256": "57780488bf7c1d5fb814665a96808efbf16276242b8749fead2058102ce90419"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp311-cp311-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "14db36b33952a73e3a0628f1d26f54a3",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1808828,
"upload_time": "2025-08-05T09:32:38",
"upload_time_iso_8601": "2025-08-05T09:32:38.940230Z",
"url": "https://files.pythonhosted.org/packages/38/64/84e6982d61bafd06393f0dde6651c142a68d5e1b8f3feb0199d1e8a71c97/edsger-0.1.4-cp311-cp311-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7875d7efc3e22bec93a6ea6a3fb3fab677d74ebbea3b59d42fff7a5d26af8156",
"md5": "eed586c706ee672128b230e93aa51c89",
"sha256": "6f6da521d5ebbcd960c3b0ba55c340340bca30fd975e30c67fae2153a0eaf364"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "eed586c706ee672128b230e93aa51c89",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 365622,
"upload_time": "2025-08-05T09:32:40",
"upload_time_iso_8601": "2025-08-05T09:32:40.157065Z",
"url": "https://files.pythonhosted.org/packages/78/75/d7efc3e22bec93a6ea6a3fb3fab677d74ebbea3b59d42fff7a5d26af8156/edsger-0.1.4-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9938b8b0b4aba38199c26fe5a050db86366d7b0f7f7823faa0950c361781ab86",
"md5": "cfd29e9ce5c919afc8bcfe49d269d65c",
"sha256": "2dc5df5a0dffdf02272a2abeaf5d45e3d031c74edc032b736316ccc0813da42a"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "cfd29e9ce5c919afc8bcfe49d269d65c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 442498,
"upload_time": "2025-08-05T09:32:41",
"upload_time_iso_8601": "2025-08-05T09:32:41.668116Z",
"url": "https://files.pythonhosted.org/packages/99/38/b8b0b4aba38199c26fe5a050db86366d7b0f7f7823faa0950c361781ab86/edsger-0.1.4-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b780501c7e7021b7506f2900495f2e51d054f25e91cf6053b663dc4bff8bf67d",
"md5": "61c45cf95b3cacc1b924d4135f7ed137",
"sha256": "be99b4736ac388105b0e59314503408634523978622292e94548cc062aeacaad"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp312-cp312-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "61c45cf95b3cacc1b924d4135f7ed137",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1394836,
"upload_time": "2025-08-05T09:32:42",
"upload_time_iso_8601": "2025-08-05T09:32:42.863053Z",
"url": "https://files.pythonhosted.org/packages/b7/80/501c7e7021b7506f2900495f2e51d054f25e91cf6053b663dc4bff8bf67d/edsger-0.1.4-cp312-cp312-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "af9d01b517e1d6325fc1dd6918929e1aa479482de0036d22ee23f3128f3ac991",
"md5": "f9fb5f0c08c9e0ac2f69d4c540ed5964",
"sha256": "fc818e20c6d9685287090bd16f904fb258468d2247846e0a0552bf7bf966901a"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "f9fb5f0c08c9e0ac2f69d4c540ed5964",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1367629,
"upload_time": "2025-08-05T09:32:44",
"upload_time_iso_8601": "2025-08-05T09:32:44.136920Z",
"url": "https://files.pythonhosted.org/packages/af/9d/01b517e1d6325fc1dd6918929e1aa479482de0036d22ee23f3128f3ac991/edsger-0.1.4-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "10bc1d19015e5e05da4b83c29f2d51df9bd63295cdb025f0034a1989016322df",
"md5": "16810d0e54f6d84dcd46cd7e44a35c61",
"sha256": "25397be8b18e1b096185af344bf14b32eb710ca61dddf1d2bc614d48bcc9d7ec"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "16810d0e54f6d84dcd46cd7e44a35c61",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 3648897,
"upload_time": "2025-08-05T09:32:45",
"upload_time_iso_8601": "2025-08-05T09:32:45.433338Z",
"url": "https://files.pythonhosted.org/packages/10/bc/1d19015e5e05da4b83c29f2d51df9bd63295cdb025f0034a1989016322df/edsger-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "13b0e6c4b6edae3fa9cf3d55905b45ffb96522fa19cc5169688f45111f7eb99f",
"md5": "9e35de16a8ead6c51a1f4eec1e5b55f1",
"sha256": "73f06d9507d1166aba8dcef3320a5a74dc5cdb72e9fd87b78c2c7bf45102480c"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp312-cp312-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "9e35de16a8ead6c51a1f4eec1e5b55f1",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1767831,
"upload_time": "2025-08-05T09:32:46",
"upload_time_iso_8601": "2025-08-05T09:32:46.749643Z",
"url": "https://files.pythonhosted.org/packages/13/b0/e6c4b6edae3fa9cf3d55905b45ffb96522fa19cc5169688f45111f7eb99f/edsger-0.1.4-cp312-cp312-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "68df7b7564d5be899a7e4b3f1676d80f33fbbdc80ef22693032f75e4a1447402",
"md5": "d40189747779f1462c7c4f451e7f8c99",
"sha256": "1af83ea6900560d8251745bbed9e8ba6dafd59b1242b2b21a563f21f61eb2ecf"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "d40189747779f1462c7c4f451e7f8c99",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 359644,
"upload_time": "2025-08-05T09:32:47",
"upload_time_iso_8601": "2025-08-05T09:32:47.964005Z",
"url": "https://files.pythonhosted.org/packages/68/df/7b7564d5be899a7e4b3f1676d80f33fbbdc80ef22693032f75e4a1447402/edsger-0.1.4-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "edf389357bf54e7c4138bb276cd6827d82f6fee9a363a3088cca9ff7975b99da",
"md5": "315483f62b258e97c3a502267054b165",
"sha256": "cb49721338b3cf731a44fc1dd8d77e70ac2c7b8bb759d0097324e27836dff99e"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "315483f62b258e97c3a502267054b165",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 435947,
"upload_time": "2025-08-05T09:32:49",
"upload_time_iso_8601": "2025-08-05T09:32:49.269488Z",
"url": "https://files.pythonhosted.org/packages/ed/f3/89357bf54e7c4138bb276cd6827d82f6fee9a363a3088cca9ff7975b99da/edsger-0.1.4-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a5550b398eb6a9ee51f55d4757421c84e7d41b0640409d27268c136fa009d8c0",
"md5": "037bf434ea9d22da1a63031d34cd0101",
"sha256": "9f2f1d2c67d539b0e87b29405c78fc59cea1bdc9d2bc6264caef5cc861bc5775"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "037bf434ea9d22da1a63031d34cd0101",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1409550,
"upload_time": "2025-08-05T09:32:50",
"upload_time_iso_8601": "2025-08-05T09:32:50.746250Z",
"url": "https://files.pythonhosted.org/packages/a5/55/0b398eb6a9ee51f55d4757421c84e7d41b0640409d27268c136fa009d8c0/edsger-0.1.4-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f3a0f9a08ba42ddaa49cf0fd4a76f866b26ba05d58380cd3dba83e524b64d519",
"md5": "83d1bf68437fdd8cff55c21ac61e1c10",
"sha256": "ee39551bfd96562b33ca2fb6c4c9a712c8f165e6f383cb5a034cc28052451e1a"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "83d1bf68437fdd8cff55c21ac61e1c10",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1378030,
"upload_time": "2025-08-05T09:32:51",
"upload_time_iso_8601": "2025-08-05T09:32:51.978936Z",
"url": "https://files.pythonhosted.org/packages/f3/a0/f9a08ba42ddaa49cf0fd4a76f866b26ba05d58380cd3dba83e524b64d519/edsger-0.1.4-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b13260e0fecc07d67ec4f543d81adbbcfefef9ce09ebda5a4345d4f9d85d8ac3",
"md5": "9aefa17d7008fd391bacfdc34d07a8f1",
"sha256": "4267eef851c422a63716802b0aaa792b7a45a4b7f7b53dc92d9823d3941a6620"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9aefa17d7008fd391bacfdc34d07a8f1",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 3550204,
"upload_time": "2025-08-05T09:32:53",
"upload_time_iso_8601": "2025-08-05T09:32:53.255586Z",
"url": "https://files.pythonhosted.org/packages/b1/32/60e0fecc07d67ec4f543d81adbbcfefef9ce09ebda5a4345d4f9d85d8ac3/edsger-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fc17a0361a584451e73bb9d3a1b696110815312a3cc7d2e7ad10abb7644c2c20",
"md5": "832ea0230d6dc743c473e002975e4ccf",
"sha256": "f35f00961993a744d8923f8f9485f6717864312c51d11669e07ef76581632e88"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp39-cp39-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "832ea0230d6dc743c473e002975e4ccf",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1807124,
"upload_time": "2025-08-05T09:32:54",
"upload_time_iso_8601": "2025-08-05T09:32:54.588566Z",
"url": "https://files.pythonhosted.org/packages/fc/17/a0361a584451e73bb9d3a1b696110815312a3cc7d2e7ad10abb7644c2c20/edsger-0.1.4-cp39-cp39-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8d617db7cad62e44292e43163549d40bd757dd8eab8d5bca826d9130c205e3e6",
"md5": "09e67f43e2b58bd016e4b4b54a33fd39",
"sha256": "dcf5ab780cc0a774251262928c9e40311c645f7237c0ef4f3e30831936e30527"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "09e67f43e2b58bd016e4b4b54a33fd39",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 370144,
"upload_time": "2025-08-05T09:32:55",
"upload_time_iso_8601": "2025-08-05T09:32:55.924671Z",
"url": "https://files.pythonhosted.org/packages/8d/61/7db7cad62e44292e43163549d40bd757dd8eab8d5bca826d9130c205e3e6/edsger-0.1.4-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fbb1fea0e3789859fa175af100489878092c440b7ce50005f08e360a936c68ac",
"md5": "6b13b17eba775cdc3021230f7d370c3f",
"sha256": "7df7fea13a3963efb18310316833ea68fc582443f66d1660beaa6376086e6c95"
},
"downloads": -1,
"filename": "edsger-0.1.4-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "6b13b17eba775cdc3021230f7d370c3f",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 446285,
"upload_time": "2025-08-05T09:32:57",
"upload_time_iso_8601": "2025-08-05T09:32:57.155913Z",
"url": "https://files.pythonhosted.org/packages/fb/b1/fea0e3789859fa175af100489878092c440b7ce50005f08e360a936c68ac/edsger-0.1.4-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "11e1da0367ca5bbc92cd7791aacbaa94a4291e0e16fe8f259709e5b5a6c2f458",
"md5": "ba9d6b0e732ae4cbe02bf5755d4de0a2",
"sha256": "0cd9442e3cc60b524a9debc66b890ce55eedd7587de8a50f5fce422a2e46c6e7"
},
"downloads": -1,
"filename": "edsger-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "ba9d6b0e732ae4cbe02bf5755d4de0a2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 1099783,
"upload_time": "2025-08-05T09:32:58",
"upload_time_iso_8601": "2025-08-05T09:32:58.688927Z",
"url": "https://files.pythonhosted.org/packages/11/e1/da0367ca5bbc92cd7791aacbaa94a4291e0e16fe8f259709e5b5a6c2f458/edsger-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-05 09:32:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "aetperf",
"github_project": "Edsger",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "setuptools",
"specs": []
},
{
"name": "setuptools_scm",
"specs": []
},
{
"name": "numpy",
"specs": [
[
">=",
"1.26"
]
]
},
{
"name": "Cython",
"specs": [
[
">=",
"3"
]
]
},
{
"name": "pandas",
"specs": []
}
],
"lcname": "edsger"
}