Humpday: Pure Python or Javascript Derivative-Free Optimization
23 derivative-free optimization algorithms in pure Python. No compilation, no required dependencies.
See it work
Differential Evolution clears a 9-ball rack on a single break — one of 13+ interactive applications that pit every HumpDay optimizer against a real physics or engineering problem. (Watch the 14-second video · Browse all applications →)
Optimizing on the simplex
Mixtures, portfolios, and allocations live on the probability simplex (weights
that sum to 1), not the cube. HumpDay optimizes them by lifting a plain [0,1]ⁿ
objective through a smooth bijection φθ onto the simplex — so every box-domain
optimizer works unchanged.
The map's scale is a tunable preconditioner: too small
and the whole cube collapses onto the centroid; tuned (the θ★ shown), off-centre
optima map back to interior cube points where optimizers sample densely.
Explore it live →
(drag to orbit, morph cube ⇆ simplex, watch the optimum's pre-image move).
For fun, the same map applied to a football pitch — straight lines bend, the centre circle becomes an oval, the corners smear toward the boundary: ⚽ the beautiful game on the simplex →.
Install & Use
pip install humpday # Python
npm install humpday # JavaScript (the same roster, parity-tested)
Zero runtime dependencies. Every algorithm has a pure-Python implementation that works wherever Python runs.
If you want the numpy-accelerated backend for higher dimensions:
pip install humpday[fast]
The same algorithm code runs either way; humpday transparently uses numpy when it's available and falls back to pure Python when it isn't.
from humpday import minimize
def objective(x):
return (x[0] - 2)**2 + (x[1] - 3)**2
result = minimize(objective, bounds=[(-5, 5), (-5, 5)], method='DifferentialEvolution')
print(f"Solution: {result.x}") # [2.0, 3.0]
Algorithms
22 validated optimizers: See them in action | Source code
Trust region methods, evolutionary algorithms, metaheuristics.
Save the Planet
Cut and paste to avoid waste.
Read https://raw.githubusercontent.com/microprediction/humpday/main/SKILL.md
and create a project skill from it.
Comparison
Marginal install footprint on top of a Python environment that already has numpy:
| Library | Adds on top of numpy | Global optimizers |
|---|---|---|
| Humpday | ~1 MB (or zero without [fast]) |
22 |
| SciPy | ~100 MB | 6 documented |
| Optuna | ~30 MB | 11 samplers |
| Nevergrad | ~230 MB | 540+ registered (tuned variants of ~30 base methods) |
Humpday's niche: when you need optimization that works anywhere Python runs, without dependencies or compilation.
License
MIT - Use freely in commercial and research projects.
Metadata
Release files for humpday 0.24.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| humpday-0.24.0.tar.gz | 6.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| humpday-0.24.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.4 MB
Release files / humpday-0.24.0.tar.gz
| Download URL | humpday-0.24.0.tar.gz |
|---|---|
| Size | 6.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
18b7a5abc8726fa4a22a00a7d233e7c7370b5a6a90cc73334bb1ca9855ed9aeb
|
|
BLAKE2b-256 checksum How to use checksums |
d79c143e951f63ba6e14bb8b86fb3f78ea16ff30f69d1c2f23f2c24c5b056bd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / humpday-0.24.0-py3-none-any.whl
| Download URL | humpday-0.24.0-py3-none-any.whl |
|---|---|
| Size | 163.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a65699e90ad04525bb171a1acfc46d121518f2bb6bd19280f51a3f029c266202
|
|
BLAKE2b-256 checksum How to use checksums |
c8fa9e9aaf00d7a5b680549ce9e29f038e2642b7d1829042efa4352f6910654c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency log