Skip to main content

Fast Perlin Noise

This is a very fast Perlin noise library, mostly in Go with Python bindings, that I developed upon trying out a few other available Python libraries and realized that none were fast enough for my project requirements. Algorithms are from the libnoise dotnet project which I ported to Go.

Installation

To install fast_perlin_noise,

pip3 install fast-perlin-noise

Wheels are automatically built for Windows, Linux, and macOS for x86-64 and ARM64 architectures. If a wheel does not exist for your platform, you will require a Go compiler to complete the installation.

Dependencies

fast_perlin_noise has very limited dependencies: only numpy is required!

Tests and Examples

fast_perlin_noise has a very beginner friendly Python interface, with optional advanced use.

from fast_perlin_noise import PerlinNoise
import numpy as np
import matplotlib.pyplot as plt

noise_generator: PerlinNoise = PerlinNoise(width=256, height=256)
noise_image: np.ndarray = noise_generator.generate_noise_matrix()

plt.imshow(noise_image)  # View the resulting noise

Perlin Noise

You can run and look at example/example.py to see this in action.

Output

fast_perlin_noise currently outputs a matrix (an ndarray with the shape m, n) of noise of which the values range from 0.0 to 1.0.

Interface and Parameters

For more advanced use, many parameters can be tuned to adjust the resulting noise. Perlin noise can be generated using the generate_noise_matrix function.

Parameter Type Description
width uint Width of resultant matrix.
height uint Height of resultant matrix.
persistence float Intensity falloff coefficient of subsequent noise layers.
numLayers uint Number of simplex noise layers to use.
roughness float Frequency increase coefficient for subsequent noise layers.
baseRoughness float Initial frequency for noise
strength float Scalar multiplier for noise values
randomSeed float Define the random seed to be used

Controlling Noise Output

Behaviour of the noise can be changed by changing parameters to the PerlinNoise interface. Settings include width and height to determine the dimensions of the resulting matrix. baseRoughness and roughness to control the frequency and frequency falloff. persistence to change the impact of subsequent layers (low value results in a "softer" look). numLayers controls how many layers of noise will be used (more layers results in more complex, structured noise). strength is a simple scalar multiplier to the matrix (control intensity of noise). Lastly, randomSeed can be changed to change the seed of the noise (fast_perlin_noise is deterministic when randomSeed is known).

Metadata

Release files for fast-perlin-noise 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fast-perlin-noise 1.1.2
File Size Uploaded Provenance Actions
fast_perlin_noise-1.1.2.tar.gz 96.3 kB Without provenance Details for fast_perlin_noise-1.1.2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for fast-perlin-noise 1.1.2
File Actions
fast_perlin_noise-1.1.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for fast_perlin_noise-1.1.2-cp313-cp313-win_amd64.whl
fast_perlin_noise-1.1.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for fast_perlin_noise-1.1.2-cp313-cp313-macosx_11_0_arm64.whl
fast_perlin_noise-1.1.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for fast_perlin_noise-1.1.2-cp312-cp312-win_amd64.whl
fast_perlin_noise-1.1.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for fast_perlin_noise-1.1.2-cp312-cp312-macosx_11_0_arm64.whl
fast_perlin_noise-1.1.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for fast_perlin_noise-1.1.2-cp311-cp311-win_amd64.whl
fast_perlin_noise-1.1.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for fast_perlin_noise-1.1.2-cp311-cp311-macosx_11_0_arm64.whl
fast_perlin_noise-1.1.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for fast_perlin_noise-1.1.2-cp310-cp310-win_amd64.whl
fast_perlin_noise-1.1.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for fast_perlin_noise-1.1.2-cp310-cp310-macosx_11_0_arm64.whl
fast_perlin_noise-1.1.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for fast_perlin_noise-1.1.2-cp39-cp39-win_amd64.whl
fast_perlin_noise-1.1.2-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details for fast_perlin_noise-1.1.2-cp39-cp39-macosx_11_0_arm64.whl

Total release size: 8.1 MB

Release files / fast_perlin_noise-1.1.2.tar.gz

Download URL fast_perlin_noise-1.1.2.tar.gz
Size 96.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d94a2e6f13b9841e328b1aebc2dbee28ebc71289562a31ea002fe058aac1ac95
BLAKE2b-256 checksum
How to use checksums
037fd1a1e2cf97f34d2ae03ca0396460522f93df487640a8b6a1b91140e2da96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / fast_perlin_noise-1.1.2-cp313-cp313-win_amd64.whl

Download URL fast_perlin_noise-1.1.2-cp313-cp313-win_amd64.whl
Size 814.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
59c0b798aa08cb2d6ee014347292517ca27b59289257ef5d35952f95246298cb
BLAKE2b-256 checksum
How to use checksums
bfa9b45babe50c9938343f115410e51b54a0ded7ab3a45a0fae46c796644cd5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.8

Release files / fast_perlin_noise-1.1.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL fast_perlin_noise-1.1.2-cp313-cp313-macosx_11_0_arm64.whl
Size 788.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ae3b0ea5ba1161baaed179bb2b679b0318d4a95e336be632390ba6cd281c244d
BLAKE2b-256 checksum
How to use checksums
cf240649b4a17c9fdb0705cab4a95516b240e95bcbf71b1776e3bdda19916cf0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.1

Release files / fast_perlin_noise-1.1.2-cp312-cp312-win_amd64.whl

Download URL fast_perlin_noise-1.1.2-cp312-cp312-win_amd64.whl
Size 814.4 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
204f5679e67213f38aa164584dc00e2c8c050c52d3d27cf698fcdd174093dc2c
BLAKE2b-256 checksum
How to use checksums
efa5dc9e35c16d31acd105f57d7ca888aeb9407d8a0c690a2087998af7b079e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.8

Release files / fast_perlin_noise-1.1.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL fast_perlin_noise-1.1.2-cp312-cp312-macosx_11_0_arm64.whl
Size 788.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
530897c34efbd25c2d93a582d71f1e8c6f9c7882b730151e1cc6b1d88a9c142d
BLAKE2b-256 checksum
How to use checksums
8e6f4a1b82e8ba36c09864b0d3ad7781938bb4f4622663a2aca26d3ff876bc7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.1

Release files / fast_perlin_noise-1.1.2-cp311-cp311-win_amd64.whl

Download URL fast_perlin_noise-1.1.2-cp311-cp311-win_amd64.whl
Size 814.4 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
caee7117d837adbb5ba32214f4c10493f374facac02ce278cc7a30b807ef6466
BLAKE2b-256 checksum
How to use checksums
759caad6f87e810940d1c3b99ecfda1b082f105206575587824cfe135a7ec54d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.8

Release files / fast_perlin_noise-1.1.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL fast_perlin_noise-1.1.2-cp311-cp311-macosx_11_0_arm64.whl
Size 788.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
777f7d5f6e5a4928a097705af67f4af2e17cd9203b8e62376e95ec36c3e3c513
BLAKE2b-256 checksum
How to use checksums
61b3b9f04b62b38ec1f28b31c49df37d9f0f370edee42d07291eef0880cca9c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.1

Release files / fast_perlin_noise-1.1.2-cp310-cp310-win_amd64.whl

Download URL fast_perlin_noise-1.1.2-cp310-cp310-win_amd64.whl
Size 814.4 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6a61f943b4d0de18bc0b81ca91f476aec10127ab8de53b2a32978345954cabba
BLAKE2b-256 checksum
How to use checksums
fba5b4b50bd3f9eca00ee28dcb11a54af8f330db3368db7ce7393c70159f53af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.8

Release files / fast_perlin_noise-1.1.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL fast_perlin_noise-1.1.2-cp310-cp310-macosx_11_0_arm64.whl
Size 788.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4d6400af3e59e05d2d119be7e28587b579dbfbc9408bbae3e056506f251782db
BLAKE2b-256 checksum
How to use checksums
0350579fa2f73809b75190d9fb99d33389ddb700d2b7e89daa81817263210855
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.1

Release files / fast_perlin_noise-1.1.2-cp39-cp39-win_amd64.whl

Download URL fast_perlin_noise-1.1.2-cp39-cp39-win_amd64.whl
Size 814.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
41eb451ce576bee7ec2c81ae9a9f6c353c7f56dd66fe0a909e8e698f4d7f26e0
BLAKE2b-256 checksum
How to use checksums
97c3958bea6f5e5546880f87f20945a64741c245994e6d2fb4de977293a0bf40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.8

Release files / fast_perlin_noise-1.1.2-cp39-cp39-macosx_11_0_arm64.whl

Download URL fast_perlin_noise-1.1.2-cp39-cp39-macosx_11_0_arm64.whl
Size 788.9 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
839a4c6a85ad6fef925cdc1e2ac41a6150a199d1108aaaa36ef48f35e6fa4e77
BLAKE2b-256 checksum
How to use checksums
e8b62b90e7386c399c604ad842e3d95ebece02432f3625b1a376fe85bd562019
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.13.1

Security for fast-perlin-noise 1.1.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page