color-operations
Apply basic color-oriented image operations.
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and solves a specific problem (color-oriented image operations on numpy arrays) with a shallow dependency tree. It is well-suited for satellite imagery and scientific image processing workflows. Install friction is moderate due to compiled wheels, but platform coverage is broad.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Input arrays must be in rasterio band ordering (bands, columns, rows) with values scaled 0 to 1.
- Medium install friction due to compiled wheels for multiple Python versions and platforms (cp310–cp313, macOS, Linux, Windows).
- Maintenance is active with a recent commit on 2026-07-27 and stable status since initial release in 2022-11-09.
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing free use, modification, and distribution with minimal restrictions—suitable for commercial and open-source projects alike.
last release 2025-03-27 (505 days) · last repo commit 2026-07-27 · 13 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 325,069 downloads/mo, #7,590 on PyPI
Alternatives
Verify before relying
pip install color-operations
from color_operations import parse_operations
arr = ... # numpy array, shape (bands, columns, rows), values 0-1
ops = "gamma b 1.85, gamma rg 1.95, sigmoidal rgb 35 0.13, saturation 1.15"
for func in parse_operations(ops):
arr = func(arr)- Whether the package's numerical accuracy has been validated against the original rio-color implementation.
- Whether colorspace conversion functions handle edge cases or out-of-range values gracefully.
- Availability of formal documentation beyond the GitHub README.
What it is and what it does
color-operations is a fork of Mapbox's rio-color that provides color and contrast adjustment functions for image processing, with the rasterio dependency removed and Python 3.9+ support added. It operates on numpy arrays in rasterio band ordering (bands, columns, rows) and assumes input values scaled 0 to 1. The package exports functions for gamma adjustment (brightening/darkening midtones), sigmoidal contrast (non-linear brightness and contrast matching human perception), saturation adjustment (colorfulness control), and atmospheric correction. It also includes a colorspace module for converting between RGB, XYZ, LAB, LCH, and LUV color spaces, and a domain-specific language for composing chains of operations via operation strings.
The package is useful for satellite imagery enhancement—particularly reducing atmospheric haze in blue and green bands—and general image processing workflows where fine-grained control over tone curves and color intensity is needed. It is built with Cython for performance and provides both array-level and scalar-level colorspace conversion functions.
Use it for
- Enhance satellite or aerial imagery by reducing atmospheric haze and adjusting contrast in specific bands.
- Apply gamma correction to brighten or darken image midtones without clipping shadows or highlights.
- Adjust color saturation independently of brightness in RGB imagery by converting to and from perceptual color spaces.
- Chain multiple color operations via operation strings (DSL) for reproducible image processing pipelines.
- Convert image data between color spaces (RGB, LAB, LCH, etc.) for advanced color analysis or manipulation.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and solves a specific problem (color-oriented image operations on numpy arrays) with a shallow dependency tree. It is well-suited for satellite imagery and scientific image processing workflows. Install friction is moderate due to compiled wheels, but platform coverage is broad.
Install
color-operations on PyPI
Before you install
Medium install friction due to compiled wheels for multiple Python versions and platforms (cp310–cp313, macOS, Linux, Windows). Maintenance is active with a recent commit on 2026-07-27 and stable status since initial release in 2022-11-09. Single runtime dependency on numpy keeps the dependency tree shallow.
Input arrays must be in rasterio band ordering (bands, columns, rows) with values scaled 0 to 1.
License in practice
MIT license is permissive, allowing free use, modification, and distribution with minimal restrictions—suitable for commercial and open-source projects alike.
Quickstart
pip install color-operations
from color_operations import parse_operations
arr = ... # numpy array, shape (bands, columns, rows), values 0-1
ops = "gamma b 1.85, gamma rg 1.95, sigmoidal rgb 35 0.13, saturation 1.15"
for func in parse_operations(ops):
arr = func(arr)
Verify before relying
- Whether the package's numerical accuracy has been validated against the original rio-color implementation.
- Whether colorspace conversion functions handle edge cases or out-of-range values gracefully.
- Availability of formal documentation beyond the GitHub README.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Actively maintained 505 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 325,069 / month, #7,590 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseProgramming Language :: CythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Multimedia :: Graphics :: Graphics ConversionTopic :: Scientific/Engineering :: GIS |
Evidence: color_operations-0.2.0-cp310-cp310-macosx_10_9_universal2.whl; color_operations-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl; color_operations-0.2.0-cp310-cp310-macosx_11_0_arm64.whl; color_operations-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; color_operations-0.2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; color_operations-0.2.0-cp310-cp310-win_amd64.whl; color_operations-0.2.0-cp311-cp311-macosx_10_9_universal2.whl; color_operations-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl; color_operations-0.2.0-cp311-cp311-macosx_11_0_arm64.whl; color_operations-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; color_operations-0.2.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; color_operations-0.2.0-cp311-cp311-win_amd64.whl; color_operations-0.2.0-cp312-cp312-macosx_10_13_universal2.whl; color_operations-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl; color_operations-0.2.0-cp312-cp312-macosx_11_0_arm64.whl; color_operations-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; color_operations-0.2.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl; color_operations-0.2.0-cp312-cp312-win_amd64.whl; color_operations-0.2.0-cp313-cp313-macosx_10_13_universal2.whl; color_operations-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “gamma adjustment numpy”
- color-operationsApplies color-oriented image operations—gamma adjustment, sigmoidal…
- autograd-gammaProvides autograd-compatible derivatives for incomplete gamma and…
- ipfnIterative proportional fitting algorithm that adjusts…
Give your agent the search over MCP, or paste the wish link into any chat.
More GIS packages
Shapely provides Python tools for creating, manipulating, and analyzing 2D geometric objects (points, lines, polygons) using the GEOS library, with both scalar and vectorized NumPy-based operations.
pyproj provides a Python interface to PROJ, enabling cartographic projections and coordinate system transformations for geospatial applications.
GeoPandas extends pandas DataFrames to handle geographic data, combining pandas operations with shapely geometry and spatial analysis capabilities that would otherwise require a spatial database.
Install it if you work with geographic data in Python and want to avoid setting up a spatial database or learning a separate GIS tool.
geopy is a Python client for geocoding and distance calculation that converts addresses to coordinates and vice versa using multiple web-based geocoding services, and computes geodesic and great-circle distances between geographic points.
Install it if you need geocoding or distance calculations in your application.
Pyogrio provides fast, bulk-oriented read and write access to vector spatial data formats (Shapefile, GeoPackage, GeoJSON, etc.) via GDAL/OGR bindings, typically for use with GeoPandas GeoDataFrames.
h3 provides Python bindings to Uber's H3 geospatial indexing library, converting geographic coordinates into hierarchical hexagonal grid cells and performing spatial operations on them.
See also epaper-dithering · pixeloe · rasterio · colour · colorzero · fastremap · skia-pathops · rio-cogeo · coloraide · numpy-rms