{ "info": { "author": "Lester James V. Miranda", "author_email": "ljvmiranda@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering" ], "description": "![PySwarms Logo](https://i.imgur.com/eX8oqPQ.png)\n---\n\n\n[![PyPI version](https://badge.fury.io/py/pyswarms.svg)](https://badge.fury.io/py/pyswarms)\n[![Build Status](https://dev.azure.com/ljvmiranda/ljvmiranda/_apis/build/status/ljvmiranda921.pyswarms?branchName=master)](https://dev.azure.com/ljvmiranda/ljvmiranda/_build/latest?definitionId=1&branchName=master)\n[![Documentation Status](https://readthedocs.org/projects/pyswarms/badge/?version=latest)](https://pyswarms.readthedocs.io/en/master/?badge=master)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg )](https://raw.githubusercontent.com/ljvmiranda921/pyswarms/master/LICENSE)\n[![DOI](http://joss.theoj.org/papers/10.21105/joss.00433/status.svg)](https://doi.org/10.21105/joss.00433)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![Gitter Chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/pyswarms/Issues)\n\nPySwarms is an extensible research toolkit for particle swarm optimization\n(PSO) in Python.\n\nIt is intended for swarm intelligence researchers, practitioners, and\nstudents who prefer a high-level declarative interface for implementing PSO\nin their problems. PySwarms enables basic optimization with PSO and\ninteraction with swarm optimizations. Check out more features below!\n\n* **Free software:** MIT license\n* **Documentation:** https://pyswarms.readthedocs.io.\n* **Python versions:** 3.5 and above\n\n## Features\n\n* High-level module for Particle Swarm Optimization. For a list of all optimizers, check [this link].\n* Built-in objective functions to test optimization algorithms.\n* Plotting environment for cost histories and particle movement.\n* Hyperparameter search tools to optimize swarm behaviour.\n* (For Devs and Researchers): Highly-extensible API for implementing your own techniques.\n\n[this link]: https://pyswarms.readthedocs.io/en/latest/features.html\n\n## Installation\n\nTo install PySwarms, run this command in your terminal:\n\n```shell\n$ pip install pyswarms\n```\n\nThis is the preferred method to install PySwarms, as it will always install\nthe most recent stable release.\n\nIn case you want to install the bleeding-edge version, clone this repo:\n\n```shell\n$ git clone -b development https://github.com/ljvmiranda921/pyswarms.git\n```\nand then run\n\n```shell\n$ cd pyswarms\n$ python setup.py install\n```\n\n## Running in a Vagrant Box\n\nTo run PySwarms in a Vagrant Box, install Vagrant by going to \nhttps://www.vagrantup.com/downloads.html and downloading the proper packaged from the Hashicorp website. \n\nAfterward, run the following command in the project directory:\n\n```shell\n$ vagrant provision\n$ vagrant up\n$ vagrant ssh\n```\nNow you're ready to develop your contributions in a premade virtual environment. \n\n## Basic Usage\n\nPySwarms provides a high-level implementation of various particle swarm\noptimization algorithms. Thus, it aims to be user-friendly and customizable.\nIn addition, supporting modules can be used to help you in your optimization\nproblem.\n\n### Optimizing a sphere function\n\nYou can import PySwarms as any other Python module,\n\n```python\nimport pyswarms as ps\n```\n\nSuppose we want to find the minima of `f(x) = x^2` using global best\nPSO, simply import the built-in sphere function,\n`pyswarms.utils.functions.sphere()`, and the necessary optimizer:\n\n```python\nimport pyswarms as ps\nfrom pyswarms.utils.functions import single_obj as fx\n# Set-up hyperparameters\noptions = {'c1': 0.5, 'c2': 0.3, 'w':0.9}\n# Call instance of PSO\noptimizer = ps.single.GlobalBestPSO(n_particles=10, dimensions=2, options=options)\n# Perform optimization\nbest_cost, best_pos = optimizer.optimize(fx.sphere, iters=100)\n```\n\n![Sphere Optimization](https://i.imgur.com/5LtjROf.gif)\n\nThis will run the optimizer for `100` iterations, then returns the best cost\nand best position found by the swarm. In addition, you can also access\nvarious histories by calling on properties of the class:\n\n```python\n# Obtain the cost history\noptimizer.get_cost_history\n# Obtain the position history\noptimizer.get_pos_history\n# Obtain the velocity history\noptimizer.get_velocity_history\n```\n\nAt the same time, you can also obtain the mean personal best and mean neighbor\nhistory for local best PSO implementations. Simply call `mean_pbest_history`\nand `optimizer.get_mean_neighbor_history` respectively.\n\n### Hyperparameter search tools\n\nPySwarms implements a grid search and random search technique to find the\nbest parameters for your optimizer. Setting them up is easy. In this example,\nlet's try using `pyswarms.utils.search.RandomSearch` to find the optimal\nparameters for `LocalBestPSO` optimizer.\n\nHere, we input a range, enclosed in tuples, to define the space in which the\nparameters will be found. Thus, `(1,5)` pertains to a range from 1 to 5.\n\n```python\nimport numpy as np\nimport pyswarms as ps\nfrom pyswarms.utils.search import RandomSearch\nfrom pyswarms.utils.functions import single_obj as fx\n\n# Set-up choices for the parameters\noptions = {\n 'c1': (1,5),\n 'c2': (6,10),\n 'w': (2,5),\n 'k': (11, 15),\n 'p': 1\n}\n\n# Create a RandomSearch object\n# n_selection_iters is the number of iterations to run the searcher\n# iters is the number of iterations to run the optimizer\ng = RandomSearch(ps.single.LocalBestPSO, n_particles=40,\n dimensions=20, options=options, objective_func=fx.sphere,\n iters=10, n_selection_iters=100)\n\nbest_score, best_options = g.search()\n```\n\nThis then returns the best score found during optimization, and the\nhyperparameter options that enable it.\n\n```s\n>>> best_score\n1.41978545901\n>>> best_options['c1']\n1.543556887693\n>>> best_options['c2']\n9.504769054771\n```\n\n### Swarm visualization\n\nIt is also possible to plot optimizer performance for the sake of formatting.\nThe plotters module is built on top of `matplotlib`, making it\nhighly-customizable.\n\n\n```python\nimport pyswarms as ps\nfrom pyswarms.utils.functions import single_obj as fx\nfrom pyswarms.utils.plotters import plot_cost_history, plot_contour, plot_surface\nimport matplotlib.pyplot as plt\n# Set-up optimizer\noptions = {'c1':0.5, 'c2':0.3, 'w':0.9}\noptimizer = ps.single.GlobalBestPSO(n_particles=50, dimensions=2, options=options)\noptimizer.optimize(fx.sphere, iters=100)\n# Plot the cost\nplot_cost_history(optimizer.cost_history)\nplt.show()\n```\n\n![CostHistory](https://i.imgur.com/19Iuz4B.png)\n\nWe can also plot the animation...\n\n```python\nfrom pyswarms.utils.plotters.formatters import Mesher, Designer\n# Plot the sphere function's mesh for better plots\nm = Mesher(func=fx.sphere,\n limits=[(-1,1), (-1,1)])\n# Adjust figure limits\nd = Designer(limits=[(-1,1), (-1,1), (-0.1,1)],\n label=['x-axis', 'y-axis', 'z-axis'])\n```\n\nIn 2D,\n\n```python\nplot_contour(pos_history=optimizer.pos_history, mesher=m, designer=d, mark=(0,0))\n```\n\n![Contour](https://i.imgur.com/H3YofJ6.gif)\n\nOr in 3D!\n\n```python\npos_history_3d = m.compute_history_3d(optimizer.pos_history) # preprocessing\nanimation3d = plot_surface(pos_history=pos_history_3d,\n mesher=m, designer=d,\n mark=(0,0,0)) \n```\n\n![Surface](https://i.imgur.com/kRb61Hx.gif)\n\n## Contributing\n\nPySwarms is currently maintained by a small yet dedicated team:\n- Lester James V. Miranda ([@ljvmiranda921](https://github.com/ljvmiranda921))\n- Siobh\u00e1n K. Cronin ([@SioKCronin](https://github.com/SioKCronin))\n- Aaron Moser ([@whzup](https://github.com/whzup))\n- Steven Beardwell ([@stevenbw](https://github.com/stevenbw))\n\nAnd we would appreciate it if you can lend a hand with the following:\n\n* Find bugs and fix them\n* Update documentation in docstrings\n* Implement new optimizers to our collection\n* Make utility functions more robust.\n\nWe would also like to acknowledge [all our\ncontributors](http://pyswarms.readthedocs.io/en/latest/authors.html), past and\npresent, for making this project successful!\n\nIf you wish to contribute, check out our [contributing guide].\nMoreover, you can also see the list of features that need some help in our\n[Issues] page.\n\n[contributing guide]: https://pyswarms.readthedocs.io/en/development/contributing.html\n[Issues]: https://github.com/ljvmiranda921/pyswarms/issues\n\n**Most importantly**, first-time contributors are welcome to join! I try my\nbest to help you get started and enable you to make your first Pull Request!\nLet's learn from each other!\n\n## Credits\n\nThis project was inspired by the [pyswarm] module that performs PSO with\nconstrained support. The package was created with [Cookiecutter] and the\n[`audreyr/cookiecutter-pypackage`] project template.\n\n[pyswarm]: https://github.com/tisimst/pyswarm\n[Cookiecutter]: https://github.com/audreyr/cookiecutter\n[`audreyr/cookiecutter-pypackage`]: https://github.com/audreyr/cookiecutter-pypackage\n\n## Cite us\nAre you using PySwarms in your project or research? Please cite us!\n\n* Miranda L.J., (2018). PySwarms: a research toolkit for Particle Swarm Optimization in Python. *Journal of Open Source Software*, 3(21), 433, https://doi.org/joss.00433\n\n```bibtex\n@article{pyswarmsJOSS2018,\n author = {Lester James V. Miranda},\n title = \"{P}y{S}warms, a research-toolkit for {P}article {S}warm {O}ptimization in {P}ython\",\n journal = {Journal of Open Source Software},\n year = {2018},\n volume = {3},\n issue = {21},\n doi = {10.21105/joss.00433},\n url = {https://doi.org/10.21105/joss.00433}\n}\n```\n\n### Projects citing PySwarms\nNot on the list? Ping us in the Issue Tracker!\n\n* Gousios, Georgios. Lecture notes for the TU Delft TI3110TU course Algorithms and Data Structures. Accessed May 22, 2018. http://gousios.org/courses/algo-ds/book/string-distance.html#sop-example-using-pyswarms.\n* Nandy, Abhishek, and Manisha Biswas., \"Applying Python to Reinforcement Learning.\" *Reinforcement Learning*. Apress, Berkeley, CA, 2018. 89-128.\n* Benedetti, Marcello, et al., \"A generative modeling approach for benchmarking and training shallow quantum circuits.\" *arXiv preprint arXiv:1801.07686* (2018).\n* Vrban\u010di\u010d et al., \"NiaPy: Python microframework for building nature-inspired algorithms.\" Journal of Open Source Software, 3(23), 613, https://doi.org/10.21105/joss.00613\n* Ha\u0308se, Florian, et al. \"Phoenics: A Bayesian optimizer for chemistry.\" *ACS Central Science.* 4.9 (2018): 1134-1145. \n* Szynkiewicz, Pawel. \"A Comparative Study of PSO and CMA-ES Algorithms on Black-box Optimization Benchmarks.\" *Journal of Telecommunications and Information Technology* 4 (2018): 5.\n* Mistry, Miten, et al. \"Mixed-Integer Convex Nonlinear Optimization with Gradient-Boosted Trees Embedded.\" Imperial College London (2018).\n* Vishwakarma, Gaurav. *Machine Learning Model Selection for Predicting Properties of High Refractive Index Polymers* Dissertation. State University of New York at Buffalo, 2018.\n* Uluturk Ismail, et al. \"Efficient 3D Placement of Access Points in an Aerial Wireless Network.\" *2019 16th IEEE Anual Consumer Communications and Networking Conference (CCNC)* IEEE (2019): 1-7.\n\n## Others\nLike it? Love it? Leave us a star on [Github] to show your appreciation! \n\n[Github]: https://github.com/ljvmiranda921/pyswarms\n\n## Contributors\n\nThanks goes to these wonderful people ([emoji key](https://github.com/all-contributors/all-contributors#emoji-key)):\n\n\n\n
\"Aaron\"/
Aaron

\ud83d\udea7 \ud83d\udcbb \ud83d\udcd6 \u26a0\ufe0f \ud83e\udd14 \ud83d\udc40
\"Carl-K\"/
Carl-K

\ud83d\udcbb \u26a0\ufe0f
\"Siobh\u00e1n
Siobh\u00e1n K Cronin

\ud83d\udcbb \ud83d\udea7 \ud83e\udd14
\"Andrew
Andrew Jarcho

\u26a0\ufe0f \ud83d\udcbb
\"Mamady\"/
Mamady

\ud83d\udcbb
\"Jay
Jay Speidell

\ud83d\udcbb
\"Eric\"/
Eric

\ud83d\udc1b \ud83d\udcbb
\"CPapadim\"/
CPapadim

\ud83d\udc1b \ud83d\udcbb
\"JiangHui\"/
JiangHui

\ud83d\udcbb
\"Jericho
Jericho Arcelao

\ud83d\udcbb
\"James
James D. Bohrman

\ud83d\udcbb
\"bradahoward\"/
bradahoward

\ud83d\udcbb
\"ThomasCES\"/
ThomasCES

\ud83d\udcbb
\"Daniel
Daniel Correia

\ud83d\udc1b \ud83d\udcbb
\"fluencer\"/
fluencer

\ud83d\udca1 \ud83d\udcd6
\"miguelcocruz\"/
miguelcocruz

\ud83d\udcd6 \ud83d\udca1
\"Steven
Steven Beardwell

\ud83d\udcbb \ud83d\udea7 \ud83d\udcd6 \ud83e\udd14
\"Nathaniel
Nathaniel Ngo

\ud83d\udcd6
\"Aneal
Aneal Sharma

\ud83d\udcd6
\"Chris
Chris McClure

\ud83d\udcd6 \ud83d\udca1
\"Christopher
Christopher Angell

\ud83d\udcd6
\"Kutim\"/
Kutim

\ud83d\udc1b
\"Jake
Jake Souter

\ud83d\udc1b \ud83d\udcbb
\"Ian
Ian Zhang

\ud83d\udcd6 \ud83d\udca1
\"Zach\"/
Zach

\ud83d\udcd6
\n\n\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ljvmiranda921/pyswarms", "keywords": "pyswarms", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "pyswarms", "package_url": "https://pypi.org/project/pyswarms/", "platform": "", "project_url": "https://pypi.org/project/pyswarms/", "project_urls": { "Homepage": "https://github.com/ljvmiranda921/pyswarms" }, "release_url": "https://pypi.org/project/pyswarms/1.1.0/", "requires_dist": [ "scipy", "numpy", "matplotlib (>=1.3.1)", "attrs", "tqdm", "future", "alabaster (==0.7.12); extra == 'test'", "atomicwrites (==1.2.1); extra == 'test'", "attrs (==18.1.0); extra == 'test'", "babel (==2.6.0); extra == 'test'", "backcall (==0.1.0); extra == 'test'", "bleach (==3.1.0); extra == 'test'", "bumpversion (==0.5.3); extra == 'test'", "certifi (==2018.11.29); extra == 'test'", "chardet (==3.0.4); extra == 'test'", "coverage (==4.5.1); extra == 'test'", "cycler (==0.10.0); extra == 'test'", "decorator (==4.4.0); extra == 'test'", "defusedxml (==0.6.0); extra == 'test'", "docutils (==0.14); extra == 'test'", "entrypoints (==0.3); extra == 'test'", "flake8 (==3.5.0); extra == 'test'", "future (==0.16.0); extra == 'test'", "idna (==2.8); extra == 'test'", "imagesize (==1.1.0); extra == 'test'", "ipykernel (==5.1.1); extra == 'test'", "ipython-genutils (==0.2.0); extra == 'test'", "ipython (==7.5.0); extra == 'test'", "jedi (==0.13.3); extra == 'test'", "jinja2 (==2.10); extra == 'test'", "joblib (==0.13.2); extra == 'test'", "jsonschema (==3.0.1); extra == 'test'", "jupyter-client (==5.2.4); extra == 'test'", "jupyter-core (==4.4.0); extra == 'test'", "kiwisolver (==1.0.1); extra == 'test'", "markupsafe (==1.1.0); extra == 'test'", "matplotlib (==3.0.2); extra == 'test'", "mccabe (==0.6.1); extra == 'test'", "mistune (==0.8.4); extra == 'test'", "mock (==2.0.0); extra == 'test'", "more-itertools (==5.0.0); extra == 'test'", "nbconvert (==5.5.0); extra == 'test'", "nbformat (==4.4.0); extra == 'test'", "nbsphinx (==0.4.2); extra == 'test'", "nbstripout (==0.3.5); extra == 'test'", "numpy (==1.16.1); extra == 'test'", "packaging (==19.0); extra == 'test'", "pandas (==0.24.2); extra == 'test'", "pandocfilters (==1.4.2); extra == 'test'", "parso (==0.4.0); extra == 'test'", "pbr (==5.1.1); extra == 'test'", "pexpect (==4.7.0); extra == 'test'", "pickleshare (==0.7.5); extra == 'test'", "pluggy (==0.8.1); extra == 'test'", "pockets (==0.7.2); extra == 'test'", "prompt-toolkit (==2.0.9); extra == 'test'", "ptyprocess (==0.6.0); extra == 'test'", "py (==1.7.0); extra == 'test'", "pycodestyle (==2.3.1); extra == 'test'", "pyflakes (==1.6.0); extra == 'test'", "pygments (==2.3.1); extra == 'test'", "pyparsing (==2.3.1); extra == 'test'", "pyrsistent (==0.15.2); extra == 'test'", "pytest (==3.7.1); extra == 'test'", "python-dateutil (==2.7.5); extra == 'test'", "pytz (==2018.9); extra == 'test'", "pyyaml (==3.13); extra == 'test'", "pyzmq (==18.0.1); extra == 'test'", "requests (==2.21.0); extra == 'test'", "scikit-learn (==0.21.1); extra == 'test'", "scipy (==1.2.0); extra == 'test'", "seaborn (==0.9.0); extra == 'test'", "six (==1.12.0); extra == 'test'", "snowballstemmer (==1.2.1); extra == 'test'", "sphinx-rtd-theme (==0.4.3); extra == 'test'", "sphinx (==1.7.6); extra == 'test'", "sphinxcontrib-napoleon (==0.7); extra == 'test'", "sphinxcontrib-websupport (==1.1.0); extra == 'test'", "testpath (==0.4.2); extra == 'test'", "tornado (==6.0.2); extra == 'test'", "tox (==3.2.1); extra == 'test'", "tqdm (==4.24.0); extra == 'test'", "traitlets (==4.3.2); extra == 'test'", "urllib3 (==1.24.1); extra == 'test'", "virtualenv (==16.3.0); extra == 'test'", "wcwidth (==0.1.7); extra == 'test'", "webencodings (==0.5.1); extra == 'test'", "wheel (==0.31.1); extra == 'test'" ], "requires_python": "", "summary": "A Python-based Particle Swarm Optimization (PSO) library.", "version": "1.1.0" }, "last_serial": 5285228, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "92ac9438488c4b19906f390b85a86798", "sha256": "26de82243b8d6438e77d4e4753b11ba0c081e9a73b9373765939bd42fc43e367" }, "downloads": -1, "filename": "pyswarms-0.1.0.tar.gz", "has_sig": false, "md5_digest": "92ac9438488c4b19906f390b85a86798", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12716, "upload_time": "2017-07-23T09:55:43", "url": "https://files.pythonhosted.org/packages/89/fe/1f0cd0be5be5c03f7c36d8c4fad4f80fb6a65f25b20e1de446af4589f5b4/pyswarms-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3dc55fe0d73364d0f219236a753b70d5", "sha256": "e38ac6051485cb3e22660ed8df3624e1193c62338d6bba2c2e8e5c73f8fcb6e0" }, "downloads": -1, "filename": "pyswarms-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3dc55fe0d73364d0f219236a753b70d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13303, "upload_time": "2017-07-25T05:32:21", "url": "https://files.pythonhosted.org/packages/ef/90/c102e10b01271d2af37ec148baa29991ecf4b2eb5d89ab7a5191093d044c/pyswarms-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b6519e30e7ce4b1a214b43f0570cb585", "sha256": "125dd3189e0156866151afa46622e9df3b8a45fd48279533e2561f2efb54f581" }, "downloads": -1, "filename": "pyswarms-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b6519e30e7ce4b1a214b43f0570cb585", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24364, "upload_time": "2017-08-02T05:39:37", "url": "https://files.pythonhosted.org/packages/35/06/d261c66d0a4124104fc98af937f9cf23cf6bf3e32f7f4a4a4d1da837cb84/pyswarms-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5fb636ff027760ee406e1108b9f64936", "sha256": "0b05bec1ae3a14354a7fc86ffcfc6b1478e132089ceeadea60ebf32c428d464f" }, "downloads": -1, "filename": "pyswarms-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5fb636ff027760ee406e1108b9f64936", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24494, "upload_time": "2017-08-02T18:08:04", "url": "https://files.pythonhosted.org/packages/e5/1b/730ff360b5f0e6ed1d0ecf325bc7c5a49a6f22cda2ce10a24de0a350f4ae/pyswarms-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "5c196461bc6f69e59e02d119b8e83a08", "sha256": "f68d33dc9d54d943efb0686c56f887c864b836dc634bca56cce4df6cb1d30db3" }, "downloads": -1, "filename": "pyswarms-0.1.4.tar.gz", "has_sig": false, "md5_digest": "5c196461bc6f69e59e02d119b8e83a08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35735, "upload_time": "2017-08-02T18:32:09", "url": "https://files.pythonhosted.org/packages/48/ff/aed4e87844eaf412ce18dec391a326fc97a207e8ec4bab082c125564c777/pyswarms-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "407dbc082d8beb5d876024e9ced42fc8", "sha256": "84bff0d3d8dd48741f20c621ced7dba08d7d3ec2f74178641650b6bdeabb5193" }, "downloads": -1, "filename": "pyswarms-0.1.5.tar.gz", "has_sig": false, "md5_digest": "407dbc082d8beb5d876024e9ced42fc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2001305, "upload_time": "2017-08-11T07:09:53", "url": "https://files.pythonhosted.org/packages/0e/cd/9d040807ea05a5b267f70e9a0cf66132a818587361eba034e95c7f15a767/pyswarms-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "9ff607756f2a1172ddf460f73d00fbb1", "sha256": "218396c2e2770b24621d71a4c7cb48d130a45a708eb56220e92b10c519b7c3ba" }, "downloads": -1, "filename": "pyswarms-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9ff607756f2a1172ddf460f73d00fbb1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48896, "upload_time": "2017-09-24T01:25:08", "url": "https://files.pythonhosted.org/packages/2b/9b/89f2fabff37435724a8dafd3879baf5925b8197ba0e83409d8a940bd6e4e/pyswarms-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7be321bb277aa99733f9457325ba779f", "sha256": "02941d3c4166e495f34c906df89ed01e8b2aaf3c50d6d9a5361409cfd6581c66" }, "downloads": -1, "filename": "pyswarms-0.1.6.tar.gz", "has_sig": false, "md5_digest": "7be321bb277aa99733f9457325ba779f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2009286, "upload_time": "2017-09-24T01:25:10", "url": "https://files.pythonhosted.org/packages/c4/d6/1381799006205804a4be59f80098ad6c2c7b2c1fdea2b728e175a05f5019/pyswarms-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "dc66adb5a20f465211ec2c5a21b10d5a", "sha256": "1c3a5a0ac724418925337ef96ef111c1d05fb95563855abeab6b5e8b288265b1" }, "downloads": -1, "filename": "pyswarms-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dc66adb5a20f465211ec2c5a21b10d5a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 49374, "upload_time": "2017-09-25T10:02:44", "url": "https://files.pythonhosted.org/packages/63/47/4c802e3d325b6304036162e2159d4b87310b95cd2974fce99b7867405d96/pyswarms-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e48dd3e4ce90e39b7bbcfe967a670929", "sha256": "a42e2fcad0021925f220f490f24e928dfb1778cbb658d62c9a5ce6786a9519a5" }, "downloads": -1, "filename": "pyswarms-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e48dd3e4ce90e39b7bbcfe967a670929", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2010151, "upload_time": "2017-09-25T10:02:46", "url": "https://files.pythonhosted.org/packages/4c/f6/61247330f3fcc8b920853f93bae093c919be6b41c4ee1a147945799841c9/pyswarms-0.1.7.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "2984aec16e045ee02e373282c7a66570", "sha256": "68a9664f3362ba61d6be08bc0a1fb493c614941e6ef4486b7a18dd099996698f" }, "downloads": -1, "filename": "pyswarms-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2984aec16e045ee02e373282c7a66570", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 54079, "upload_time": "2018-04-20T11:03:06", "url": "https://files.pythonhosted.org/packages/f4/04/b50d607cef965bc6d5348851d3f16769e25450d0311c0c09000017d490d9/pyswarms-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e722b6d723f44a38c5e8ced904119055", "sha256": "0bb49a86396bb286ca25911547c73bd56277b3f27f61133d8220c88c2b2e23ec" }, "downloads": -1, "filename": "pyswarms-0.1.9.tar.gz", "has_sig": false, "md5_digest": "e722b6d723f44a38c5e8ced904119055", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2017625, "upload_time": "2018-04-20T11:03:08", "url": "https://files.pythonhosted.org/packages/29/bc/91a5a9a2c16ea51d3b7ab1e79ce67126b2e412e8230eee30e040247db574/pyswarms-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8b07794af24d73c21c02cbea1d936aba", "sha256": "054efdd14725c329e57cbe4545d23edb018d09c2c1bd98485eb9592906c926fd" }, "downloads": -1, "filename": "pyswarms-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b07794af24d73c21c02cbea1d936aba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 68945, "upload_time": "2018-06-11T01:57:27", "url": "https://files.pythonhosted.org/packages/d8/33/451776020891de9f6dfc3111f3a2ff1bef060e6347805961d4936c2b3dae/pyswarms-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc523f4637ca8826d1f84bc531b75237", "sha256": "c0bbde00dd2d3f08fdc9b6656f1f8f40e94b7e34f3caa8200efb84a720b9b34f" }, "downloads": -1, "filename": "pyswarms-0.2.0.tar.gz", "has_sig": false, "md5_digest": "fc523f4637ca8826d1f84bc531b75237", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4240752, "upload_time": "2018-06-11T01:57:42", "url": "https://files.pythonhosted.org/packages/d4/33/012eb5a8db90c44b174af284da06468994fe016653d7035d6ea50baedf47/pyswarms-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "79cc00c80de117a1f1387f926a970084", "sha256": "b3af8b92391774ebd3d0b05b1b74f9a0ef0a2b5e146387d32d9df6e95363874a" }, "downloads": -1, "filename": "pyswarms-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "79cc00c80de117a1f1387f926a970084", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 66492, "upload_time": "2018-06-27T02:08:25", "url": "https://files.pythonhosted.org/packages/f0/38/07a472a2aac09dd27c9a502f47da658247755f9d80e34112e9d4f157d380/pyswarms-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7ed5b58e60c816f2939e4f31e282d4e", "sha256": "ec16e5c7e40370521b494b43bdaf918d7924fa4aed8485a08f0ec0a7de704c29" }, "downloads": -1, "filename": "pyswarms-0.2.1.tar.gz", "has_sig": false, "md5_digest": "e7ed5b58e60c816f2939e4f31e282d4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3912099, "upload_time": "2018-06-27T02:08:28", "url": "https://files.pythonhosted.org/packages/73/84/5c89393056a5aec7bcee722c6c3086ac7d43caa5590c3b2366e6e829178c/pyswarms-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "8503d8df31022b2e09158f243812e48c", "sha256": "3917aa0aa00d0cc322922ef69f9036d4e8af3302ac2c66789d5d9b015f6a4fc1" }, "downloads": -1, "filename": "pyswarms-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8503d8df31022b2e09158f243812e48c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 88923, "upload_time": "2018-08-10T00:25:19", "url": "https://files.pythonhosted.org/packages/20/5f/2adb6f084e81337198d80985dd4d2308c10d6cfa9dcac617ad33f71da2d4/pyswarms-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5c975084d3efdbd88c034f8cc83f44e", "sha256": "e8f5fe004d62de38aed901a749a54159f73af6dc7d6394904e47a92c57a1dfcb" }, "downloads": -1, "filename": "pyswarms-0.3.0.tar.gz", "has_sig": false, "md5_digest": "a5c975084d3efdbd88c034f8cc83f44e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2153166, "upload_time": "2018-08-10T00:25:24", "url": "https://files.pythonhosted.org/packages/2f/db/a6700540c99002e3fc98670a615714028de69f0ae96f22dd67bec200807c/pyswarms-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e5bb08c4029aa356d9acde0415c3564d", "sha256": "a25e820302be124b4b15abf5ede6a53a748a2422ce7793c2dbd95b84adabe1ee" }, "downloads": -1, "filename": "pyswarms-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e5bb08c4029aa356d9acde0415c3564d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 89093, "upload_time": "2018-08-13T10:11:56", "url": "https://files.pythonhosted.org/packages/bd/14/8efe3505355f0ccf6dcfe6d0e358fe6306f3e5a665fd7d7fdbce42099922/pyswarms-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f82c68918d06478dafde77345d2cedd4", "sha256": "64a22c451752786a7dd9034c159ff7ef63cd5b28983879c84006e533cd12d64b" }, "downloads": -1, "filename": "pyswarms-0.3.1-py3.6.egg", "has_sig": false, "md5_digest": "f82c68918d06478dafde77345d2cedd4", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 199733, "upload_time": "2019-01-29T12:23:32", "url": "https://files.pythonhosted.org/packages/b0/a8/617f19600a15fe9f46b2a7a66b8f475ad478aa5707c7a3e64c10eccb8d52/pyswarms-0.3.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "96316aace12d28140f1916c05feb2a60", "sha256": "218402e57c685a806fb71c2a8f007802fd2ae1fdd5bf343831f6f30fcf7f5ec7" }, "downloads": -1, "filename": "pyswarms-0.3.1.tar.gz", "has_sig": false, "md5_digest": "96316aace12d28140f1916c05feb2a60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3929529, "upload_time": "2018-08-13T10:12:00", "url": "https://files.pythonhosted.org/packages/8f/b1/1e80bfc01a3b675bc920973182e1c7816210ca4bdc51b344b78978f5855a/pyswarms-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "7453f6b73174eccef84cb2c38a7a1872", "sha256": "0599329e145d091c2584d9b8f96b9766a79a32747a66145fb5e9d4f1a5a4cc91" }, "downloads": -1, "filename": "pyswarms-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7453f6b73174eccef84cb2c38a7a1872", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 94299, "upload_time": "2019-01-29T12:23:29", "url": "https://files.pythonhosted.org/packages/89/86/29d82f9f717a2e60405db4c96e47e669d5c11ad69a100c345a9ac4fe94f0/pyswarms-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "085586b7f90f5806c72bd020a0774ea1", "sha256": "f5b61a5d6988a53e2a3f4349057619d673fa86fb5398975f2a3dee055249c481" }, "downloads": -1, "filename": "pyswarms-0.4.0.tar.gz", "has_sig": false, "md5_digest": "085586b7f90f5806c72bd020a0774ea1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2154577, "upload_time": "2019-01-29T12:23:42", "url": "https://files.pythonhosted.org/packages/f7/83/5747b21d849823509b4c45cc07293c4a6e4a1ac194c817e2918376ded171/pyswarms-0.4.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "d13e3e485c5147e40509acba5985f560", "sha256": "99f6897bf357c69f3958f4b92ad9e80ebe69ac122a342c231602a55b9ebc3802" }, "downloads": -1, "filename": "pyswarms-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d13e3e485c5147e40509acba5985f560", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2160759, "upload_time": "2019-02-09T04:34:29", "url": "https://files.pythonhosted.org/packages/cc/d4/fa5a4f8f1c29a8e4d67dbd8e435940b334d5b3751ce45561d472ff801158/pyswarms-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "06d20795df86c2ba54a6c916737d95f4", "sha256": "990f361dba7f81220971aa840a1f2c0440c92bc2aa4f15fff4dbf53827001370" }, "downloads": -1, "filename": "pyswarms-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "06d20795df86c2ba54a6c916737d95f4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 93876, "upload_time": "2019-02-14T14:27:52", "url": "https://files.pythonhosted.org/packages/d2/25/1092198ee6416d3baaf65c14f20f27848272ff6ff5dc5fcd87f197dfd5b5/pyswarms-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a33ca0dd2ae14b36259468eb2f37511", "sha256": "dd07e5d0a6519f77456fdb5f20c9286057a8c6e31b892481f824df6e75489c03" }, "downloads": -1, "filename": "pyswarms-1.0.1.tar.gz", "has_sig": false, "md5_digest": "3a33ca0dd2ae14b36259468eb2f37511", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2162538, "upload_time": "2019-02-14T14:28:05", "url": "https://files.pythonhosted.org/packages/ea/68/598f7bd388a0cafabdb54e00ba78294f1b7bb01eea551c9b99b3f987b792/pyswarms-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "dc8de628606abf7d4425d87a10967a1c", "sha256": "66675c719db010b633b47dc22665fabd0f726b353424d23f748395ca2b00a46a" }, "downloads": -1, "filename": "pyswarms-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dc8de628606abf7d4425d87a10967a1c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 93937, "upload_time": "2019-02-18T01:50:17", "url": "https://files.pythonhosted.org/packages/3c/63/759daa7cb35f5d51e9803971b287535e191071413c0e22c49ed4f8898979/pyswarms-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db71737a8345c13238bc26e99d60e46f", "sha256": "f4f635c687205e732b687dc9fb4739e543ce9af5c27265133c246e4c7fbf55f9" }, "downloads": -1, "filename": "pyswarms-1.0.2.tar.gz", "has_sig": false, "md5_digest": "db71737a8345c13238bc26e99d60e46f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2162635, "upload_time": "2019-02-18T01:50:26", "url": "https://files.pythonhosted.org/packages/4b/80/d8409780aab05a5d3680d555b76992090bbcfd706e64b560bce4cdeee45d/pyswarms-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e8bf924ee6a47a9d09f2076017708af1", "sha256": "68767e31252dad09b3e1af934bfbe79faae2063e8b86dde722693ffdcb0dbdb4" }, "downloads": -1, "filename": "pyswarms-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8bf924ee6a47a9d09f2076017708af1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 96065, "upload_time": "2019-05-18T08:41:27", "url": "https://files.pythonhosted.org/packages/0b/6f/42605c4e111a08a8fbaba953d0783c56ad2913ffa5959bdac53f649502a2/pyswarms-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a53cdb236cb15eab040f225704b1be3d", "sha256": "05286e7b3f04fc7dfe32019c9b8bb3263e38868cb9b4ac2070e60f9afd2cc310" }, "downloads": -1, "filename": "pyswarms-1.1.0.tar.gz", "has_sig": false, "md5_digest": "a53cdb236cb15eab040f225704b1be3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19451867, "upload_time": "2019-05-18T08:41:48", "url": "https://files.pythonhosted.org/packages/72/1e/9769d5820bf825e15f13547c4a1d1f483046d44827d0bdcf48152d858f5a/pyswarms-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e8bf924ee6a47a9d09f2076017708af1", "sha256": "68767e31252dad09b3e1af934bfbe79faae2063e8b86dde722693ffdcb0dbdb4" }, "downloads": -1, "filename": "pyswarms-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8bf924ee6a47a9d09f2076017708af1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 96065, "upload_time": "2019-05-18T08:41:27", "url": "https://files.pythonhosted.org/packages/0b/6f/42605c4e111a08a8fbaba953d0783c56ad2913ffa5959bdac53f649502a2/pyswarms-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a53cdb236cb15eab040f225704b1be3d", "sha256": "05286e7b3f04fc7dfe32019c9b8bb3263e38868cb9b4ac2070e60f9afd2cc310" }, "downloads": -1, "filename": "pyswarms-1.1.0.tar.gz", "has_sig": false, "md5_digest": "a53cdb236cb15eab040f225704b1be3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19451867, "upload_time": "2019-05-18T08:41:48", "url": "https://files.pythonhosted.org/packages/72/1e/9769d5820bf825e15f13547c4a1d1f483046d44827d0bdcf48152d858f5a/pyswarms-1.1.0.tar.gz" } ] }