Metadata-Version: 2.4
Name: cmenpy
Version: 2026a0
Summary: An extensible Python framework for designing and benchmarking metaheuristics
Author-email: ltsim <tsim@cucei.udg.mx>
License: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/ltsim/cmenpy
Project-URL: Source Code, https://github.com/ltsim/cmenpy
Project-URL: Bug Tracker, https://github.com/ltsim/cmenpy/issues
Project-URL: Change Log, https://github.com/ltsim/cmenpy/blob/master/CHANGELOG.md
Keywords: metaheuristics,metaheuristic design,evolutionary computation,population-based algorithms,nature-inspired algorithms,hybrid algorithms,adaptive search,self-adaptation,benchmark functions,performance analysis,exploration versus exploitation,stochastic optimization,global optimization,black-box optimization,soft computing
Classifier: Typing :: Typed
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: System :: Benchmark
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: numpy>=2.0.2
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: mypy>=1.9.0; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"
Requires-Dist: flake8>=7.0; extra == "dev"
Requires-Dist: pandas-stubs>=2.2.3; extra == "dev"
Requires-Dist: scipy-stubs>=1.15.0; extra == "dev"
Requires-Dist: black>=21.9b0; extra == "dev"
Dynamic: license-file

# cmenpy

[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0)
![PyPI - Version](https://img.shields.io/pypi/v/cmenpy?style=flat-square)
![PyPI - Implementation](https://img.shields.io/pypi/implementation/cmenpy?style=flat-square)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/cmenpy?style=flat-square)
![PyPI - Wheel](https://img.shields.io/pypi/wheel/cmenpy?style=flat-square)
![GitHub Release Date](https://img.shields.io/github/release-date/ltsim/cmenpy.svg?style=flat-square)
![PyPI - Downloads](https://img.shields.io/pypi/dm/cmenpy?style=flat-square)

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ltsim/cmenpy/publish.yml?style=flat-square&logo=pypi&label=Publish)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ltsim/cmenpy/test.yml?style=flat-square&logo=pytest&label=Testing)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ltsim/cmenpy/type.yml?style=flat-square&logo=python&label=Typed)

**C**ompute **M**etaheuristic **En**gine for **P**ython (_cmenpy_ or _/siːmɛnpaɪ/_) is an extensible, flexible and vectorized Python framework explicitly architected for designing and prototyping metaheuristic and population-based optimization algorithms.

It provides the clean, abstractions necessary to build custom evolutionary algorithms, swarm intelligence methods, and hybrid heuristics from scratch, granting you absolute architectural control.

## Core Pillars

* **Vectorized Data Structures:** Built from the ground up to maximize data locality and mathematical efficiency. Population arrays, agent states, and search spaces leverage a completely flattened, vectorized structure that eliminates heavy object overhead and interfaces natively with NumPy and parallel computing paradigms.
* **Extensible Architecture:** Designed with clean, highly pedagogical abstractions. Crafting custom transition operators, custom mutation rules, or completely new optimization paradigms requires overriding just a few decoupled, well-defined methods.
* **Non-Monolithic Flexibility:** We cut out all the bloat. Bypasses secondary overhead—such as visualization tools, complex file exporters, and rigid internal loggers—focusing entirely on the raw mathematical engine and structural flow.
* **Research Ready:** Protected by the **GNU GPLv3 License**. You have complete freedom to design, modify, and distribute your custom algorithms. Any derivative work or integration must also remain open and free, ensuring the software permanently evolves as a public good for both academic research and open commercial development.

---

* Developed by: [LTSIM](mailto:tsim@cucei.udg.mx) @ 2026
