{ "info": { "author": "Gustavo Rosa", "author_email": "gth.rosa@uol.com.br", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Opytimizer: A Nature-Inspired Python Optimizer\n\n[![Latest release](https://img.shields.io/github/release/gugarosa/opytimizer.svg)](https://github.com/gugarosa/opytimizer/releases)\n[![Build status](https://img.shields.io/travis/com/gugarosa/opytimizer/master.svg)](https://github.com/gugarosa/opytimizer/releases)\n[![Open issues](https://img.shields.io/github/issues/gugarosa/opytimizer.svg)](https://github.com/gugarosa/opytimizer/issues)\n[![License](https://img.shields.io/github/license/gugarosa/opytimizer.svg)](https://github.com/gugarosa/opytimizer/blob/master/LICENSE)\n\n## Welcome to Opytimizer.\nDid you ever reach a bottleneck in your computational experiments? Are you tired of selecting suitable parameters for a chosen technique? If yes, Opytimizer is the real deal! This package provides an easy-to-go implementation of meta-heuristic optimizations. From agents to search space, from internal functions to external communication, we will foster all research related to optimizing stuff.\n\nUse Opytimizer if you need a library or wish to:\n* Create your optimization algorithm.\n* Design or use pre-loaded optimization tasks.\n* Mix-and-match different strategies to solve your problem.\n* Because it is fun to optimize things.\n\nRead the docs at [opytimizer.readthedocs.io](https://opytimizer.readthedocs.io).\n\nOpytimizer is compatible with: **Python 3.6+** and **PyPy 3.5**.\n\n---\n\n## Package guidelines\n\n1. The very first information you need is in the very **next** section.\n2. **Installing** is also easy if you wish to read the code and bump yourself into, follow along.\n3. Note that there might be some **additional** steps in order to use our solutions.\n4. If there is a problem, please do not **hesitate**, call us.\n5. Finally, we focus on **minimization**. Take that in mind, when designing your problem.\n\n---\n\n## Getting started: 60 seconds with Opytimizer\n\nFirst of all. We have examples. Yes, they are commented. Just browse to `examples/`, chose your subpackage, and follow the example. We have high-level examples for most tasks we could think of and amazing integrations ([LibOPF](https://github.com/jppbsi/LibOPF), [PyTorch](https://github.com/pytorch/pytorch), [Scikit-Learn](https://github.com/scikit-learn/scikit-learn), [Recogners](https://github.com/recogna-lab/recogners)).\n\nAlternatively, if you wish to learn even more, please take a minute:\n\nOpytimizer is based on the following structure, and you should pay attention to its tree:\n\n```\n- opytimizer\n - core\n - agent\n - function\n - node\n - optimizer\n - space\n - functions\n - weighted\n - math\n - benchmark\n - distribution\n - general\n - hypercomplex\n - random\n - optimizers\n - abc\n - aiwpso\n - ba\n - bha\n - cs\n - fa\n - fpa\n - gp\n - hs\n - ihs\n - pso\n - wca\n - spaces\n - hyper\n - search\n - tree\n - utils\n - constants\n - exception\n - history\n - logging\n - visualization\n```\n\n### Core\n\nCore is the core. Essentially, it is the parent of everything. You should find parent classes defining the basis of our structure. They should provide variables and methods that will help to construct other modules.\n\n### Functions\n\nInstead of using raw and straightforward functions, why not try this module? Compose high-level abstract functions or even new function-based ideas in order to solve your problems. Note that for now, we will only support multi-objective function strategies.\n\n### Math\n\nJust because we are computing stuff, it does not means that we do not need math. Math is the mathematical package, containing low-level math implementations. From random numbers to distributions generation, you can find your needs on this module.\n\n### Optimizers\n\nThis is why we are called Opytimizer. This is the heart of the heuristics, where you can find a large number of meta-heuristics, optimization techniques, anything that can be called as an optimizer. Investigate any module for more information.\n\n### Spaces\n\nOne can see the space as the place that agents will update their positions and evaluate a fitness function. However, the newest approaches may consider a different type of space. Thinking about that, we are glad to support diverse space implementations.\n\n### Utils\n\nThis is a utility package. Common things shared across the application should be implemented here. It is better to implement once and use as you wish than re-implementing the same thing over and over again.\n\n### Visualization\n\nEveryone needs images and plots to help visualize what is happening, correct? This package will provide every visual-related method for you. Check a specific variable convergence, your fitness function convergence, plot benchmark function surfaces, and much more!\n\n---\n\n## Installation\n\nWe believe that everything has to be easy. Not tricky or daunting, Opytimizer will be the one-to-go package that you will need, from the very first installation to the daily-tasks implementing needs. If you may just run the following under your most preferred Python environment (raw, conda, virtualenv, whatever):\n\n```Python\npip install opytimizer\n```\n\nAlternatively, if you prefer to install the bleeding-edge version, please clone this repository and use:\n\n```Python\npip install .\n```\n\n---\n\n## Environment configuration\n\nNote that sometimes, there is a need for additional implementation. If needed, from here you will be the one to know all of its details.\n\n### Ubuntu\n\nNo specific additional commands needed.\n\n### Windows\n\nNo specific additional commands needed.\n\n### MacOS\n\nNo specific additional commands needed.\n\n---\n\n## Support\n\nWe know that we do our best, but it is inevitable to acknowledge that we make mistakes. If you ever need to report a bug, report a problem, talk to us, please do so! We will be available at our bests at this repository or gustavo.rosa@unesp.br.\n\n---\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/gugarosa/opytimizer", "keywords": "", "license": "GPL-3.0", "maintainer": "", "maintainer_email": "", "name": "opytimizer", "package_url": "https://pypi.org/project/opytimizer/", "platform": "", "project_url": "https://pypi.org/project/opytimizer/", "project_urls": { "Homepage": "https://github.com/gugarosa/opytimizer" }, "release_url": "https://pypi.org/project/opytimizer/1.1.0/", "requires_dist": [ "coverage (>=4.5.2)", "numpy (>=1.13.3)", "pylint (>=1.7.4)", "pytest (>=3.2.3)", "coverage ; extra == 'tests'", "pytest ; extra == 'tests'", "pytest-pep8 ; extra == 'tests'" ], "requires_python": "", "summary": "Nature-Inspired Python Optimizer", "version": "1.1.0" }, "last_serial": 5923884, "releases": { "1.0.6": [ { "comment_text": "", "digests": { "md5": "9236891b0d99c61be125b4ea6e70dfe9", "sha256": "efe75ad8078e935533c770684741ad8ec2a4795e50998d57ac2a2cb245469df3" }, "downloads": -1, "filename": "opytimizer-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "9236891b0d99c61be125b4ea6e70dfe9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44012, "upload_time": "2019-06-21T14:18:54", "url": "https://files.pythonhosted.org/packages/85/e2/fa22d0e90772dfa8abd7bfcc803ae812f167a0910e319e2b837aea9c9749/opytimizer-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab094ae5a1252b842b221bd65875429c", "sha256": "0abd768d15211b3831994cb958a20c633ef8e7a51f88409a2e48412f05887bb2" }, "downloads": -1, "filename": "opytimizer-1.0.6.tar.gz", "has_sig": false, "md5_digest": "ab094ae5a1252b842b221bd65875429c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23164, "upload_time": "2019-06-21T14:18:57", "url": "https://files.pythonhosted.org/packages/10/8c/f929a59232cc37ba43c72c49149bd43ec10adf86c766140ea5a00d4d1a0a/opytimizer-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "3fe7bb638361b1925d5093f9f3348c86", "sha256": "834f9dbe0c988a76e3dd9ff2b3d384e7ceaf924eaf4be7dac2f0a4b8126a2b9a" }, "downloads": -1, "filename": "opytimizer-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "3fe7bb638361b1925d5093f9f3348c86", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59020, "upload_time": "2019-09-12T17:46:18", "url": "https://files.pythonhosted.org/packages/8f/af/498701e1ba54ca65c610b255ded69d22f7270dcb297d2927b49b00ca8dcc/opytimizer-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3225a297e2a7fbd1470f75c27173e13c", "sha256": "1bd58008ff3d2bcb6cede4eefa7b59b63799bbc0795f7add5087fdcd28acf0d2" }, "downloads": -1, "filename": "opytimizer-1.0.7.tar.gz", "has_sig": false, "md5_digest": "3225a297e2a7fbd1470f75c27173e13c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23757, "upload_time": "2019-09-12T17:46:19", "url": "https://files.pythonhosted.org/packages/fa/78/381368ca02958f6fbe4d4722dc80c5f7f3b78416d983fe95629ef13bdbd3/opytimizer-1.0.7.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b4d821fdf22aa9960fcc16f07825d52f", "sha256": "892706d04404f3d81f221347181831b565fc91cf4c09f067c9fc854e755849ba" }, "downloads": -1, "filename": "opytimizer-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b4d821fdf22aa9960fcc16f07825d52f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 72764, "upload_time": "2019-10-03T14:47:14", "url": "https://files.pythonhosted.org/packages/1e/03/c26b999bc53cb79388f69e8270a1213a944aa1a8d626d1c0f71f8fb6cdc8/opytimizer-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2b0ef8b559e9945d8f7b772770f9093a", "sha256": "091295331a45e510df60d24847a1c60901b50e228e3bb83c4516e34e9aa2d897" }, "downloads": -1, "filename": "opytimizer-1.1.0.tar.gz", "has_sig": false, "md5_digest": "2b0ef8b559e9945d8f7b772770f9093a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33693, "upload_time": "2019-10-03T14:47:16", "url": "https://files.pythonhosted.org/packages/1c/81/f5c372217c828a4cbe0020b046d203ac94b543e5d2ff00de19675aeb272f/opytimizer-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b4d821fdf22aa9960fcc16f07825d52f", "sha256": "892706d04404f3d81f221347181831b565fc91cf4c09f067c9fc854e755849ba" }, "downloads": -1, "filename": "opytimizer-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b4d821fdf22aa9960fcc16f07825d52f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 72764, "upload_time": "2019-10-03T14:47:14", "url": "https://files.pythonhosted.org/packages/1e/03/c26b999bc53cb79388f69e8270a1213a944aa1a8d626d1c0f71f8fb6cdc8/opytimizer-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2b0ef8b559e9945d8f7b772770f9093a", "sha256": "091295331a45e510df60d24847a1c60901b50e228e3bb83c4516e34e9aa2d897" }, "downloads": -1, "filename": "opytimizer-1.1.0.tar.gz", "has_sig": false, "md5_digest": "2b0ef8b559e9945d8f7b772770f9093a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33693, "upload_time": "2019-10-03T14:47:16", "url": "https://files.pythonhosted.org/packages/1c/81/f5c372217c828a4cbe0020b046d203ac94b543e5d2ff00de19675aeb272f/opytimizer-1.1.0.tar.gz" } ] }