Simple texture atlas packer
Project description
A simple, runtime-dependency-free texture atlas packer.
Basic usage:
from patlas import AtlasPacker, load
from glob import glob
ap = AtlasPacker(side=2048, pad=2)
ap.pack(glob('images/*.png')) # list of images
ap.pack(['images/image.jpg']) # can call multiple times (packing quality may suffer)
ap.atlas # memoryview of RGBA texture
ap.metadata # dictionary of image locations
ap.save('atlas') # serialize as custom .patlas file
atlas, metadata = load('atlas.patlas')
See demo.py for example usage with ModernGL.
Features/limitations:
- Uses
stb_image
andstb_rect_pack
from stb- Can import any image format
stb_image
can (see here)
- Can import any image format
- Only square RGBA textures (currently)
- Optional OpenMP support (disabled by default to reduce wheel size) can substantially reduce runtime. To enable, build from source with
OMP=1
set in the environment, e.g.OMP=1 pip install patlas --no-binary patlas
- On Windows, should "just work"?
- MacOS may need extra packages, e.g.
libomp
from brew - Linux may need extra packages, e.g.
libomp-dev
on Ubuntu
- Save to a custom
.patlas
file - Includes a command-line utility (see
patlas --help
for details) - Requires Cython at build time (but source distribution should have pre-generated
.c
files)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
patlas-0.0.5.zip
(230.3 kB
view hashes)
Built Distributions
patlas-0.0.5-cp310-cp310-win32.whl
(109.4 kB
view hashes)
patlas-0.0.5-cp39-cp39-win_amd64.whl
(128.7 kB
view hashes)
patlas-0.0.5-cp39-cp39-win32.whl
(110.0 kB
view hashes)
patlas-0.0.5-cp38-cp38-win_amd64.whl
(128.8 kB
view hashes)
patlas-0.0.5-cp38-cp38-win32.whl
(109.9 kB
view hashes)
patlas-0.0.5-cp37-cp37m-win_amd64.whl
(128.0 kB
view hashes)
patlas-0.0.5-cp37-cp37m-win32.whl
(108.9 kB
view hashes)
patlas-0.0.5-cp36-cp36m-win_amd64.whl
(146.1 kB
view hashes)
patlas-0.0.5-cp36-cp36m-win32.whl
(120.7 kB
view hashes)
Close
Hashes for patlas-0.0.5-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78f1cf9d952fe65f8a9215a428b2c32d3c4800bf253e593f3d9d819ebd9cb3c5 |
|
MD5 | e86313c7fb836816eead76045410f1d0 |
|
BLAKE2b-256 | 1472521efd7127f286d46e6cde8525cd5987be77697c312197666d909e0b01e9 |
Close
Hashes for patlas-0.0.5-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5bdeac70448bc2953ee7183913f1745221b060866849ce900cda33ebccf5b01 |
|
MD5 | 6b1303faa5e8ed358099cb3dff862ea0 |
|
BLAKE2b-256 | 841d16e5d2a64dbac2d5ad233c893893997e37d4b87102d720e03583ce5431e6 |
Close
Hashes for patlas-0.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a2d03732f45c75005895e2282000151b2b6005d4f5e9dea680dd03e1b2dbe3d |
|
MD5 | 12761e9df9d5ceab0ffb0c32854bad42 |
|
BLAKE2b-256 | edbe2844cbc5f76a1cd1dcccf62a6ef9cc4a67643374e333174ed9224cc4441b |
Close
Hashes for patlas-0.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cc5ab68a09b12e9dcec62dcac5eb928a6ec033277e032d19abcf43b3b25e153 |
|
MD5 | 2fd727878e34666f4649a5c7d4525dc5 |
|
BLAKE2b-256 | a0bd81e5f2bc0940738d476532c95b73030bd0924821f2dba344ddc7a8e1ae26 |
Close
Hashes for patlas-0.0.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e806dd47d38f327d97e0bcf6f33b818e7da8845b29ddcc6db259b570280eb208 |
|
MD5 | efa4a2dd1f2da6c26934a201ad36509e |
|
BLAKE2b-256 | 44cac4f2c90c74b0d9916c3d736762c5bae6ca1bb0f70dfc48374bd4d917c41e |
Close
Hashes for patlas-0.0.5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e92084e3b2d37a7d0b7f0690dbda6aea211be3acf0219a869a3135c8211a0d31 |
|
MD5 | 91bdde795c2df3f3893d3f7884fbe6fe |
|
BLAKE2b-256 | bb7caae9b2d6abce966e93a7827ec885736fee34cf57f07f9cbaa2b47eea1773 |
Close
Hashes for patlas-0.0.5-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbc259ea64aac5d23f889fda7277b8c90fe49ac8841e5395b77d7f8c5daf0adb |
|
MD5 | c9825c7792686ab485701d22d05ee201 |
|
BLAKE2b-256 | 06bddd8d0516bf06ae6b9f40ee0fb8fb0f355d5a671f0c8b543778614dea6e8a |
Close
Hashes for patlas-0.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cabb73d3ab33fc866acfee0b91cb65ca16d750dab0943881ae35b0c8237ee5bc |
|
MD5 | 3cbe769f29e9d08ac3f7ce0598e16153 |
|
BLAKE2b-256 | 64eceab751e2a3ba4ef02fa3b42b5b7cd7f76baa63deb7da0617ce5f4142e643 |
Close
Hashes for patlas-0.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 172e98339448e22e4d94a15a1ef55947f7efb7f04fe2102c6a030e826b0e1eef |
|
MD5 | c53871aee3339d9345ab4aaa7a19b0c2 |
|
BLAKE2b-256 | 2771798030b61289d6439cd785e16a14cb88480a27804cb8fbbace783fa84530 |
Close
Hashes for patlas-0.0.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8968a928b3fcb8c7aeafbb508e0123f61248630de24765cf29c7c8a1d302ac0a |
|
MD5 | a0dce5c20540b0d9c5b95b5dcaa033ae |
|
BLAKE2b-256 | e483eaeeb395939b96d0a167486de83f9437809fa276b10e8f7021b5f3d291a7 |
Close
Hashes for patlas-0.0.5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89694725526373c4a01cb40a11c0fd1a32218722638ba5a92360a58e888666ef |
|
MD5 | 799c84e8aff53dee8a3efe51acd8cdf3 |
|
BLAKE2b-256 | 1abded6e009904aecf209cbed2d68d5cec1387e6788dc1d3cb17a34881b6b0ae |
Close
Hashes for patlas-0.0.5-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07c6cbc7f296ad535ae2daad5bdb33f56cfcae99819f07533f65726535d5bc78 |
|
MD5 | 78fafdc8dd685584f7f00fd3d556deb4 |
|
BLAKE2b-256 | 9b5114e270dba8835c394ab8f291983fcf3fe5607fd5f56f75022aaf0e60b235 |
Close
Hashes for patlas-0.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b105ee98c234b20ca369deb77755170ad116958068aef9a833b470fa132375dc |
|
MD5 | 56d258af0b649a3616a33da1eb542cd8 |
|
BLAKE2b-256 | d3c76184aaff963e870b2626f480564838c3ef12d540bbf1a3da7f4f63dbd8d7 |
Close
Hashes for patlas-0.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c47d00fe94bbded8e543d61ca288ad83d28febf188b9cffd41daf99bdb9154a |
|
MD5 | d933f6f486b238b193663840ae4fbe4c |
|
BLAKE2b-256 | 6c42b0b6e6c39dec6c61b184e5b03e028923e57c6850f55b5bc89fd69d288471 |
Close
Hashes for patlas-0.0.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8820bf7544c4794f5f7fe31ad26cf7b378a1dd671849ecb38ed2cfd66f3a548 |
|
MD5 | 71e0a3b977d62b93a459504d3dd8bc46 |
|
BLAKE2b-256 | bae0790705f3e9818035f9e85e8e4c4f23ff58dbc01fb4879e66411cd21c8882 |
Close
Hashes for patlas-0.0.5-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccc29a1559528a5c96f63297ef9790790aad2c0956eb175e11aea017077d17ff |
|
MD5 | 8429905eb4750fd330e61e84779bd54c |
|
BLAKE2b-256 | 9fb2938c278eb0e71505964e1c44d1e26e4baffe00a1b78907cd2b4fd36b3886 |
Close
Hashes for patlas-0.0.5-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81c9932bee9ffbb92369fc5dcbf8b73a99caa75c9bdaf8cd43860599df73e2bb |
|
MD5 | 925a2d4c103c7e4561981ea4706a9f39 |
|
BLAKE2b-256 | 0ca40f6284a3ba77fce9361eb651bc23b679de2b51fe11a411fd42893be208cc |
Close
Hashes for patlas-0.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 521b0122fd6c3d41c22b9ed41d7fd989ba0d9536dcf28c9ca192b82fc6d626f5 |
|
MD5 | dcf877c6f8070e5ec8ca7532efcfa1a8 |
|
BLAKE2b-256 | 39413bd5bd3fc25ebc319feafcc9422656f506cfd6bfdd8b1e3ccb5d5cb90acf |
Close
Hashes for patlas-0.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd88ac9ae0d3f6d33aa940367545a7724c9b70624fdfe0bdb6d768bb72bdbeba |
|
MD5 | 8b7745a0957cc7444d6f51a4ce6bb5f9 |
|
BLAKE2b-256 | b21a97617b03fe065b46b6c4b48976ecd16403a4429413edd98939665037a8a5 |
Close
Hashes for patlas-0.0.5-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e705a0c323f44714c556a68b014eb1af9f84341f91f1aa9938bbefc747d6bbbb |
|
MD5 | 171d3d83ac30f914c1624f715a674229 |
|
BLAKE2b-256 | afb86086b29c529363103cbb2adabb321da713f2ae833ba947c107684bf2b389 |
Close
Hashes for patlas-0.0.5-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d43cd6462bce3f0825ff76161520d8bd3013f66f2460c09cc6bb7b15e88546fb |
|
MD5 | 35a0932f268dced44253939af939281f |
|
BLAKE2b-256 | 94c1957eba4b6d06e81c417f123758b9347e88f9cd36451149ff7156dd21d32d |
Close
Hashes for patlas-0.0.5-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d96b9e9fa518a9c314a6eaea5b0256c85465bded3c3c7257e17b32639e12ed0e |
|
MD5 | 63b01688b7b9ac327f8a61e7d42f9483 |
|
BLAKE2b-256 | ec782117750d2700c399d8b4ffad79545cb571dcb0339024857ca71ca3d52389 |
Close
Hashes for patlas-0.0.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42bf656e73f812e3f28b17e92b61aa189bf56a3078933e3783083cee820180e0 |
|
MD5 | 2dd07757aaaf3944ebb9d57beebb5942 |
|
BLAKE2b-256 | 7fcff314e7e04d3845003fdcea689341134acc51d52468292365f82c1835ef1e |
Close
Hashes for patlas-0.0.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0268ad9e73acfb3233382a53c847d5ed17773ea3e9c0562c71c745ea13b44b64 |
|
MD5 | 03bc2608ac13422f2a2dcbaf4f0086d2 |
|
BLAKE2b-256 | defd29929d2d5ef81620f1631c0427bf3888975106bc95357c3a8ce46b6a2313 |
Close
Hashes for patlas-0.0.5-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 227993095d0adaabe6c23f11c2b51c188182fc59c71d09dee4c91cb74d411f93 |
|
MD5 | ad494a87a163e94d9c2b57cbfc46f822 |
|
BLAKE2b-256 | b91f8141f2e44b94e91f31f55174f6b5ed445c4a22275733591c6ff3d9fdc9b5 |