skillfed

opensimplex

OpenSimplex is a noise generation function like Perlin or Simplex noise, but better.

opensimplex v0.4.5.1 81.8K downloads/30d#14,202 on PyPI
Permissive license MIT DORMANT released

What it is and what it does

OpenSimplex is a Python port of Kurt Spencer's OpenSimplex noise algorithm, a gradient noise function designed to overcome patent issues with Simplex noise while avoiding Perlin noise's directional artifacts. It generates smooth, coherent noise values across 2D, 3D, and 4D spaces, returning floats between -1.0 and 1.0. The package provides both scalar functions (noise2, noise3, noise4) for single-point queries and array-oriented variants (noise2array, noise3array, noise4array) that accept NumPy arrays for batch processing.

The library depends on NumPy for array optimizations aimed at heavier workloads and supports optional Numba integration for further speed gains through caching. It is seeded via a 64-bit integer or system time, allowing reproducible or varied noise generation. The API underwent breaking changes in v0.4.*, so existing code may require updates. Maintenance is dormant but stable; the maintainer prioritizes library stability over new core features.

Use it for:

  • Generate terrain heightmaps or procedural landscape data for games and simulations using 2D or 3D noise.
  • Create texture patterns, cloud formations, or natural-looking visual effects in graphics applications.
  • Seed random variation in machine learning or data augmentation pipelines where smooth, coherent randomness is needed.
  • Batch-process large coordinate arrays with noise2array/noise3array/noise4array for performance-critical scientific workloads.
  • Replace Perlin or Simplex noise in existing projects without patent concerns or directional visual artifacts.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Generates OpenSimplex noise across 2D, 3D, and 4D coordinate spaces, with both scalar and NumPy array interfaces for performance-critical workloads.

Yes, if you need patent-free gradient noise for procedural generation or scientific computing. The package is stable, has no known vulnerabilities, and installs cleanly with minimal friction. However, maintenance is dormant (last release 835 days ago), so expect no active development or rapid bug fixes—verify that the current API and behavior suit your use case before committing to it.

Install

opensimplex on PyPI

pip

pip install opensimplex

uv

uv add opensimplex

poetry

poetry add opensimplex

Installing opensimplex

Before you install

Installs cleanly with a single NumPy dependency. Maintenance is dormant—last release was 835 days ago—but the package is stable and bug reports are welcomed during maintainer's free time. Breaking API changes occurred in v0.4.*, so verify compatibility if upgrading from earlier versions.

License in practice

MIT license is permissive and imposes no restrictions on use, modification, or distribution in proprietary or open-source projects.

Quickstart

pip install opensimplex

import opensimplex
import numpy

opensimplex.seed(1234)
n = opensimplex.noise2(x=10, y=10)
print(n)  # 0.580279369186297

# Array-based for performance
rng = numpy.random.default_rng(seed=0)
ix, iy = rng.random(2), rng.random(2)
result = opensimplex.noise2array(ix, iy)

Requires Python 3.8 or later; NumPy is a hard dependency.

Verify before relying

  • Whether Numba optional dependency is now functional (description notes it was untested due to llvmlite issues).
  • Current state of repository and issue-handling responsiveness given 835-day dormancy since last release.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 1 — numpy
Maintenance dormant — 835 days since the last release
First released
Downloads 81,771/month — #14,202 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: opensimplex-0.4.5.1-py3-none-any.whl

Keywords: opensimplex, simplex, noise, 2D, 3D, 4D

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: Mathematics

Tags

opensimplex noise generationperlin noise alternativegradient noise functionprocedural noise 2d 3d 4dnumpy noise arrayspatent-free simplex noisenoise texture generation
procedural-generationnoise-synthesisgraphics

More Mathematics packages