$npx skillfedfor your agent

pyjpegls

JPEG-LS for Python via CharLS C++ Library

With conditionsPyPI LibrariesReleased Oct 2024119.1K downloads / moMITPlatform wheel

Decision gist · record as of 2026-08-14

platform wheels — pyjpegls-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl · pyjpegls-1.5.1-cp310-cp310-macosx_11_0_arm64.whl · pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
v1.5.1 · released 2024-10-28 · Python >=3.9 · 1 runtime deps: numpy

Yes, if you need lossless JPEG-LS compression in Python and are comfortable with a package in aging maintenance. The library is stable (Production/Stable classifier), has no known vulnerabilities, and pre-built wheels make installation straightforward on common platforms. However, verify that the fork remains compatible with your use case and that the 655-day release gap does not signal abandonment; check the repository's recent activity and open issues before committing to a production dependency.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires numpy; C++ extension wheels are available for Python 3.9–3.13 on common platforms (Windows, macOS, Linux).
  • Medium install friction due to compiled C++ extension; pre-built wheels are available for Python 3.9, 3.10, 3.11, 3.12, and 3.13 on Windows, macOS (x86_64 and ARM64), and Linux (x86_64 and aarch64), so installation is straightforward on supported platforms.
  • Maintenance status is aging—last release was 655 days ago, though the repository is not archived and received a commit on 2025-12-07.

License · maintenance · safety

MIT (permissive) — MIT license is permissive; you may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

last release 2024-10-28 (655 days) · last repo commit 2025-12-07 · 1 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 119,065 downloads/mo, #12,091 on PyPI

Verify before relying

import numpy
import pyjpegls

# Compress a numpy array to bytes
data = numpy.zeros((10, 10, 3), dtype=numpy.uint8)
compressed = pyjpegls.encode(data)

# Decompress back to numpy array
decompressed = pyjpegls.decode(compressed)
  • Whether the package is actively maintained or if the 655-day gap since last release indicates stalled development despite recent repo activity.
  • Performance characteristics and compression ratio compared to PNG, JPEG 2000, or other lossless formats in typical use.
  • Whether the fork from the original CharPyLS repository has addressed specific bugs or limitations beyond keeping it installable.
Same gist for agents: .md · .json

What it is and what it does

pyjpegls is a Python wrapper around the CharLS C++ library that implements the JPEG-LS lossless image compression standard (ISO-14495-1/ITU-T.87). It provides encode() and decode() functions to compress numpy arrays to byte buffers and decompress them back losslessly. The package was forked from the unmaintained CharPyLS project to maintain compatibility with modern Python versions and add fixes.

The typical workflow is to read image data into a numpy array, call encode() to compress it to a buffer, and call decode() to restore the original array bit-for-bit. JPEG-LS is designed for low-complexity lossless compression and is often used in medical imaging and scientific applications where data fidelity is critical. The package depends only on numpy at runtime; Cython and Pillow are build-time or test-time dependencies.

Use it for

  • Compress greyscale or RGB image data in memory for storage or transmission when lossless fidelity is required.
  • Integrate JPEG-LS compression into medical imaging pipelines where the standard is widely used.
  • Benchmark or compare JPEG-LS compression ratios and speed against other lossless formats in scientific research.
  • Reduce memory footprint of large image datasets by compressing numpy arrays before serialization or caching.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need lossless JPEG-LS compression in Python and are comfortable with a package in aging maintenance.

The library is stable (Production/Stable classifier), has no known vulnerabilities, and pre-built wheels make installation straightforward on common platforms. However, verify that the fork remains compatible with your use case and that the 655-day release gap does not signal abandonment; check the repository's recent activity and open issues before committing to a production dependency.

Install

pyjpegls on PyPI

Before you install

Medium install friction due to compiled C++ extension; pre-built wheels are available for Python 3.9, 3.10, 3.11, 3.12, and 3.13 on Windows, macOS (x86_64 and ARM64), and Linux (x86_64 and aarch64), so installation is straightforward on supported platforms. Maintenance status is aging—last release was 655 days ago, though the repository is not archived and received a commit on 2025-12-07.

Requires numpy; C++ extension wheels are available for Python 3.9–3.13 on common platforms (Windows, macOS, Linux).

License in practice

MIT license is permissive; you may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

Quickstart

import numpy
import pyjpegls

# Compress a numpy array to bytes
data = numpy.zeros((10, 10, 3), dtype=numpy.uint8)
compressed = pyjpegls.encode(data)

# Decompress back to numpy array
decompressed = pyjpegls.decode(compressed)

Verify before relying

  • Whether the package is actively maintained or if the 655-day gap since last release indicates stalled development despite recent repo activity.
  • Performance characteristics and compression ratio compared to PNG, JPEG 2000, or other lossless formats in typical use.
  • Whether the fork from the original CharPyLS repository has addressed specific bugs or limitations beyond keeping it installable.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.9
Install frictionMedium. Platform-specific wheel
Runtime dependencies
1 package
numpy
MaintenanceAging 655 days since the last release
Last repo commit
First released
Downloads119,065 / month, #12,091 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonTopic :: File FormatsTopic :: Scientific/Engineering :: Image ProcessingTopic :: Software Development :: Libraries

Evidence: pyjpegls-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl; pyjpegls-1.5.1-cp310-cp310-macosx_11_0_arm64.whl; pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyjpegls-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyjpegls-1.5.1-cp310-cp310-win_amd64.whl; pyjpegls-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl; pyjpegls-1.5.1-cp311-cp311-macosx_11_0_arm64.whl; pyjpegls-1.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyjpegls-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyjpegls-1.5.1-cp311-cp311-win_amd64.whl; pyjpegls-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl; pyjpegls-1.5.1-cp312-cp312-macosx_11_0_arm64.whl; pyjpegls-1.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyjpegls-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyjpegls-1.5.1-cp312-cp312-win_amd64.whl; pyjpegls-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl; pyjpegls-1.5.1-cp313-cp313-macosx_11_0_arm64.whl; pyjpegls-1.5.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyjpegls-1.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyjpegls-1.5.1-cp313-cp313-win_amd64.whl

Tags

Capabilities
lossless image compressionjpeg-ls encoder decoderimage data compression pythoncharls wrappernumpy image compressionlossless jpeg alternative
Topics
image-compressionlossless-codecmedical-imaging
PyPI keywords
pythonjpeg

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 › “lossless image compression”

  • pyjpeglsEncodes and decodes image data using the JPEG-LS lossless compression…
  • qoiA Python wrapper for the QOI (Quite OK Image) lossless image format…
  • turbojpegPython bindings for libjpeg-turbo that provide lossless JPEG…

Give your agent the search over MCP, or paste the wish link into any chat.

More Libraries packages

urllib3 Worth it
PyPI · Libraries · released May 2026

urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests Worth it
PyPI · Libraries · released May 2026

Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.

Apache-2.0pure Python · 3.10+
1.8Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
python-dateutil Worth it
PyPI · Libraries · released Mar 2024

Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.

Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.

Apache-2.0pure Python
1.2Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.

MITpure Python
1.2Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo

See also pillow-jxl-plugin · pylibjpeg · pylibjpeg-openjpeg · pylibjpeg-libjpeg · pyoxipng · turbojpeg · qoi · PyTurboJPEG · pylzss · img2pdf