• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

scorphus / thumbor
89%

Build:
DEFAULT BRANCH: master
Repo Added 06 Nov 2020 08:43PM UTC
Files 104
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 1577-fix-results-as-bytes
  • cleanup
  • convert_filters_to_rust
  • fix-filter-order
  • fix-node-favicon
  • fix-noise-test
  • fix-piexif-extra-require
  • flaky-pillow-avif-plugin
  • gh-actions
  • gh-actions-2
  • green-build
  • images2gif
  • lint-code
  • master
  • new-year-new-black
  • noise-random
  • py3exiv2-fail
  • readthedocs-yaml
  • refs/heads/lint-code
  • release-and-docker-on-tags-only
  • shot-snapshot
  • unnecessary-pass
  • utc-now-now

10 Aug 2026 08:05PM UTC coverage: 89.167% (+0.2%) from 88.924%
31427369955

push

github

scorphus
feat: separate result storage entries by accepted image formats

The new thumbor.auto_image_format module computes a cache-key
discriminator from the configured AUTO_* options and the formats the
request accepts. The file result storage names its namespace with it,
so two clients accepting different formats never share a cached result.

An AUTO_WEBP-only configuration keeps the legacy auto_webp and default
namespaces, and legacy entries are still migrated there. Configurations
with AUTO_AVIF, AUTO_JPG, AUTO_HEIF, AUTO_PNG or AUTO_PNG_TO_JPG get an
isolated namespace and no migration, because their legacy default
namespace can hold a different format for the same URL. Subclasses that
override is_auto_webp keep controlling the legacy namespace choice.

Result storage is skipped entirely, reads and writes, when one of those
formats is active and no trustworthy cache key can be computed before
the engine exists: when a handler overrides accepts_mime_type, and when
the request object lacks the parsed accepts_* attributes. Serving
without the cache is slower but never serves a wrong format.

Co-authored-by: Pablo Santiago Blum de Aguiar <scorphus@gmail.com>

63 of 64 new or added lines in 3 files covered. (98.44%)

57 existing lines in 2 files now uncovered.

4099 of 4597 relevant lines covered (89.17%)

4.46 hits per line

Relevant lines Covered
Build:
Build:
4597 RELEVANT LINES 4099 COVERED LINES
4.46 HITS PER LINE
Source Files on master
  • Tree
  • List 104
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
31427369955 master feat: separate result storage entries by accepted image formats The new thumbor.auto_image_format module computes a cache-key discriminator from the configured AUTO_* options and the formats the request accepts. The file result storage names its ... push 10 Aug 2026 08:08PM UTC scorphus github
89.17
27127774653 master Replace this alternation with a character class Sonar rule python:S6035: Single-character alternations in regular expressions should be replaced with character classes. push 08 Jun 2026 09:18AM UTC marcelometal github
88.92
20438109133 convert_filters_to_rust Use rand crate instead of unsafe libc random() in noise filter The _noise filter had rand as a dependency but was using unsafe FFI calls to libc's random()/srandom() instead. Now properly uses StdRng from the rand crate for random number generati... push 22 Dec 2025 04:46PM UTC scorphus github
89.07
7762175781 images2gif feat(engines/pil.read_multiple): Use Pillow to save multipage images as GIF The functionality provided by the images2gif module is part of Pillow since 2015 [1]. It also renders `gifsicle` unnecessary in this context. 1. https://pillow.readthe... push 02 Feb 2024 10:21PM UTC scorphus github
87.4
7728920929 images2gif feat(engines/pil.read_multiple): Use Pillow to save multipage images as GIF The functionality provided by the images2gif module is part of Pillow since 2015 [1]. It also renders `gifsicle` unnecessary in this context. 1. https://pillow.readthe... push 31 Jan 2024 04:09PM UTC scorphus github
87.4
7728900464 images2gif feat(engines/pil.read_multiple): Use Pillow to save multipage images as GIF The functionality provided by the images2gif module is part of Pillow since 2015 [1]. It also renders `gifsicle` unnecessary in this context. 1. https://pillow.readthe... push 31 Jan 2024 04:08PM UTC scorphus github
87.4
7695155535 images2gif feat(engines/pil.read_multiple): Use Pillow to save multipage images as GIF The functionality provided by the images2gif module is part of Pillow since 2015: https://pillow.readthedocs.io/en/stable/releasenotes/3.0.0.html This CL improves other... push 29 Jan 2024 11:15AM UTC scorphus github
87.38
7681631032 new-year-new-black chore: Reformat files according to new Black Code Style Every new year, the first new version of Black may introduce formatting changes, which is the case of version 24.1.0. Please, check Black's Stability Policy for reference: https://black.rea... push 27 Jan 2024 10:50PM UTC scorphus github
83.28
7681425165 images2gif feat(engines/pil.read_multiple): Use Pillow to save multipage images as GIF The functionality provided by the images2gif module is part of Pillow since 2015: https://pillow.readthedocs.io/en/stable/releasenotes/3.0.0.html This CL improves other... push 27 Jan 2024 10:10PM UTC scorphus github
87.38
7681314694 images2gif feat(engines/pil.read_multiple): Use Pillow to save multipage images as GIF The functionality provided by the images2gif module is part of Pillow since 2015: https://pillow.readthedocs.io/en/stable/releasenotes/3.0.0.html This CL improves other... push 27 Jan 2024 09:41PM UTC scorphus github
87.39
See All Builds (93)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc