Skip to main content

PyPI version Downloads Tests Coverage

ncolor bacteria

Fast remapping of instance labels 1,2,3,...,M to a smaller set of repeating, disjoint labels 1,2,...,N. The four color theorem guarantees N ≤ 4 for any 2D segmentation. The picker will fall back to N = 5 if a 4-coloring cannot be found within the time budget. Also works for 3D labels (< 8 typically) and higher dimensions.

Install

pip install ncolor

Pulls a precompiled wheel (Linux x86_64 / aarch64, macOS arm64 / x86_64, Windows AMD64 / ARM64) for CPython 3.11 to 3.15. Only runtime deps are numpy and platformdirs.

Usage

import ncolor
ncolor_masks = ncolor.label(masks)                    # 4-color
ncolor_masks, n = ncolor.label(masks, return_n=True)  # + color count
labels = ncolor.format_labels(masks)                  # compact to 1..N
labels = ncolor.format_labels(masks, clean=True)      # + split disjoint pieces, drop tiny components
ncolor.release_buffers()                              # free the scratch kept between calls (optional)

Expand-labels is on by default (so that close-but-not-touching cells tend to be assigned distinct colors). Pass expand=False for 3D inputs where cells can over-expand. Thanks to Ryan Peters (@ryanirl) for the original suggestion.

Threading needs nothing special. A lone call uses every core; calls that overlap are handed narrower engines whose threads add up to about one machine, so several images color at once:

import concurrent.futures as cf, ncolor

with cf.ThreadPoolExecutor(4) as pool:
    colored = list(pool.map(ncolor.label, images))   # 1.3-2x on 4 threads

Nothing is measured or configured for this. Whether spreading calls out beats taking turns was swept over four machines and eight image sizes, and it depends on the image at least as much as on the machine, so there is no per-machine answer worth caching: on an 8-core i9 the same arrangement ran 1.3x faster at 512 by 512, 0.8x at 1024, and 1.1x at 4096. Averaged over sizes it pays on every machine tested, from 1.07x on that i9 to 1.9x on a 64-core Threadripper, with a worst single case of 0.76x. NCOLOR_MAX_ENGINES=1 turns it off and calls take turns on one pool as they always have. Engines are built only when calls actually overlap, so a single-threaded program holds one, and once the parallel phase is over calls go back to full width. At most NCOLOR_MAX_ENGINES (4) are created; each keeps the working set of the largest image it has seen, roughly 20 bytes per pixel. ncolor.Engine does the same by hand for callers who would rather size the threads themselves.

Any integer, bool or float label array is accepted; the cast to the engine's int32 runs in parallel inside the call. Labels beyond the int32 range are compacted automatically by label and format_labels. The engine keeps the scratch memory of the largest image it has processed until release_buffers() is called.

Vector geometry (GeoDataFrames, GeoJSON)

Data that starts out as polygons does not have to be rasterized to be colored. ncolor.geo.label reads the adjacency straight off the geometry, so nothing is lost on the way in:

pip install "ncolor[geo]"      # adds shapely; geopandas is optional
import geopandas as gpd
from ncolor import geo

gdf = gpd.read_file("cells.geojson")
gdf["color"] = geo.label(gdf)                         # 4-color, one per feature
gdf.plot(column="color", cmap="viridis")

It accepts a GeoDataFrame, a GeoSeries, a GeoJSON file / string / dict, a list of Shapely geometries, or anything with a __geo_interface__, and returns a uint8 array of colors in 1..n in input order (0 for missing or empty geometries). Pass return_frame=True for a GeoDataFrame with the colors in a column instead.

Two knobs mirror the raster ones:

kwarg meaning raster analogue
min_shared_length contact must be a shared border, not a point. The default 0.0 drops corner-only touches (the "Four Corners" rule), which is what keeps the graph planar and 4-colorable. None counts them, and then n = 5 is likely. conn=1 vs conn=2
tolerance treat features within this distance as touching, for polygons whose neighbors are separated by a hairline gap after vectorization or reprojection. In CRS units. connect_radius

With a tolerance, a positive min_shared_length is the vector form of the raster min_contact filter: dilating polygons to close gaps also creates one-point leaks between features that were never really neighbors, and those are what push a coloring from 4 up to 5. On a 5000-cell Voronoi tessellation with hairline gaps, tolerance=0.2 alone needs 5 colors; adding min_shared_length=1.0 brings it back to 4.

Pairs the filters reject become soft constraints: they still get different colors where that is free, without constraining the coloring. ncolor.geo.connect returns the adjacency pairs alone (0-indexed by row), and ncolor.color_graph colors any edge list you build yourself:

colors = ncolor.color_graph(edges, n_vertices=len(nodes))   # 0-indexed pairs

New in v2

v2 is a complete C++ rewrite. Every stage of the pipeline including label expansion has been optimized, resulting in 7–12× speedups end-to-end. The new default expand removes 1-pixel bridges and spurs before the picker sees them, and an auto-soft constraint refines the hard 4-coloring via local search to differentiate near-adjacent cells. Together these break the K₅-shaped convergence clusters that forced the v1 numba pipeline up to N = 5. See CHANGELOG.md for the full list of changes and the migration table from v1.

The rewrite also brings drop-in C++ replacements for the scikit-image and scipy.ndimage / edt calls the old pipeline relied on, with no extra install:

ncolor replaces typical speedup
ncolor.connected_components skimage.measure.label 1.5–3×
ncolor.regionprops skimage.measure.regionprops (vectorized subset: area / bbox / centroid) 1.5–3×
ncolor.expand_labels skimage.segmentation.expand_labels + scipy.ndimage.distance_transform_edt ND-parallel L1 / L2 in-engine; no scipy or edt dependency
ncolor.delete_spurs hand-rolled morphology / not in scikit-image ND, parallel

For C++ engine internals, file-by-file architecture, and threadpool design, see ARCHITECTURE.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ncolor-2.2.0.tar.gz (292.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ncolor-2.2.0-cp315-cp315-win_arm64.whl (732.7 kB view details)

Uploaded CPython 3.15Windows ARM64

ncolor-2.2.0-cp315-cp315-win_amd64.whl (613.3 kB view details)

Uploaded CPython 3.15Windows x86-64

ncolor-2.2.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (825.0 kB view details)

Uploaded CPython 3.15manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncolor-2.2.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (819.3 kB view details)

Uploaded CPython 3.15manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ncolor-2.2.0-cp315-cp315-macosx_11_0_arm64.whl (465.0 kB view details)

Uploaded CPython 3.15macOS 11.0+ ARM64

ncolor-2.2.0-cp315-cp315-macosx_10_15_x86_64.whl (502.6 kB view details)

Uploaded CPython 3.15macOS 10.15+ x86-64

ncolor-2.2.0-cp314-cp314-win_arm64.whl (732.6 kB view details)

Uploaded CPython 3.14Windows ARM64

ncolor-2.2.0-cp314-cp314-win_amd64.whl (613.3 kB view details)

Uploaded CPython 3.14Windows x86-64

ncolor-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (837.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncolor-2.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (819.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ncolor-2.2.0-cp314-cp314-macosx_11_0_arm64.whl (464.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ncolor-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl (502.6 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

ncolor-2.2.0-cp313-cp313-win_arm64.whl (709.4 kB view details)

Uploaded CPython 3.13Windows ARM64

ncolor-2.2.0-cp313-cp313-win_amd64.whl (595.5 kB view details)

Uploaded CPython 3.13Windows x86-64

ncolor-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (837.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncolor-2.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (817.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ncolor-2.2.0-cp313-cp313-macosx_11_0_arm64.whl (464.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ncolor-2.2.0-cp313-cp313-macosx_10_14_x86_64.whl (502.4 kB view details)

Uploaded CPython 3.13macOS 10.14+ x86-64

ncolor-2.2.0-cp312-cp312-win_arm64.whl (709.3 kB view details)

Uploaded CPython 3.12Windows ARM64

ncolor-2.2.0-cp312-cp312-win_amd64.whl (595.5 kB view details)

Uploaded CPython 3.12Windows x86-64

ncolor-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (837.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncolor-2.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (817.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ncolor-2.2.0-cp312-cp312-macosx_11_0_arm64.whl (464.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ncolor-2.2.0-cp312-cp312-macosx_10_14_x86_64.whl (502.5 kB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

ncolor-2.2.0-cp311-cp311-win_arm64.whl (708.1 kB view details)

Uploaded CPython 3.11Windows ARM64

ncolor-2.2.0-cp311-cp311-win_amd64.whl (593.0 kB view details)

Uploaded CPython 3.11Windows x86-64

ncolor-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (826.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ncolor-2.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (809.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

ncolor-2.2.0-cp311-cp311-macosx_11_0_arm64.whl (463.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ncolor-2.2.0-cp311-cp311-macosx_10_14_x86_64.whl (500.4 kB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

File details

Details for the file ncolor-2.2.0.tar.gz.

File metadata

  • Download URL: ncolor-2.2.0.tar.gz
  • Upload date:
  • Size: 292.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0.tar.gz
Algorithm Hash digest
SHA256 5884e86de65eb041504d427d0fcd4b32a95a8033439a5b8bd59f9c5074658cc7
MD5 c196e8c66df09420a8cd6d22808f4ec2
BLAKE2b-256 8ca0959a5e7175c650a840b38870bdaa08bff32337ce4d98bb51375e16346bde

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0.tar.gz:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp315-cp315-win_arm64.whl.

File metadata

  • Download URL: ncolor-2.2.0-cp315-cp315-win_arm64.whl
  • Upload date:
  • Size: 732.7 kB
  • Tags: CPython 3.15, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0-cp315-cp315-win_arm64.whl
Algorithm Hash digest
SHA256 36f9a939eec9a977296e4cf689a560677a480a978ba3aaf439eed6f192855ffc
MD5 604f4ce45836921427d4c2639c99022e
BLAKE2b-256 4f0132f560ef8fdd97867db2fdb4b4df6dd2a18f422a3a098df247281d6b234c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp315-cp315-win_arm64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp315-cp315-win_amd64.whl.

File metadata

  • Download URL: ncolor-2.2.0-cp315-cp315-win_amd64.whl
  • Upload date:
  • Size: 613.3 kB
  • Tags: CPython 3.15, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0-cp315-cp315-win_amd64.whl
Algorithm Hash digest
SHA256 d0c1a79feb316a2aa486c1e7ec145595bb21b7623db6fe7c061540e2af759690
MD5 724fa976516946bfcf20b25466abc4c3
BLAKE2b-256 5a7c3572aa0becd2fd8c9054f04b18b313f57fba7cd98ce34ffebb728795f774

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp315-cp315-win_amd64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22cdeb427727af48d21533e7c029e46320132628141b1e0b19be1792a7f20c91
MD5 ccecac53a9d834fbfbec3fa1e3630b8e
BLAKE2b-256 515240430dc3233015cac8e8c355c89075839b01da2d1aa2b71574a6479ecce9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b94838a03d5ac6d272feb84a1f177c0fa6335a2b5a439464173402aae5b8fd65
MD5 c60e66c4d66e88bd746c1fa967ba5a2c
BLAKE2b-256 1fd9696d41fe6e797cf274646e605f2e72e19871e6d5c2b6e74ff771d93247f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp315-cp315-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp315-cp315-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 512695e3eb1ee90cc7a536b59104d36fe8b338361423f1d651367a59ac0f3b86
MD5 22c0c5e955f4deacc4d0737d8446ada9
BLAKE2b-256 f7b90c56d621c4756efdb440337e2e307f71424a9c291849ad006e7c042b6b2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp315-cp315-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp315-cp315-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp315-cp315-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7edb00eb5abe279fb49ee7fbe4f895a028f973e1712682d0e1e88fc9e2f9e2fc
MD5 e2d9c3002b554d0f90238346503c941a
BLAKE2b-256 daece9fea7b136ffc5d65e5c9da3c1b7a7f11500551fa9c8b5441956a97f2282

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp315-cp315-macosx_10_15_x86_64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: ncolor-2.2.0-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 732.6 kB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 63612becabb705dcd97f79477d837c8b444fd90742753e838fd6e0005ba667e6
MD5 8d17741bf0380578507c1cf3bdaaba70
BLAKE2b-256 adf45087b3a6976caf7ae9aae7aae0535f5897ff12f75de14845678cec08214e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp314-cp314-win_arm64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ncolor-2.2.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 613.3 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8b907c9adb2860d9ccf614d0b0c4315832085e584ba19be5ee36fa72dd462587
MD5 bc2913a25726b21d9e8152296754eddb
BLAKE2b-256 ba000d2242b28aab5c4442f586cc60391dc9e00e4a7ef41b89963cbaa7453ca7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp314-cp314-win_amd64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b5ef5c7faf932de8f1b2e47875ff9dfad3ed44013e24b0b182b0b9d16e7b2f3
MD5 2a08ff821f00e4a26ef25cc4df1d44b1
BLAKE2b-256 8eaa116bad6527858175dac54c3edcb7b19f35de0906bed1cec0405936618efd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 128dddfa417b592339e6aefcd9af4ee29cb9d0b4fcec231838052727570be306
MD5 acdad5b3c299539c3ebff9a3000d4072
BLAKE2b-256 1dc9f87a49571b06f67441f4270f0c120905375624f8eb9e41b3e1dd4e8599e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df8c4230459575bf54e5b643db77699df8e363069ed391b119d454e6621619dd
MD5 55edd177d649f06b0264f3a1d8d64b0a
BLAKE2b-256 03bf5495ba1b5814f41476c73f0730dbc3341331ae4f586a5a596e966fc131fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 78ff7724c93fed88572a542d3fade96af06ebb1a7565ea8e0558c57ddaf37e62
MD5 9e2cf2a1569e147e26d749da08609b60
BLAKE2b-256 364529c943a6e2531c9ab63e28664f80e54ce7d23a9fb732a3d62069af1fbc4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: ncolor-2.2.0-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 709.4 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 1b056fb3b9f64636a2a2ca470539a54749ff0c0457fb901536cead90bada4ffa
MD5 01df67d9159817861c49345380ffdf9f
BLAKE2b-256 2b9222c1b981a129e41cb4adbe3bbde535a7721fe8a92bce691bc1018dd2fc3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp313-cp313-win_arm64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ncolor-2.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 595.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c58a1656538bd911beba01b7aa8412098aba09ae9a2f9f04f926c5d5dc7d6189
MD5 93969c7f6bdd46ee4f01131076323c88
BLAKE2b-256 ca94a5ddb263596f26728b775397ab042e2213a76e6d660e5b8e3a74c16e3bad

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp313-cp313-win_amd64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 984ffec650986084946190b4837e3246ce34e6704fd7b3a1540dc12cd77635da
MD5 f296983122653b9b959ec0e9375f8b21
BLAKE2b-256 8ddd4e85af1d5fcc84195fdbca468c1977ca3b52191334ba9a750cf27a02ed2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8420af7ba74727c14ccb636460789b9b76b528d678477d84e77053dc02aeec7e
MD5 6799fab27662cda4bbcfa8195f420278
BLAKE2b-256 51f6e5ab3e84494d4bfa893057b39ca08213edcca2624d0f0d412ed6f5ff8ba0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 662f4e19b80bfd96758dbd9d154be705f687238cca48d2f3b525efb8189a011c
MD5 579a526183555f1044d801d9fd9d4f84
BLAKE2b-256 f8a3c82647d3b43fe083042bb2be7dc54773a68bc70252b6bdbffb31c3fda5ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp313-cp313-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp313-cp313-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 6285df0f46241454f63be89762861dcaadd07e5df3912b9ad239eb34e634afb1
MD5 32df4b65dc6651dcf417adc6003fa60a
BLAKE2b-256 8411968d5f0dc73699e703b950467262bac6d498114c8fa57d68ecd9cb78bb0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp313-cp313-macosx_10_14_x86_64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: ncolor-2.2.0-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 709.3 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 72189157333879d191f8364afeeeaa7ebd9016765bcf6fe0baaa5ec8bdc844d9
MD5 d535c16203cb8ea0426c18bdfd7e741b
BLAKE2b-256 7cd34b8c9458d9fe7d4c53647fffa3423284a2f2f4b512d4395acf260a2db861

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp312-cp312-win_arm64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ncolor-2.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 595.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 78f7b6c4ab133a4c6a47f71e2864e400b182379dcf80b7d25ee492c04bcd5b9e
MD5 5a527f208331db3e590c4be347fd3c50
BLAKE2b-256 58743d273861a4e19422e4f2b13e631cc7ff99fc346826a913cc57d3d50c04c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp312-cp312-win_amd64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 393edb8d699f79a17291c05bae2a85fbc0bccd2cdaa02d7bc510083ff73145b4
MD5 f8fd3628ae1390743ed2b1150795c064
BLAKE2b-256 ad32b0878b6bdeece2314e2b2e0b6d58895e5ed9bcfcf4fe3224ffd4d9c7b9ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fc60e7d4777fa81d2f3e5f4867a1279dae2685fda4994746448b0ef715a6fad6
MD5 cfdc2846ca38ffe6fba06e277c09b65b
BLAKE2b-256 713bd3e0343eaabd596b329489d4e1f91d26d6659a98c0414c439eecb839924f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d717880ef553e7121b6b4780ccd73cbeb130df279ee4e6ab745d56f30661ed4c
MD5 7650e4996e4ab8ed139e334b8f1c63b7
BLAKE2b-256 563b9e27a6e4bc58f244a5879af268ec0b27cc07ee63def17c94c1d9c77da38e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 9afef816fb0c11999f23dd72c801208ceee43bba0fa1cc9236a8702dafa9612e
MD5 322cb8b5b48fec19936c1f4d18a09eb0
BLAKE2b-256 8bca07c845dc3799bba7c7f1252ddbe63fd51fbc596a98d3e242be7a0fbe373c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp312-cp312-macosx_10_14_x86_64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: ncolor-2.2.0-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 708.1 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 b5b79cdb4707f43fa1d1e15ffb6c5db524ed4f0cdb77cd943004680830c2813d
MD5 5c124b2d42477bc4b1c144a0018c8af0
BLAKE2b-256 785465f5c9eda5fe7516e51472553aaffe83104534dc1ab716e61e6b7f487d2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp311-cp311-win_arm64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ncolor-2.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 593.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ncolor-2.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ee8a7a9739e660918b5bb5d4f5be9477d9d7987c6fc82887c6ca826344644f80
MD5 01fd19e28d2c621c093b8f142edb8b0e
BLAKE2b-256 22907bef5597f7c99b955caac01bfd90cb54de6845a3a7a18cadfa15841a2acf

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp311-cp311-win_amd64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f4a06314d8cda7a7cf999d069778d9e0fa9f153c8d5f92b9cb3713104da68048
MD5 2cce02d7fa72565651f2fc262ebaf148
BLAKE2b-256 eb5d2d84d2870742a9c6d2b8d41b8f2a085580b9372c0bf8174b2abd85be9234

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 87cd0571c9c317872176bd6607ab8046f727e9370774d01f1496eb529b1e7c55
MD5 e10b52e810562665b3cf1dd1d77030bc
BLAKE2b-256 20fa98f5b447357167808abd4c1cf0c4ebaa7bc2097e5afe3d4d461e65497ff6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e09a33e97aa035f9c66c2a67c835287cdf65011008e7523f1625043ca932a0b
MD5 dd3f55640a68fbb0d6ba52e9d87599a3
BLAKE2b-256 2d150261ac6a060cbb90cf77e89acee184acfcb1860ebaec6912d6c5594f027e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ncolor-2.2.0-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for ncolor-2.2.0-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 814607cf10c0142f6dc45eeac358c7f963b414045bce660cf27b0296ae4e8132
MD5 9f337ff48bf68cb23683b161052d9fff
BLAKE2b-256 e3c6fa9159c4ec0b8609860fb0bad2505f4ee9de92bdebc2d5216b66004b5424

See more details on using hashes here.

Provenance

The following attestation bundles were made for ncolor-2.2.0-cp311-cp311-macosx_10_14_x86_64.whl:

Publisher: build_wheels.yml on kevinjohncutler/ncolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

2.2.0 This release

31 files

2.1.1

31 files

2.1.0

31 files

2.0.2

21 files

2.0.1

21 files

2.0.0

21 files

1.5.3

2 files

1.5.2

2 files

1.5.1

2 files

1.5.0

2 files

1.4.5

2 files

1.4.4

2 files

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.3.0

2 files

1.2.1

2 files

1.2.0

2 files

1.1.8

2 files

1.1.6

1 file

1.1.5

1 file

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

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