tspgrasp


Nametspgrasp JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/bruscalia/tsp-grasp
SummaryGRASP for TSP
upload_time2023-11-19 20:34:28
maintainer
docs_urlNone
authorBruno Scalia C. F. Leite
requires_python
licenseApache License 2.0
keywords traveling salesman problem tsp greedy randomized adaptive search procedures heuristics metaheuristics meta-heuristics greedy algorithms local search variable neighborhood search simulated annealing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # tsp-grasp

Welcome to `tsp-grasp`! A Python package with Heuristics for solving the Traveling Salesman Problem (TSP).

[Documentation](https://tsp-grasp.readthedocs.io/en/latest/)

<p align="center">
  <img src="./assets/grasp_arc_horizontal.gif" width="600" title="icon tsp">
</p>

## Install

The package `tspgrasp` is available on PyPI, so you can install it via `pip` by running the following command line:

```
pip install tspgrasp
```

To install the package in development versions, clone it from github using:

```
git clone https://github.com/bruscalia/tsp-grasp.git
```

And run one of the two following commands:

```
pip install .
```

```
python setup.py install
```

Make sure Cython and numpy are also available in your python environment.

Alternatively, you can directly run:

```
pip install git+https://github.com/bruscalia/tsp-grasp.git
```

Here is a minimum working example in which a symmetric distance matrix is produced from 2-dimensional coordinates.

## Use

```python
# Imports
import numpy as np
from scipy.spatial.distance import pdist, squareform
from tspgrasp import Grasp
```

```python
# Create distance matrix
X = np.random.random((100, 2))
D = squareform(pdist(X))

# Instantiate algorithm and solve problem
grasp = Grasp(seed=12)
sol = grasp(D, time_limit=10, max_iter=100)

# Display cost and tour
print(f"Cost: {sol.cost}")
print(f"Tour: {sol.tour}")
```

## Theory

Greedy Randomized Adaptive Search Procedures (GRASP) are metaheuristics constituted by a hybridization of a semi-greedy procedure with a local search method. For more details please refer to Resende & Ribeiro (2016).

Local search moves implemented were based on the work of Vidal (2022).


## Contact

You can reach out to me at bruscalia12@gmail.com

## References

Resende, M. G., & Ribeiro, C. C. (2016). Optimization by GRASP. Springer Science+ Business Media New York. https://doi.org/10.1007/978-1-4939-6530-4

Vidal, T. (2022). Hybrid genetic search for the CVRP: Open-source implementation and SWAP* neighborhood. Computers & Operations Research, 140, 105643. https://doi.org/10.1016/j.cor.2021.105643

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/bruscalia/tsp-grasp",
    "name": "tspgrasp",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "Traveling Salesman Problem,TSP,Greedy Randomized Adaptive Search Procedures,Heuristics,Metaheuristics,Meta-heuristics,Greedy Algorithms,Local Search,Variable Neighborhood Search,Simulated Annealing",
    "author": "Bruno Scalia C. F. Leite",
    "author_email": "bruscalia12@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/11/37/6312b2005f94bb791ae0ed1ac8c416989af2cedd885e7e1e0c8229293167/tspgrasp-0.1.1.tar.gz",
    "platform": null,
    "description": "# tsp-grasp\n\nWelcome to `tsp-grasp`! A Python package with Heuristics for solving the Traveling Salesman Problem (TSP).\n\n[Documentation](https://tsp-grasp.readthedocs.io/en/latest/)\n\n<p align=\"center\">\n  <img src=\"./assets/grasp_arc_horizontal.gif\" width=\"600\" title=\"icon tsp\">\n</p>\n\n## Install\n\nThe package `tspgrasp` is available on PyPI, so you can install it via `pip` by running the following command line:\n\n```\npip install tspgrasp\n```\n\nTo install the package in development versions, clone it from github using:\n\n```\ngit clone https://github.com/bruscalia/tsp-grasp.git\n```\n\nAnd run one of the two following commands:\n\n```\npip install .\n```\n\n```\npython setup.py install\n```\n\nMake sure Cython and numpy are also available in your python environment.\n\nAlternatively, you can directly run:\n\n```\npip install git+https://github.com/bruscalia/tsp-grasp.git\n```\n\nHere is a minimum working example in which a symmetric distance matrix is produced from 2-dimensional coordinates.\n\n## Use\n\n```python\n# Imports\nimport numpy as np\nfrom scipy.spatial.distance import pdist, squareform\nfrom tspgrasp import Grasp\n```\n\n```python\n# Create distance matrix\nX = np.random.random((100, 2))\nD = squareform(pdist(X))\n\n# Instantiate algorithm and solve problem\ngrasp = Grasp(seed=12)\nsol = grasp(D, time_limit=10, max_iter=100)\n\n# Display cost and tour\nprint(f\"Cost: {sol.cost}\")\nprint(f\"Tour: {sol.tour}\")\n```\n\n## Theory\n\nGreedy Randomized Adaptive Search Procedures (GRASP) are metaheuristics constituted by a hybridization of a semi-greedy procedure with a local search method. For more details please refer to Resende & Ribeiro (2016).\n\nLocal search moves implemented were based on the work of Vidal (2022).\n\n\n## Contact\n\nYou can reach out to me at bruscalia12@gmail.com\n\n## References\n\nResende, M. G., & Ribeiro, C. C. (2016). Optimization by GRASP. Springer Science+ Business Media New York. https://doi.org/10.1007/978-1-4939-6530-4\n\nVidal, T. (2022). Hybrid genetic search for the CVRP: Open-source implementation and SWAP* neighborhood. Computers & Operations Research, 140, 105643. https://doi.org/10.1016/j.cor.2021.105643\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "GRASP for TSP",
    "version": "0.1.1",
    "project_urls": {
        "Download": "https://github.com/bruscalia/tsp-grasp",
        "Homepage": "https://github.com/bruscalia/tsp-grasp"
    },
    "split_keywords": [
        "traveling salesman problem",
        "tsp",
        "greedy randomized adaptive search procedures",
        "heuristics",
        "metaheuristics",
        "meta-heuristics",
        "greedy algorithms",
        "local search",
        "variable neighborhood search",
        "simulated annealing"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3656f83c7a6e9d04d6c9df0bcc85f5823dbe2c9cb8113972406ee600fff9cb55",
                "md5": "8d0eb3686bafa0baa3479c79f430cde7",
                "sha256": "671868834d4f33cd8c7fb141240bb7debfc5fc6c02b2586a9f56241c2502c3aa"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8d0eb3686bafa0baa3479c79f430cde7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 584241,
            "upload_time": "2023-11-19T20:33:53",
            "upload_time_iso_8601": "2023-11-19T20:33:53.200061Z",
            "url": "https://files.pythonhosted.org/packages/36/56/f83c7a6e9d04d6c9df0bcc85f5823dbe2c9cb8113972406ee600fff9cb55/tspgrasp-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "04098f5c671f15db3ea002afc7b03a3be60b1068689772ffe2aed7bb45c10f92",
                "md5": "355bf35c253f813a343060a7202c8d1b",
                "sha256": "2915d5079414c1e97c94ca16adf632c78ce7be4291c7e9d585e2ec070a5ccecd"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "355bf35c253f813a343060a7202c8d1b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 3523821,
            "upload_time": "2023-11-19T20:33:55",
            "upload_time_iso_8601": "2023-11-19T20:33:55.551546Z",
            "url": "https://files.pythonhosted.org/packages/04/09/8f5c671f15db3ea002afc7b03a3be60b1068689772ffe2aed7bb45c10f92/tspgrasp-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dcb3467fc24ce8849dab218a47c5cdc99ee6eb8b2f08136aa02d600d4e0d9b94",
                "md5": "2179e47672490866fdc06b29d9deb34f",
                "sha256": "8deb10cd2035a188be2bbb1fb1fa735dc72ceda45bd1974620891aa28f6be556"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2179e47672490866fdc06b29d9deb34f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 516488,
            "upload_time": "2023-11-19T20:33:57",
            "upload_time_iso_8601": "2023-11-19T20:33:57.588154Z",
            "url": "https://files.pythonhosted.org/packages/dc/b3/467fc24ce8849dab218a47c5cdc99ee6eb8b2f08136aa02d600d4e0d9b94/tspgrasp-0.1.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "40494bc4c6df6bbaa4d1e5621366ed7f1de2a5f9d277cf03301a9a7faee93bd9",
                "md5": "b4203a31c8ee0e33e2165d15efcb030c",
                "sha256": "517f1b86a0ca3a7460c4d1d8975769c2d3fd3bdd86228327bb76aa3ba98e3ba7"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "b4203a31c8ee0e33e2165d15efcb030c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 1117016,
            "upload_time": "2023-11-19T20:33:59",
            "upload_time_iso_8601": "2023-11-19T20:33:59.837263Z",
            "url": "https://files.pythonhosted.org/packages/40/49/4bc4c6df6bbaa4d1e5621366ed7f1de2a5f9d277cf03301a9a7faee93bd9/tspgrasp-0.1.1-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "93d5f01d4953ac0807eaa5d40ce16ea276f2d8645d57df5e055c27198ca1f811",
                "md5": "8cd273348f666dc29f792cad9fa1bff6",
                "sha256": "4b72cd37775bc2c75f75902cce62bbb39623b8cef18c0a70121dc5a51bdd69a6"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8cd273348f666dc29f792cad9fa1bff6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 3800453,
            "upload_time": "2023-11-19T20:34:02",
            "upload_time_iso_8601": "2023-11-19T20:34:02.726658Z",
            "url": "https://files.pythonhosted.org/packages/93/d5/f01d4953ac0807eaa5d40ce16ea276f2d8645d57df5e055c27198ca1f811/tspgrasp-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "592abab471eb4713d3559bc1e8c4d9e21437c05b685e0bf95d022ebd93062642",
                "md5": "f7c2ae66825d222e736a335e124d36b6",
                "sha256": "1a80505f9fd3d9208515ebf10a449ea6a231a6a2ce3a155f18ca0b4588e0dc84"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f7c2ae66825d222e736a335e124d36b6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 517008,
            "upload_time": "2023-11-19T20:34:04",
            "upload_time_iso_8601": "2023-11-19T20:34:04.465558Z",
            "url": "https://files.pythonhosted.org/packages/59/2a/bab471eb4713d3559bc1e8c4d9e21437c05b685e0bf95d022ebd93062642/tspgrasp-0.1.1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "accdbf04ebc6598761d37dec90d3ccb69090a28f15b41283df134ba3d25ce98a",
                "md5": "06940515c7dbb383946698078e41f210",
                "sha256": "ce99a15a67b8294a5f333e1381a1e5cceee906aa40cbf3a68a2cc049587d4426"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "06940515c7dbb383946698078e41f210",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 1126138,
            "upload_time": "2023-11-19T20:34:06",
            "upload_time_iso_8601": "2023-11-19T20:34:06.642279Z",
            "url": "https://files.pythonhosted.org/packages/ac/cd/bf04ebc6598761d37dec90d3ccb69090a28f15b41283df134ba3d25ce98a/tspgrasp-0.1.1-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c3aab1d3b65c3f78b8a5fc19485e344f78f4dfd96c796a2e23f15e77e0b98a4",
                "md5": "d17883028ae9a1e6b6b7cf5aea180ea3",
                "sha256": "ed310570b0c8d87b47ab2514982f2099e3378a50fd6f29e8d158e96e063e0fa1"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d17883028ae9a1e6b6b7cf5aea180ea3",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 520461,
            "upload_time": "2023-11-19T20:34:08",
            "upload_time_iso_8601": "2023-11-19T20:34:08.199836Z",
            "url": "https://files.pythonhosted.org/packages/9c/3a/ab1d3b65c3f78b8a5fc19485e344f78f4dfd96c796a2e23f15e77e0b98a4/tspgrasp-0.1.1-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7ed2ab857c2e113e6d5fd520bcf923a83049ede7721ffc35626a4766acbec65a",
                "md5": "32db9a09a14b069ff6e1d4922be9e477",
                "sha256": "194dd4faf7056a1c382bd2a1efb3f63673710aa2d6349152ab31a5bed2cb6429"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp37-cp37m-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "32db9a09a14b069ff6e1d4922be9e477",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 591559,
            "upload_time": "2023-11-19T20:34:09",
            "upload_time_iso_8601": "2023-11-19T20:34:09.879395Z",
            "url": "https://files.pythonhosted.org/packages/7e/d2/ab857c2e113e6d5fd520bcf923a83049ede7721ffc35626a4766acbec65a/tspgrasp-0.1.1-cp37-cp37m-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ede896db27f0b15b597e8857f8a87f6023343222eb41cea1962a698d158ef15e",
                "md5": "6146b550742925b3a006a4e06b4b224b",
                "sha256": "a24212bf2924975ec30422d6d42acc927cc142dc69f741b47564f0861c3ef89c"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6146b550742925b3a006a4e06b4b224b",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 3348401,
            "upload_time": "2023-11-19T20:34:12",
            "upload_time_iso_8601": "2023-11-19T20:34:12.364405Z",
            "url": "https://files.pythonhosted.org/packages/ed/e8/96db27f0b15b597e8857f8a87f6023343222eb41cea1962a698d158ef15e/tspgrasp-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1a85a6d1e7071d838188a68cdad81d1622620b0cdff55f0adc1152ef266d070e",
                "md5": "8cb55296695290e41b0380ad21f840c9",
                "sha256": "96e73ff53e0afc9bd4697918d487c8cec858f30ec4fed6e2bcd214a679a1e29b"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8cb55296695290e41b0380ad21f840c9",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 601671,
            "upload_time": "2023-11-19T20:34:14",
            "upload_time_iso_8601": "2023-11-19T20:34:14.447493Z",
            "url": "https://files.pythonhosted.org/packages/1a/85/a6d1e7071d838188a68cdad81d1622620b0cdff55f0adc1152ef266d070e/tspgrasp-0.1.1-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aa09162b17ada60b30b8dd61047845ef2175d95330d6e3f899452eee923d2588",
                "md5": "10ad3a72f108d25a8bab57960c2b4064",
                "sha256": "14c3c19c62c69d95f89aed2d4a50a9a1bae3833905515898804b0a35e56e4409"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp38-cp38-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "10ad3a72f108d25a8bab57960c2b4064",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 587936,
            "upload_time": "2023-11-19T20:34:15",
            "upload_time_iso_8601": "2023-11-19T20:34:15.943930Z",
            "url": "https://files.pythonhosted.org/packages/aa/09/162b17ada60b30b8dd61047845ef2175d95330d6e3f899452eee923d2588/tspgrasp-0.1.1-cp38-cp38-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "138a00b05486bd3cf38ee9798fa555cc7a80838cad531dda25b60fb0d18d47aa",
                "md5": "709029f75f4903c4916d32b341959581",
                "sha256": "d7dd14d822e4d051729398892f3d6b33bf180d566a7634524c4c7122554ab34e"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "709029f75f4903c4916d32b341959581",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 3601038,
            "upload_time": "2023-11-19T20:34:18",
            "upload_time_iso_8601": "2023-11-19T20:34:18.941886Z",
            "url": "https://files.pythonhosted.org/packages/13/8a/00b05486bd3cf38ee9798fa555cc7a80838cad531dda25b60fb0d18d47aa/tspgrasp-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c6e9d2fa9205ff019b3ecb73be38fa5e67faf412b50d7017b31b5b8ef1043be2",
                "md5": "f5791b0dc61f4d689cd626f69ee3ddba",
                "sha256": "fbc58b77b95d07d38268645c1e95671535baf742c0630e25b778d8a610072dd4"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f5791b0dc61f4d689cd626f69ee3ddba",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 610416,
            "upload_time": "2023-11-19T20:34:21",
            "upload_time_iso_8601": "2023-11-19T20:34:21.023226Z",
            "url": "https://files.pythonhosted.org/packages/c6/e9/d2fa9205ff019b3ecb73be38fa5e67faf412b50d7017b31b5b8ef1043be2/tspgrasp-0.1.1-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "913b4fb66f6e4e6bc904afaf1f5da0eeeb0c99db67e9aa46080c101dc46e1939",
                "md5": "b622bd9370abedd79e02e1fd2cfa5c91",
                "sha256": "5a1e6d4ea901f9e326e44e21e1e1bec943fc4750f053df26c5a30cc1c8d4a6a7"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b622bd9370abedd79e02e1fd2cfa5c91",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 590027,
            "upload_time": "2023-11-19T20:34:22",
            "upload_time_iso_8601": "2023-11-19T20:34:22.679018Z",
            "url": "https://files.pythonhosted.org/packages/91/3b/4fb66f6e4e6bc904afaf1f5da0eeeb0c99db67e9aa46080c101dc46e1939/tspgrasp-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c73576271c9ee0a26072a5ca60d9502ca4e7c17701f8300406269d7a474bb619",
                "md5": "3bd55dbb29ef1a008ab6866b48546e2c",
                "sha256": "640096e0a46fb297eb9a02592e53e15ee1685a414a7320317e3d02b4363b2871"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3bd55dbb29ef1a008ab6866b48546e2c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 3551890,
            "upload_time": "2023-11-19T20:34:25",
            "upload_time_iso_8601": "2023-11-19T20:34:25.178576Z",
            "url": "https://files.pythonhosted.org/packages/c7/35/76271c9ee0a26072a5ca60d9502ca4e7c17701f8300406269d7a474bb619/tspgrasp-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "98fd60423ee64c63bcc62b75baf6e99e2794f6ca16ad844f09638ace428a23f5",
                "md5": "549f65452652fcb0da34850cc40670f4",
                "sha256": "f61033355f86050097e59bc2439c3204cbb34697a0a2c279743097e23d136c6c"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "549f65452652fcb0da34850cc40670f4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 605147,
            "upload_time": "2023-11-19T20:34:27",
            "upload_time_iso_8601": "2023-11-19T20:34:27.006688Z",
            "url": "https://files.pythonhosted.org/packages/98/fd/60423ee64c63bcc62b75baf6e99e2794f6ca16ad844f09638ace428a23f5/tspgrasp-0.1.1-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "11376312b2005f94bb791ae0ed1ac8c416989af2cedd885e7e1e0c8229293167",
                "md5": "c0fa6c17842028fb02574edd830be295",
                "sha256": "509d3225ada9f593317637420a0a9c8d82d64289190e718c52e1cb2153e02822"
            },
            "downloads": -1,
            "filename": "tspgrasp-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c0fa6c17842028fb02574edd830be295",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 14515,
            "upload_time": "2023-11-19T20:34:28",
            "upload_time_iso_8601": "2023-11-19T20:34:28.360091Z",
            "url": "https://files.pythonhosted.org/packages/11/37/6312b2005f94bb791ae0ed1ac8c416989af2cedd885e7e1e0c8229293167/tspgrasp-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-19 20:34:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bruscalia",
    "github_project": "tsp-grasp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "tspgrasp"
}
        
Elapsed time: 3.10952s