edsger


Nameedsger JSON
Version 0.1.4 PyPI version JSON
download
home_pageNone
SummaryGraph algorithms in Cython.
upload_time2025-08-05 09:32:58
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT License
keywords python graph shortest path dijkstra
VCS
bugtrack_url
requirements setuptools setuptools_scm numpy Cython pandas
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
![Tests Status](https://github.com/aetperf/edsger/actions/workflows/tests.yml/badge.svg?branch=release)
[![codecov](https://codecov.io/gh/aetperf/edsger/branch/release/graph/badge.svg)](https://codecov.io/gh/aetperf/edsger)
[![Documentation Status](https://readthedocs.org/projects/edsger/badge/?version=latest)](https://edsger.readthedocs.io/en/latest/?badge=latest)
[![PyPI version](https://img.shields.io/pypi/v/edsger.svg?refresh=1)](https://pypi.org/project/edsger/)
[![Downloads](https://static.pepy.tech/badge/edsger)](https://pepy.tech/project/edsger)
[![Python 3.9 | 3.10 | 3.11 | 3.12 | 3.13](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue)](https://pypi.org/project/edsger/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Cython lint: cython-lint](https://img.shields.io/badge/cython--lint-enabled-brightgreen.svg)](https://github.com/MarcoGorelli/cython-lint)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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![Tests Status](https://github.com/aetperf/edsger/actions/workflows/tests.yml/badge.svg?branch=release)\n[![codecov](https://codecov.io/gh/aetperf/edsger/branch/release/graph/badge.svg)](https://codecov.io/gh/aetperf/edsger)\n[![Documentation Status](https://readthedocs.org/projects/edsger/badge/?version=latest)](https://edsger.readthedocs.io/en/latest/?badge=latest)\n[![PyPI version](https://img.shields.io/pypi/v/edsger.svg?refresh=1)](https://pypi.org/project/edsger/)\n[![Downloads](https://static.pepy.tech/badge/edsger)](https://pepy.tech/project/edsger)\n[![Python 3.9 | 3.10 | 3.11 | 3.12 | 3.13](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue)](https://pypi.org/project/edsger/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Cython lint: cython-lint](https://img.shields.io/badge/cython--lint-enabled-brightgreen.svg)](https://github.com/MarcoGorelli/cython-lint)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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"
}
        
Elapsed time: 0.86734s