{ "info": { "author": "Remi Flamary, Nicolas Courty", "author_email": "remi.flamary@gmail.com, ncourty@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Operating System :: OS Independent", "Operating System :: POSIX", "Programming Language :: C", "Programming Language :: C++", "Programming Language :: Cython", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Utilities" ], "description": "# POT: Python Optimal Transport\n\n[![PyPI version](https://badge.fury.io/py/POT.svg)](https://badge.fury.io/py/POT)\n[![Anaconda Cloud](https://anaconda.org/conda-forge/pot/badges/version.svg)](https://anaconda.org/conda-forge/pot)\n[![Build Status](https://travis-ci.org/rflamary/POT.svg?branch=master)](https://travis-ci.org/rflamary/POT)\n[![Documentation Status](https://readthedocs.org/projects/pot/badge/?version=latest)](http://pot.readthedocs.io/en/latest/?badge=latest)\n[![Downloads](https://pepy.tech/badge/pot)](https://pepy.tech/project/pot)\n[![Anaconda downloads](https://anaconda.org/conda-forge/pot/badges/downloads.svg)](https://anaconda.org/conda-forge/pot)\n[![License](https://anaconda.org/conda-forge/pot/badges/license.svg)](https://github.com/rflamary/POT/blob/master/LICENSE)\n\n\n\nThis open source Python library provide several solvers for optimization problems related to Optimal Transport for signal, image processing and machine learning.\n\nIt provides the following solvers:\n\n* OT Network Flow solver for the linear program/ Earth Movers Distance [1].\n* Entropic regularization OT solver with Sinkhorn Knopp Algorithm [2], stabilized version [9][10] and greedy Sinkhorn [22] with optional GPU implementation (requires cupy).\n* Sinkhorn divergence [23] and entropic regularization OT from empirical data.\n* Smooth optimal transport solvers (dual and semi-dual) for KL and squared L2 regularizations [17].\n* Non regularized Wasserstein barycenters [16] with LP solver (only small scale).\n* Bregman projections for Wasserstein barycenter [3], convolutional barycenter [21] and unmixing [4].\n* Optimal transport for domain adaptation with group lasso regularization [5]\n* Conditional gradient [6] and Generalized conditional gradient for regularized OT [7].\n* Linear OT [14] and Joint OT matrix and mapping estimation [8].\n* Wasserstein Discriminant Analysis [11] (requires autograd + pymanopt).\n* Gromov-Wasserstein distances and barycenters ([13] and regularized [12])\n* Stochastic Optimization for Large-scale Optimal Transport (semi-dual problem [18] and dual problem [19])\n* Non regularized free support Wasserstein barycenters [20].\n* Unbalanced OT with KL relaxation distance and barycenter [10, 25].\n\nSome demonstrations (both in Python and Jupyter Notebook format) are available in the examples folder.\n\n#### Using and citing the toolbox\n\nIf you use this toolbox in your research and find it useful, please cite POT using the following bibtex reference:\n```\n@misc{flamary2017pot,\ntitle={POT Python Optimal Transport library},\nauthor={Flamary, R{'e}mi and Courty, Nicolas},\nurl={https://github.com/rflamary/POT},\nyear={2017}\n}\n```\n\n## Installation\n\nThe library has been tested on Linux, MacOSX and Windows. It requires a C++ compiler for building/installing the EMD solver and relies on the following Python modules:\n\n- Numpy (>=1.11)\n- Scipy (>=1.0)\n- Cython (>=0.23)\n- Matplotlib (>=1.5)\n\n#### Pip installation\n\nNote that due to a limitation of pip, `cython` and `numpy` need to be installed\nprior to installing POT. This can be done easily with\n```\npip install numpy cython\n```\n\nYou can install the toolbox through PyPI with:\n```\npip install POT\n```\nor get the very latest version by downloading it and then running:\n```\npython setup.py install --user # for user install (no root)\n```\n\n\n\n#### Anaconda installation with conda-forge\n\nIf you use the Anaconda python distribution, POT is available in [conda-forge](https://conda-forge.org). To install it and the required dependencies:\n```\nconda install -c conda-forge pot\n```\n\n#### Post installation check\nAfter a correct installation, you should be able to import the module without errors:\n```python\nimport ot\n```\nNote that for easier access the module is name ot instead of pot.\n\n\n### Dependencies\n\nSome sub-modules require additional dependences which are discussed below\n\n* **ot.dr** (Wasserstein dimensionality reduction) depends on autograd and pymanopt that can be installed with:\n```\npip install pymanopt autograd\n```\n* **ot.gpu** (GPU accelerated OT) depends on cupy that have to be installed following instructions on [this page](https://docs-cupy.chainer.org/en/stable/install.html).\n\n\nobviously you need CUDA installed and a compatible GPU.\n\n## Examples\n\n### Short examples\n\n* Import the toolbox\n```python\nimport ot\n```\n* Compute Wasserstein distances\n```python\n# a,b are 1D histograms (sum to 1 and positive)\n# M is the ground cost matrix\nWd=ot.emd2(a,b,M) # exact linear program\nWd_reg=ot.sinkhorn2(a,b,M,reg) # entropic regularized OT\n# if b is a matrix compute all distances to a and return a vector\n```\n* Compute OT matrix\n```python\n# a,b are 1D histograms (sum to 1 and positive)\n# M is the ground cost matrix\nT=ot.emd(a,b,M) # exact linear program\nT_reg=ot.sinkhorn(a,b,M,reg) # entropic regularized OT\n```\n* Compute Wasserstein barycenter\n```python\n# A is a n*d matrix containing d 1D histograms\n# M is the ground cost matrix\nba=ot.barycenter(A,M,reg) # reg is regularization parameter\n```\n\n\n\n\n### Examples and Notebooks\n\nThe examples folder contain several examples and use case for the library. The full documentation is available on [Readthedocs](http://pot.readthedocs.io/).\n\n\nHere is a list of the Python notebooks available [here](https://github.com/rflamary/POT/blob/master/notebooks/) if you want a quick look:\n\n* [1D optimal transport](https://github.com/rflamary/POT/blob/master/notebooks/plot_OT_1D.ipynb)\n* [OT Ground Loss](https://github.com/rflamary/POT/blob/master/notebooks/plot_OT_L1_vs_L2.ipynb)\n* [Multiple EMD computation](https://github.com/rflamary/POT/blob/master/notebooks/plot_compute_emd.ipynb)\n* [2D optimal transport on empirical distributions](https://github.com/rflamary/POT/blob/master/notebooks/plot_OT_2D_samples.ipynb)\n* [1D Wasserstein barycenter](https://github.com/rflamary/POT/blob/master/notebooks/plot_barycenter_1D.ipynb)\n* [OT with user provided regularization](https://github.com/rflamary/POT/blob/master/notebooks/plot_optim_OTreg.ipynb)\n* [Domain adaptation with optimal transport](https://github.com/rflamary/POT/blob/master/notebooks/plot_otda_d2.ipynb)\n* [Color transfer in images](https://github.com/rflamary/POT/blob/master/notebooks/plot_otda_color_images.ipynb)\n* [OT mapping estimation for domain adaptation](https://github.com/rflamary/POT/blob/master/notebooks/plot_otda_mapping.ipynb)\n* [OT mapping estimation for color transfer in images](https://github.com/rflamary/POT/blob/master/notebooks/plot_otda_mapping_colors_images.ipynb)\n* [Wasserstein Discriminant Analysis](https://github.com/rflamary/POT/blob/master/notebooks/plot_WDA.ipynb)\n* [Gromov Wasserstein](https://github.com/rflamary/POT/blob/master/notebooks/plot_gromov.ipynb)\n* [Gromov Wasserstein Barycenter](https://github.com/rflamary/POT/blob/master/notebooks/plot_gromov_barycenter.ipynb)\n* [Fused Gromov Wasserstein](https://github.com/rflamary/POT/blob/master/notebooks/plot_fgw.ipynb)\n* [Fused Gromov Wasserstein Barycenter](https://github.com/rflamary/POT/blob/master/notebooks/plot_barycenter_fgw.ipynb)\n\n\nYou can also see the notebooks with [Jupyter nbviewer](https://nbviewer.jupyter.org/github/rflamary/POT/tree/master/notebooks/).\n\n## Acknowledgements\n\nThis toolbox has been created and is maintained by\n\n* [R\u00e9mi Flamary](http://remi.flamary.com/)\n* [Nicolas Courty](http://people.irisa.fr/Nicolas.Courty/)\n\nThe contributors to this library are \n\n* [Alexandre Gramfort](http://alexandre.gramfort.net/)\n* [Laetitia Chapel](http://people.irisa.fr/Laetitia.Chapel/)\n* [Michael Perrot](http://perso.univ-st-etienne.fr/pem82055/) (Mapping estimation)\n* [L\u00e9o Gautheron](https://github.com/aje) (GPU implementation)\n* [Nathalie Gayraud](https://www.linkedin.com/in/nathalie-t-h-gayraud/?ppe=1)\n* [Stanislas Chambon](https://slasnista.github.io/)\n* [Antoine Rolet](https://arolet.github.io/)\n* Erwan Vautier (Gromov-Wasserstein)\n* [Kilian Fatras](https://kilianfatras.github.io/)\n* [Alain Rakotomamonjy](https://sites.google.com/site/alainrakotomamonjy/home)\n* [Vayer Titouan](https://tvayer.github.io/)\n* [Hicham Janati](https://hichamjanati.github.io/) (Unbalanced OT)\n* [Romain Tavenard](https://rtavenar.github.io/) (1d Wasserstein)\n\nThis toolbox benefit a lot from open source research and we would like to thank the following persons for providing some code (in various languages):\n\n* [Gabriel Peyr\u00e9](http://gpeyre.github.io/) (Wasserstein Barycenters in Matlab)\n* [Nicolas Bonneel](http://liris.cnrs.fr/~nbonneel/) ( C++ code for EMD)\n* [Marco Cuturi](http://marcocuturi.net/) (Sinkhorn Knopp in Matlab/Cuda)\n\n\n## Contributions and code of conduct\n\nEvery contribution is welcome and should respect the [contribution guidelines](CONTRIBUTING.md). Each member of the project is expected to follow the [code of conduct](CODE_OF_CONDUCT.md).\n\n## Support\n\nYou can ask questions and join the development discussion:\n\n* On the [POT Slack channel](https://pot-toolbox.slack.com)\n* On the POT [mailing list](https://mail.python.org/mm3/mailman3/lists/pot.python.org/)\n\n\nYou can also post bug reports and feature requests in Github issues. Make sure to read our [guidelines](CONTRIBUTING.md) first.\n\n## References\n\n[1] Bonneel, N., Van De Panne, M., Paris, S., & Heidrich, W. (2011, December). [Displacement interpolation using Lagrangian mass transport](https://people.csail.mit.edu/sparis/publi/2011/sigasia/Bonneel_11_Displacement_Interpolation.pdf). In ACM Transactions on Graphics (TOG) (Vol. 30, No. 6, p. 158). ACM.\n\n[2] Cuturi, M. (2013). [Sinkhorn distances: Lightspeed computation of optimal transport](https://arxiv.org/pdf/1306.0895.pdf). In Advances in Neural Information Processing Systems (pp. 2292-2300).\n\n[3] Benamou, J. D., Carlier, G., Cuturi, M., Nenna, L., & Peyr\u00e9, G. (2015). [Iterative Bregman projections for regularized transportation problems](https://arxiv.org/pdf/1412.5154.pdf). SIAM Journal on Scientific Computing, 37(2), A1111-A1138.\n\n[4] S. Nakhostin, N. Courty, R. Flamary, D. Tuia, T. Corpetti, [Supervised planetary unmixing with optimal transport](https://hal.archives-ouvertes.fr/hal-01377236/document), Whorkshop on Hyperspectral Image and Signal Processing : Evolution in Remote Sensing (WHISPERS), 2016.\n\n[5] N. Courty; R. Flamary; D. Tuia; A. Rakotomamonjy, [Optimal Transport for Domain Adaptation](https://arxiv.org/pdf/1507.00504.pdf), in IEEE Transactions on Pattern Analysis and Machine Intelligence , vol.PP, no.99, pp.1-1\n\n[6] Ferradans, S., Papadakis, N., Peyr\u00e9, G., & Aujol, J. F. (2014). [Regularized discrete optimal transport](https://arxiv.org/pdf/1307.5551.pdf). SIAM Journal on Imaging Sciences, 7(3), 1853-1882.\n\n[7] Rakotomamonjy, A., Flamary, R., & Courty, N. (2015). [Generalized conditional gradient: analysis of convergence and applications](https://arxiv.org/pdf/1510.06567.pdf). arXiv preprint arXiv:1510.06567.\n\n[8] M. Perrot, N. Courty, R. Flamary, A. Habrard (2016), [Mapping estimation for discrete optimal transport](http://remi.flamary.com/biblio/perrot2016mapping.pdf), Neural Information Processing Systems (NIPS).\n\n[9] Schmitzer, B. (2016). [Stabilized Sparse Scaling Algorithms for Entropy Regularized Transport Problems](https://arxiv.org/pdf/1610.06519.pdf). arXiv preprint arXiv:1610.06519.\n\n[10] Chizat, L., Peyr\u00e9, G., Schmitzer, B., & Vialard, F. X. (2016). [Scaling algorithms for unbalanced transport problems](https://arxiv.org/pdf/1607.05816.pdf). arXiv preprint arXiv:1607.05816.\n\n[11] Flamary, R., Cuturi, M., Courty, N., & Rakotomamonjy, A. (2016). [Wasserstein Discriminant Analysis](https://arxiv.org/pdf/1608.08063.pdf). arXiv preprint arXiv:1608.08063.\n\n[12] Gabriel Peyr\u00e9, Marco Cuturi, and Justin Solomon (2016), [Gromov-Wasserstein averaging of kernel and distance matrices](http://proceedings.mlr.press/v48/peyre16.html) International Conference on Machine Learning (ICML).\n\n[13] M\u00e9moli, Facundo (2011). [Gromov\u2013Wasserstein distances and the metric approach to object matching](https://media.adelaide.edu.au/acvt/Publications/2011/2011-Gromov%E2%80%93Wasserstein%20Distances%20and%20the%20Metric%20Approach%20to%20Object%20Matching.pdf). Foundations of computational mathematics 11.4 : 417-487.\n\n[14] Knott, M. and Smith, C. S. (1984).[On the optimal mapping of distributions](https://link.springer.com/article/10.1007/BF00934745), Journal of Optimization Theory and Applications Vol 43.\n\n[15] Peyr\u00e9, G., & Cuturi, M. (2018). [Computational Optimal Transport](https://arxiv.org/pdf/1803.00567.pdf) .\n\n[16] Agueh, M., & Carlier, G. (2011). [Barycenters in the Wasserstein space](https://hal.archives-ouvertes.fr/hal-00637399/document). SIAM Journal on Mathematical Analysis, 43(2), 904-924.\n\n[17] Blondel, M., Seguy, V., & Rolet, A. (2018). [Smooth and Sparse Optimal Transport](https://arxiv.org/abs/1710.06276). Proceedings of the Twenty-First International Conference on Artificial Intelligence and Statistics (AISTATS).\n\n[18] Genevay, A., Cuturi, M., Peyr\u00e9, G. & Bach, F. (2016) [Stochastic Optimization for Large-scale Optimal Transport](https://arxiv.org/abs/1605.08527). Advances in Neural Information Processing Systems (2016).\n\n[19] Seguy, V., Bhushan Damodaran, B., Flamary, R., Courty, N., Rolet, A.& Blondel, M. [Large-scale Optimal Transport and Mapping Estimation](https://arxiv.org/pdf/1711.02283.pdf). International Conference on Learning Representation (2018)\n\n[20] Cuturi, M. and Doucet, A. (2014) [Fast Computation of Wasserstein Barycenters](http://proceedings.mlr.press/v32/cuturi14.html). International Conference in Machine Learning\n\n[21] Solomon, J., De Goes, F., Peyr\u00e9, G., Cuturi, M., Butscher, A., Nguyen, A. & Guibas, L. (2015). [Convolutional wasserstein distances: Efficient optimal transportation on geometric domains](https://dl.acm.org/citation.cfm?id=2766963). ACM Transactions on Graphics (TOG), 34(4), 66.\n\n[22] J. Altschuler, J.Weed, P. Rigollet, (2017) [Near-linear time approximation algorithms for optimal transport via Sinkhorn iteration](https://papers.nips.cc/paper/6792-near-linear-time-approximation-algorithms-for-optimal-transport-via-sinkhorn-iteration.pdf), Advances in Neural Information Processing Systems (NIPS) 31\n\n[23] Aude, G., Peyr\u00e9, G., Cuturi, M., [Learning Generative Models with Sinkhorn Divergences](https://arxiv.org/abs/1706.00292), Proceedings of the Twenty-First International Conference on Artficial Intelligence and Statistics, (AISTATS) 21, 2018\n\n[24] Vayer, T., Chapel, L., Flamary, R., Tavenard, R. and Courty, N. (2019). [Optimal Transport for structured data with application on graphs](http://proceedings.mlr.press/v97/titouan19a.html) Proceedings of the 36th International Conference on Machine Learning (ICML).\n\n[25] Frogner C., Zhang C., Mobahi H., Araya-Polo M., Poggio T. (2019). [Learning with a Wasserstein Loss](http://cbcl.mit.edu/wasserstein/) Advances in Neural Information Processing Systems (NIPS).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/rflamary/POT/archive/0.6.0.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rflamary/POT", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "POT", "package_url": "https://pypi.org/project/POT/", "platform": "linux", "project_url": "https://pypi.org/project/POT/", "project_urls": { "Download": "https://github.com/rflamary/POT/archive/0.6.0.tar.gz", "Homepage": "https://github.com/rflamary/POT" }, "release_url": "https://pypi.org/project/POT/0.6.0/", "requires_dist": [ "numpy", "scipy", "cython" ], "requires_python": "", "summary": "Python Optimal Transport Library", "version": "0.6.0" }, "last_serial": 5807341, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "513358d86de84c65524ec44b76cdf5fb", "sha256": "2ac2a6713b1242eaad18c70937214ad44f58b11036d12a5a6cfa244a93e02cf7" }, "downloads": -1, "filename": "POT-0.1.1.tar.gz", "has_sig": false, "md5_digest": "513358d86de84c65524ec44b76cdf5fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67383, "upload_time": "2016-10-28T15:50:03", "url": "https://files.pythonhosted.org/packages/15/47/e3cd6216be144846f3e680ba4d70041db9f83c2ac395b1bdc34d823ef6ca/POT-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "b070fafc2800d4f9f1cb540cabc22ba0", "sha256": "48d21c2b19c4bb5adad3be875a124de0a35bcd4d6cc1d2f24656709ab301657b" }, "downloads": -1, "filename": "POT-0.1.10.tar.gz", "has_sig": false, "md5_digest": "b070fafc2800d4f9f1cb540cabc22ba0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 260461, "upload_time": "2016-11-07T15:53:44", "url": "https://files.pythonhosted.org/packages/e4/82/2731186318b016792f5b68cb5e36288b36847ea5ace3d3c99af3eb6a150e/POT-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "3e72bb9449216f9d5c704dd78763f55c", "sha256": "1cca51c8e91e6dc6883249a74920b513f0886db8d9a98a278242b0d021dace8c" }, "downloads": -1, "filename": "POT-0.1.11.tar.gz", "has_sig": false, "md5_digest": "3e72bb9449216f9d5c704dd78763f55c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 260458, "upload_time": "2016-11-07T16:01:55", "url": "https://files.pythonhosted.org/packages/af/fd/a6b6c13d5733778340db269b03b3e2b8d2c3a02b437ec33a03e68e0aba8a/POT-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "5ac5862f42b242c1847fb7a6f59ae79f", "sha256": "93fdfc097eba957d6763d86c31049bb2eadbdc4bdc621fa00693669ca11f937a" }, "downloads": -1, "filename": "POT-0.1.12.tar.gz", "has_sig": false, "md5_digest": "5ac5862f42b242c1847fb7a6f59ae79f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 261738, "upload_time": "2017-01-05T12:50:10", "url": "https://files.pythonhosted.org/packages/f7/e6/1effe955ee1b40ecc48826a38b48c6d7baba94d057c46329bc8ae6f6fb6d/POT-0.1.12.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "82e54b87469eab4f6d7841d9b22ee0fb", "sha256": "9b33bc622e1169144d2d3573bc4bc7b323c2ffef668b9d49fa7ee61722804c54" }, "downloads": -1, "filename": "POT-0.1.2.tar.gz", "has_sig": false, "md5_digest": "82e54b87469eab4f6d7841d9b22ee0fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67387, "upload_time": "2016-10-28T15:55:26", "url": "https://files.pythonhosted.org/packages/22/6e/315ca294152fa4057eefaf41b58631c1fecc3a7ba40ac75276b3b16247d6/POT-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "70c892e9dd166daf66cc3bbd7752d400", "sha256": "c5636b7a71caaf38788aaa2a14e914664318deaf7a91e498ada6e678c3e5697d" }, "downloads": -1, "filename": "POT-0.1.3.tar.gz", "has_sig": false, "md5_digest": "70c892e9dd166daf66cc3bbd7752d400", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67767, "upload_time": "2016-10-28T15:58:16", "url": "https://files.pythonhosted.org/packages/b0/2c/958c03935614b47979da03e70e393c6874a44694a3ecc451ba760e38ac3f/POT-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "470fd19fbba4c012dceb28e39a9858ad", "sha256": "bf1d73b5a7be1cb697adfbc0b2d35a3f1b3ebd71e8e9b9881d7a20f4223c6105" }, "downloads": -1, "filename": "POT-0.1.4.tar.gz", "has_sig": false, "md5_digest": "470fd19fbba4c012dceb28e39a9858ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67926, "upload_time": "2016-10-28T16:08:37", "url": "https://files.pythonhosted.org/packages/8e/ee/55887e376cb21ac1e84d9214223031a8bc23f4b221828c80871a3cce4a09/POT-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "a207e4a73d0abdacff776b9f6de65ecd", "sha256": "17b5de003a891ab9f16894d00fcfc5965385968cd5548c8e54d0f56e283e0f11" }, "downloads": -1, "filename": "POT-0.1.5.tar.gz", "has_sig": false, "md5_digest": "a207e4a73d0abdacff776b9f6de65ecd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68736, "upload_time": "2016-10-31T08:25:35", "url": "https://files.pythonhosted.org/packages/87/6e/ba2587178d8c5a4d23e78464682da80eb2493a146e431210c77599beb793/POT-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "d764fbe25446284e5e32221bf3bb7134", "sha256": "a08a158fa60555fbbdbe84c27d4c9971ee0b8c0d5a0893cfd0bdcf2ba8d39777" }, "downloads": -1, "filename": "POT-0.1.6.tar.gz", "has_sig": false, "md5_digest": "d764fbe25446284e5e32221bf3bb7134", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69466, "upload_time": "2016-10-31T08:56:38", "url": "https://files.pythonhosted.org/packages/5d/64/0b71f01b003d1ef06eab7fb722d04c49e8a4db4e976dd8eff0a418ecb6c4/POT-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "1bc65577bfca79129e6aa328022d5ab5", "sha256": "9e7215f78fd09a7eccbed4e046f4880b41a2d075a9fa9ea3c934fff590da6d61" }, "downloads": -1, "filename": "POT-0.1.7.tar.gz", "has_sig": false, "md5_digest": "1bc65577bfca79129e6aa328022d5ab5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 256973, "upload_time": "2016-10-31T14:37:05", "url": "https://files.pythonhosted.org/packages/b4/9c/39c7a750616366dd8b6c6a00648e50da95cc01917076893108195f7c507f/POT-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "617a23a66ceb0408b5fd53540b031d71", "sha256": "a0897f46dd3f8ba5b5293fb47f523b1f740eb7505b89163d6862be783f950a70" }, "downloads": -1, "filename": "POT-0.1.8.tar.gz", "has_sig": false, "md5_digest": "617a23a66ceb0408b5fd53540b031d71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 257975, "upload_time": "2016-11-04T09:57:41", "url": "https://files.pythonhosted.org/packages/2f/77/88bcf8e9b5581b3dfeccc66f273f9cc39b141ad6f0fea6dcd08d9d11ac4f/POT-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "f4a04f3cbd48067ba9e7edef817cb7af", "sha256": "619c8c5fdf8d12a7dd7873a55c325e55f5558ac82bffe41aa7e7c138d7d0f6a5" }, "downloads": -1, "filename": "POT-0.1.9.tar.gz", "has_sig": false, "md5_digest": "f4a04f3cbd48067ba9e7edef817cb7af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 258354, "upload_time": "2016-11-04T10:01:39", "url": "https://files.pythonhosted.org/packages/7a/70/3745f521a55ab635b63a6ab86a428100b82b55f8736e4e6ad564ec1ecc5f/POT-0.1.9.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "434a9536e66bb406e74db2b5c7a0ff40", "sha256": "436b2e84c331f9b2e60e9c88f7edbb9d551d41843b6a183c9f948419a14ee12f" }, "downloads": -1, "filename": "POT-0.2.tar.gz", "has_sig": false, "md5_digest": "434a9536e66bb406e74db2b5c7a0ff40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 281831, "upload_time": "2017-04-07T13:34:43", "url": "https://files.pythonhosted.org/packages/0d/db/ab3f420ade0d49079b39f6c36b913ead3aca122b220469f15fddfb3916c9/POT-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "ac5cbd823d5ba6bf73aee526ff8e8410", "sha256": "ab1ff461468262a87edf41a2f7b6b41a974c10fff4fc0859f59c06cbebcf5770" }, "downloads": -1, "filename": "POT-0.3.tar.gz", "has_sig": false, "md5_digest": "ac5cbd823d5ba6bf73aee526ff8e8410", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 295023, "upload_time": "2017-07-07T07:33:51", "url": "https://files.pythonhosted.org/packages/73/03/7539599e15b86d2ce4fb41c4d0cc6a7bfa46e351fcb11920347f884fc97f/POT-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "85aca6ede68e97cee9e9ce978c125dd7", "sha256": "1c226e359e81ca08e593012b9022d64041318d0bd7aafcb30185f1c4f02304af" }, "downloads": -1, "filename": "POT-0.3.1.tar.gz", "has_sig": false, "md5_digest": "85aca6ede68e97cee9e9ce978c125dd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 295031, "upload_time": "2017-07-11T09:51:03", "url": "https://files.pythonhosted.org/packages/23/e6/a7a8104f0a0cceeb6d5e659fa11a3d5da776c209ee8ba326a6bf003b0808/POT-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "ae95126152be8f6a23e71845cd0b770a", "sha256": "1f61f82bebdcb5e01286da0778b6219feb2b99b82cf234b0712fbb7d09d912ef" }, "downloads": -1, "filename": "POT-0.4.0.tar.gz", "has_sig": false, "md5_digest": "ae95126152be8f6a23e71845cd0b770a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 315523, "upload_time": "2017-09-15T12:40:06", "url": "https://files.pythonhosted.org/packages/50/66/714ee432a02e95a869c8e243e369ebad60e69a72ab1a72367c31df206619/POT-0.4.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "aed23a007a80a20b766653bf3c4db161", "sha256": "3f8584b153e9850a83267b1b3f88e43ae0e5f68ae57ee79da9390bc19a93f836" }, "downloads": -1, "filename": "POT-0.5.1.tar.gz", "has_sig": false, "md5_digest": "aed23a007a80a20b766653bf3c4db161", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 720582, "upload_time": "2018-10-03T06:59:49", "url": "https://files.pythonhosted.org/packages/28/4b/7aaa1f840a359f5953dd378e0237fa8faf9b0a415ff7282b7375fbe68d27/POT-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "6c1cedf901f0331593016bea2a654a1e", "sha256": "7acb04156a73bfe64bdca538a1e18e706789e830f487dac14525678f9361176a" }, "downloads": -1, "filename": "POT-0.6.0-cp27-cp27m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "6c1cedf901f0331593016bea2a654a1e", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 306087, "upload_time": "2019-09-10T07:07:21", "url": "https://files.pythonhosted.org/packages/c3/00/f59097749d82499182a9f8315c7337cd9e7337363d54d8faee239509e72e/POT-0.6.0-cp27-cp27m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "085d62377a2e728f5aafa41ab3481ea0", "sha256": "66c0f40e30a86b09a43051430090f0fe4a725d5a81c83537c1c1552a1085da33" }, "downloads": -1, "filename": "POT-0.6.0-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "085d62377a2e728f5aafa41ab3481ea0", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 316839, "upload_time": "2019-09-10T07:07:23", "url": "https://files.pythonhosted.org/packages/d4/74/5e29332d686f81dd6688dee7d620cf563d67d37fc4ea875a63b8cf82cf30/POT-0.6.0-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "33a6d83d0b7b6942a9e8990695da60d7", "sha256": "a08ee47285136fd2850b8a2ae0f9ad48209100e07e5b3ad82b94feb04c098c4c" }, "downloads": -1, "filename": "POT-0.6.0-cp27-cp27mu-manylinux1_i686.whl", "has_sig": false, "md5_digest": "33a6d83d0b7b6942a9e8990695da60d7", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 306043, "upload_time": "2019-09-10T07:07:25", "url": "https://files.pythonhosted.org/packages/76/36/c43685079779b23e33d35d488971b8f5a9824b5d288d9f4b7e6a3104ad78/POT-0.6.0-cp27-cp27mu-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "f8b3657504b96a0e9d478708e8efba57", "sha256": "c00b1832d22adb2c6fb13a2c316fd6864ad1572dfd85d0e9070488ec243a35c2" }, "downloads": -1, "filename": "POT-0.6.0-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "f8b3657504b96a0e9d478708e8efba57", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 316828, "upload_time": "2019-09-10T07:07:28", "url": "https://files.pythonhosted.org/packages/00/2c/b48a641229352f2d51f3607abe0f19a0b112918c394c5a8d810ec48c0406/POT-0.6.0-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "fbf95977a0443176b6729398dbda9f9e", "sha256": "fd14b17d2104c5b9a878e0604abbcf95b816d778b9f16673862105d56fe2c7cd" }, "downloads": -1, "filename": "POT-0.6.0-cp34-cp34m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "fbf95977a0443176b6729398dbda9f9e", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 290172, "upload_time": "2019-09-10T07:07:30", "url": "https://files.pythonhosted.org/packages/c6/14/0468aa69a9746db12480e78252087363ea1ed7f55e5eed601013a516b818/POT-0.6.0-cp34-cp34m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "87599c361f19b7cbb0a973a53986b085", "sha256": "090ec8faca785af104d6159f6b0bb4fb653dcf68cae118602843dfdc7aedf28d" }, "downloads": -1, "filename": "POT-0.6.0-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "87599c361f19b7cbb0a973a53986b085", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 299644, "upload_time": "2019-09-10T07:07:32", "url": "https://files.pythonhosted.org/packages/33/19/b168f41e6eacec31a0dec080b2e41b49ad3a2c4aaac57925812fe99140af/POT-0.6.0-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b90750055051a0e202be0f9a54e0c6f6", "sha256": "4099622d2d1e27395f625c6940ca9fc54afe5069f171800db7212d74dd6dc745" }, "downloads": -1, "filename": "POT-0.6.0-cp35-cp35m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "b90750055051a0e202be0f9a54e0c6f6", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 291078, "upload_time": "2019-09-10T07:07:35", "url": "https://files.pythonhosted.org/packages/23/57/c003b53114e15af1e80aa608f021dbb33645d49f28d4fe7ef6da669c3283/POT-0.6.0-cp35-cp35m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "7071641a064e4f011afb390a01cae005", "sha256": "35904a2f23f55db088a7b10f88fee3102b0f05fa5446b98ebe86b6a54b529b91" }, "downloads": -1, "filename": "POT-0.6.0-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "7071641a064e4f011afb390a01cae005", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 302329, "upload_time": "2019-09-10T07:07:37", "url": "https://files.pythonhosted.org/packages/78/6f/7ed5a846bde897d792e0b8b48c88fd893dfd95c242e36bffce99d099e0d8/POT-0.6.0-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cd59056dd4f487e7596086e1df3adf38", "sha256": "b23b8ffefd40641ea4f8e3f694d4b9585b897abb5a2d5c9135f97223dd52609c" }, "downloads": -1, "filename": "POT-0.6.0-cp36-cp36m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "cd59056dd4f487e7596086e1df3adf38", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 294528, "upload_time": "2019-09-10T07:07:39", "url": "https://files.pythonhosted.org/packages/a2/3e/6a88993cf8f4dc088434440a6bf2113039afe15ac29a97d7603997c2e0f5/POT-0.6.0-cp36-cp36m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "0cd82225b9c4973c43555e672fc50841", "sha256": "176f6abad37bb66178c90a2d8db90f6406550978d60ea50a8b5ee7581ba53018" }, "downloads": -1, "filename": "POT-0.6.0-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "0cd82225b9c4973c43555e672fc50841", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 305628, "upload_time": "2019-09-10T07:07:41", "url": "https://files.pythonhosted.org/packages/15/36/07d3c0960a590b88b81fa1837e666cc7479b90c7e9fd1063024ce9331122/POT-0.6.0-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "e60f8238204446e86c98e7cb0cb47fbf", "sha256": "d665d62c20fde504f7c414a4ca7a68cba6c7b254100cfda0834de6d747cb4309" }, "downloads": -1, "filename": "POT-0.6.0-cp37-cp37m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "e60f8238204446e86c98e7cb0cb47fbf", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 295043, "upload_time": "2019-09-10T07:07:44", "url": "https://files.pythonhosted.org/packages/ac/70/83c264f9f4417f853c184f096418f5f5e0c511561f7be2c75111b5a3f83e/POT-0.6.0-cp37-cp37m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "00aa49937da89f2e044d42e9e498605e", "sha256": "c58742ba34bbbc6889ea098eca2081d1253610a93804f2c1cdf64c9f27bd1569" }, "downloads": -1, "filename": "POT-0.6.0-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "00aa49937da89f2e044d42e9e498605e", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 305809, "upload_time": "2019-09-10T07:07:46", "url": "https://files.pythonhosted.org/packages/51/97/f33e927aa83e5034f962d2be035d321c82a2b4bfc24279325c98188300c3/POT-0.6.0-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0402091f759b5b6bc3323d2e300bc517", "sha256": "a0c254825b65bdfb2b9a4594d1876bdb3bd2564caf0bd86401b440e64c0806c0" }, "downloads": -1, "filename": "POT-0.6.0.tar.gz", "has_sig": false, "md5_digest": "0402091f759b5b6bc3323d2e300bc517", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 794499, "upload_time": "2019-09-10T07:07:48", "url": "https://files.pythonhosted.org/packages/4e/23/8aba82a55d40ac8c5f4313c1c51804dcb239ee3761b9789db1b621e43c87/POT-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6c1cedf901f0331593016bea2a654a1e", "sha256": "7acb04156a73bfe64bdca538a1e18e706789e830f487dac14525678f9361176a" }, "downloads": -1, "filename": "POT-0.6.0-cp27-cp27m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "6c1cedf901f0331593016bea2a654a1e", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 306087, "upload_time": "2019-09-10T07:07:21", "url": "https://files.pythonhosted.org/packages/c3/00/f59097749d82499182a9f8315c7337cd9e7337363d54d8faee239509e72e/POT-0.6.0-cp27-cp27m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "085d62377a2e728f5aafa41ab3481ea0", "sha256": "66c0f40e30a86b09a43051430090f0fe4a725d5a81c83537c1c1552a1085da33" }, "downloads": -1, "filename": "POT-0.6.0-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "085d62377a2e728f5aafa41ab3481ea0", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 316839, "upload_time": "2019-09-10T07:07:23", "url": "https://files.pythonhosted.org/packages/d4/74/5e29332d686f81dd6688dee7d620cf563d67d37fc4ea875a63b8cf82cf30/POT-0.6.0-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "33a6d83d0b7b6942a9e8990695da60d7", "sha256": "a08ee47285136fd2850b8a2ae0f9ad48209100e07e5b3ad82b94feb04c098c4c" }, "downloads": -1, "filename": "POT-0.6.0-cp27-cp27mu-manylinux1_i686.whl", "has_sig": false, "md5_digest": "33a6d83d0b7b6942a9e8990695da60d7", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 306043, "upload_time": "2019-09-10T07:07:25", "url": "https://files.pythonhosted.org/packages/76/36/c43685079779b23e33d35d488971b8f5a9824b5d288d9f4b7e6a3104ad78/POT-0.6.0-cp27-cp27mu-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "f8b3657504b96a0e9d478708e8efba57", "sha256": "c00b1832d22adb2c6fb13a2c316fd6864ad1572dfd85d0e9070488ec243a35c2" }, "downloads": -1, "filename": "POT-0.6.0-cp27-cp27mu-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "f8b3657504b96a0e9d478708e8efba57", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": null, "size": 316828, "upload_time": "2019-09-10T07:07:28", "url": "https://files.pythonhosted.org/packages/00/2c/b48a641229352f2d51f3607abe0f19a0b112918c394c5a8d810ec48c0406/POT-0.6.0-cp27-cp27mu-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "fbf95977a0443176b6729398dbda9f9e", "sha256": "fd14b17d2104c5b9a878e0604abbcf95b816d778b9f16673862105d56fe2c7cd" }, "downloads": -1, "filename": "POT-0.6.0-cp34-cp34m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "fbf95977a0443176b6729398dbda9f9e", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 290172, "upload_time": "2019-09-10T07:07:30", "url": "https://files.pythonhosted.org/packages/c6/14/0468aa69a9746db12480e78252087363ea1ed7f55e5eed601013a516b818/POT-0.6.0-cp34-cp34m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "87599c361f19b7cbb0a973a53986b085", "sha256": "090ec8faca785af104d6159f6b0bb4fb653dcf68cae118602843dfdc7aedf28d" }, "downloads": -1, "filename": "POT-0.6.0-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "87599c361f19b7cbb0a973a53986b085", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": null, "size": 299644, "upload_time": "2019-09-10T07:07:32", "url": "https://files.pythonhosted.org/packages/33/19/b168f41e6eacec31a0dec080b2e41b49ad3a2c4aaac57925812fe99140af/POT-0.6.0-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b90750055051a0e202be0f9a54e0c6f6", "sha256": "4099622d2d1e27395f625c6940ca9fc54afe5069f171800db7212d74dd6dc745" }, "downloads": -1, "filename": "POT-0.6.0-cp35-cp35m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "b90750055051a0e202be0f9a54e0c6f6", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 291078, "upload_time": "2019-09-10T07:07:35", "url": "https://files.pythonhosted.org/packages/23/57/c003b53114e15af1e80aa608f021dbb33645d49f28d4fe7ef6da669c3283/POT-0.6.0-cp35-cp35m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "7071641a064e4f011afb390a01cae005", "sha256": "35904a2f23f55db088a7b10f88fee3102b0f05fa5446b98ebe86b6a54b529b91" }, "downloads": -1, "filename": "POT-0.6.0-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "7071641a064e4f011afb390a01cae005", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 302329, "upload_time": "2019-09-10T07:07:37", "url": "https://files.pythonhosted.org/packages/78/6f/7ed5a846bde897d792e0b8b48c88fd893dfd95c242e36bffce99d099e0d8/POT-0.6.0-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cd59056dd4f487e7596086e1df3adf38", "sha256": "b23b8ffefd40641ea4f8e3f694d4b9585b897abb5a2d5c9135f97223dd52609c" }, "downloads": -1, "filename": "POT-0.6.0-cp36-cp36m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "cd59056dd4f487e7596086e1df3adf38", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 294528, "upload_time": "2019-09-10T07:07:39", "url": "https://files.pythonhosted.org/packages/a2/3e/6a88993cf8f4dc088434440a6bf2113039afe15ac29a97d7603997c2e0f5/POT-0.6.0-cp36-cp36m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "0cd82225b9c4973c43555e672fc50841", "sha256": "176f6abad37bb66178c90a2d8db90f6406550978d60ea50a8b5ee7581ba53018" }, "downloads": -1, "filename": "POT-0.6.0-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "0cd82225b9c4973c43555e672fc50841", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 305628, "upload_time": "2019-09-10T07:07:41", "url": "https://files.pythonhosted.org/packages/15/36/07d3c0960a590b88b81fa1837e666cc7479b90c7e9fd1063024ce9331122/POT-0.6.0-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "e60f8238204446e86c98e7cb0cb47fbf", "sha256": "d665d62c20fde504f7c414a4ca7a68cba6c7b254100cfda0834de6d747cb4309" }, "downloads": -1, "filename": "POT-0.6.0-cp37-cp37m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "e60f8238204446e86c98e7cb0cb47fbf", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 295043, "upload_time": "2019-09-10T07:07:44", "url": "https://files.pythonhosted.org/packages/ac/70/83c264f9f4417f853c184f096418f5f5e0c511561f7be2c75111b5a3f83e/POT-0.6.0-cp37-cp37m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "00aa49937da89f2e044d42e9e498605e", "sha256": "c58742ba34bbbc6889ea098eca2081d1253610a93804f2c1cdf64c9f27bd1569" }, "downloads": -1, "filename": "POT-0.6.0-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "00aa49937da89f2e044d42e9e498605e", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 305809, "upload_time": "2019-09-10T07:07:46", "url": "https://files.pythonhosted.org/packages/51/97/f33e927aa83e5034f962d2be035d321c82a2b4bfc24279325c98188300c3/POT-0.6.0-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "0402091f759b5b6bc3323d2e300bc517", "sha256": "a0c254825b65bdfb2b9a4594d1876bdb3bd2564caf0bd86401b440e64c0806c0" }, "downloads": -1, "filename": "POT-0.6.0.tar.gz", "has_sig": false, "md5_digest": "0402091f759b5b6bc3323d2e300bc517", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 794499, "upload_time": "2019-09-10T07:07:48", "url": "https://files.pythonhosted.org/packages/4e/23/8aba82a55d40ac8c5f4313c1c51804dcb239ee3761b9789db1b621e43c87/POT-0.6.0.tar.gz" } ] }