Metadata-Version: 2.4
Name: thumbor
Version: 7.8.0
Summary: thumbor is an open-source photo thumbnail service by globo.com
Author-email: "globo.com" <thumbor@googlegroups.com>
License: MIT
Keywords: imaging,face,detection,feature,thumbnail,imagemagick,pil,opencv
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Multimedia :: Graphics :: Presentation
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: colorama<1.0.0,>=0.4.6
Requires-Dist: derpconf<1.0.0,>=0.8.4
Requires-Dist: libthumbor<3.0.0,>=2.0.2
Requires-Dist: piexif<2.0.0,>=1.1.3
Requires-Dist: Pillow<13.0.0,>=10.4.0
Requires-Dist: pytz<2027.0.0,>=2023.3.post1
Requires-Dist: statsd<5.0.0,>=4.0.1
Requires-Dist: thumbor-plugins-gifv<1.0.0,>=0.1.5
Requires-Dist: tornado<7.0.0,>=6.4
Provides-Extra: opencv
Requires-Dist: numpy<3.0.0,>=1.26.3; extra == "opencv"
Requires-Dist: opencv-python-headless<5.0.0,>=4.9.0.80; extra == "opencv"
Provides-Extra: extra-libs
Requires-Dist: cairosvg<3.0.0,>=2.8.2; extra == "extra-libs"
Requires-Dist: pillow-avif-plugin<2.0.0,>=1.4.1; extra == "extra-libs"
Requires-Dist: pillow-heif<2.0.0,>=1.3.0; extra == "extra-libs"
Requires-Dist: pycurl<8.0.0,>=7.45.2; extra == "extra-libs"
Provides-Extra: tests
Requires-Dist: build<2.0.0,>=1.2.1; extra == "tests"
Requires-Dist: coverage<8.0.0,>=7.4.0; extra == "tests"
Requires-Dist: flake8<8.0.0,>=7.0.0; extra == "tests"
Requires-Dist: isort<9.0.0,>=5.13.2; extra == "tests"
Requires-Dist: pre-commit<5.0.0,>=3.6.0; extra == "tests"
Requires-Dist: preggy<2.0.0,>=1.4.4; extra == "tests"
Requires-Dist: pylint<5.0.0,>=3.0.3; extra == "tests"
Requires-Dist: pyssim<1.0.0,>=0.7; extra == "tests"
Requires-Dist: pytest-asyncio<2.0.0,>=0.23.3; extra == "tests"
Requires-Dist: pytest-cov<8.0.0,>=4.1.0; extra == "tests"
Requires-Dist: pytest-tldr<1.0.0,>=0.2.5; extra == "tests"
Requires-Dist: pytest-xdist<4.0.0,>=3.5.0; extra == "tests"
Requires-Dist: pytest<8.0.0,>=7.4.4; extra == "tests"
Requires-Dist: redis<6.0.0,>=5.0.1; extra == "tests"
Requires-Dist: remotecv<6.0.0,>=5.2.0; extra == "tests"
Requires-Dist: sentry-sdk<3.0.0,>=1.39.1; extra == "tests"
Requires-Dist: yanc<1.0.0,>=0.3.3; extra == "tests"
Provides-Extra: all
Requires-Dist: cairosvg<3.0.0,>=2.8.2; extra == "all"
Requires-Dist: numpy<3.0.0,>=1.26.3; extra == "all"
Requires-Dist: opencv-python-headless<5.0.0,>=4.9.0.80; extra == "all"
Requires-Dist: pillow-avif-plugin<2.0.0,>=1.4.1; extra == "all"
Requires-Dist: pillow-heif<2.0.0,>=1.3.0; extra == "all"
Requires-Dist: pycurl<8.0.0,>=7.45.2; extra == "all"
Dynamic: license-file

<h4 align="center">Join <a href="https://github.com/thumbor/thumbor-bootcamp">thumbor-bootcamp</a> for a learning and contribution experience with ❤️ and 🤗 from the thumbor team</h4>

<p align="center">
  <a href="http://www.thumbor.org">
    <img title="thumbor" alt="thumbor" src="./docs/thumbor-logo.png" />
  </a>
</p>

<h3 align="center">
Crop, resize, transform and much more, all on-demand and AI Powered
</h3>

<p align="center">
  <img src='https://github.com/thumbor/thumbor/workflows/build/badge.svg' />
  <a href='https://coveralls.io/github/thumbor/thumbor?branch=master' target='_blank'>
    <img src='https://coveralls.io/repos/thumbor/thumbor/badge.svg?branch=master&service=github'/>
  </a>
  <a href='https://codeclimate.com/github/thumbor/thumbor' target='_blank'>
    <img src='https://codeclimate.com/github/thumbor/thumbor/badges/gpa.svg'/>
  </a>
  <a href='https://pypi.python.org/pypi/thumbor' target='_blank'>
    <img src='https://img.shields.io/pypi/v/thumbor.svg'/>
  </a>
  <br />
  <a href='https://github.com/thumbor/thumbor/pulls' target='_blank'>
    <img src='https://img.shields.io/github/issues-pr-raw/thumbor/thumbor.svg'/>
  </a>
  <a href='https://github.com/thumbor/thumbor/issues' target='_blank'>
    <img src='https://img.shields.io/github/issues-raw/thumbor/thumbor.svg'/>
  </a>
  <a href='https://pypi.python.org/pypi/thumbor' target='_blank'>
    <img src='https://img.shields.io/pypi/dm/thumbor.svg'/>
  </a>
</p>

<h4 align="center">thumbor is trusted by hundreds of companies worldwide</h4>
<p align="center">
  <img src="./docs/wikipedia.png" alt="Wikipedia trusts thumbor" title="Wikipedia trusts thumbor" width="128" height="128" />&nbsp;
  <img src="./docs/globocom.png" alt="Globo.com trusts thumbor" title="Globo.com trusts thumbor" width="128" height="128" />&nbsp;
  <img src="./docs/vox.png" alt="Vox Media trusts thumbor" title="Vox Media trusts thumbor" width="128" height="128" />&nbsp;
  <img src="./docs/forbes-logo.png" alt="Forbes trusts thumbor" title="Forbes trusts thumbor" width="128" height="128" />&nbsp;
  <img src="./docs/squareup.png" alt="Square trusts thumbor" title="Square trusts thumbor" width="128" height="128" />&nbsp;
  <img src="./docs/deliveroo.png" alt="Deliveroo trusts thumbor" title="Deliveroo trusts thumbor" width="128" height="128" />&nbsp;
  <img src="./docs/canalplus.png" alt="Canal+ trusts thumbor" title="Canal+ trusts thumbor" width="128" height="128" />&nbsp;
  <img src="./docs/terra.png" alt="Terra trusts thumbor" title="Terra trusts thumbor" width="128" height="128" />&nbsp;
  <img src="./docs/nrc.png" alt="nrc trusts thumbor" title="nrc trusts thumbor" width="128" height="128" />&nbsp;
  <img src="./docs/webdev.png" alt="web.dev indicates thumbor for high-performance web sites" title="web.dev indicates thumbor for high-performance web sites" width="128" height="128" />&nbsp;
  <img src="./docs/aws.png" alt="aws indicates thumbor for serverless image handling" title="aws indicates thumbor for serverless image handling" width="128" height="128" />
  <br />
  and many more!
</p>

thumbor is a smart imaging service that enables on-demand [cropping, resizing, applying filters and optimizing](http://thumbor.readthedocs.io/en/latest/crop_and_resize_algorithms.html) images.

Cropping photos automatically can be a frustrating experience with severed heads involved. thumbor
uses [AI for smart detection](http://thumbor.readthedocs.io/en/latest/detection_algorithms.html).

thumbor is an HTTP server and you can create as many different images as you want just by varying path parameters:

```
http://<thumbor-server>/300x200/smart/thumbor.readthedocs.io/en/latest/_images/logo-thumbor.png
```

You should see an image of the thumbor logo in 300x200.

Learn more about all you can do in [thumbor's documentation](http://thumbor.readthedocs.io/en/latest/index.html "thumbor docs").

## ⚙️ Installation

Decide which installation option you want to use.

### Option 1: pip

```bash
# thumbor with main dependencies only
pip install thumbor

# thumbor with OpenCV dependency
pip install thumbor[opencv]

# thumbor with all dependencies
pip install thumbor[all]
```

### Option 2: Binary

Available as a package in the official repositories of
distributions such as
[Debian](https://packages.debian.org/source/sid/thumbor) and
[Ubuntu](https://launchpad.net/ubuntu/+source/thumbor).

```bash
sudo apt update
sudo apt install thumbor
```

### Option 3: Docker

An official Docker image is available on GitHub Container Registry:

```bash
docker run -p 8888:8888 ghcr.io/thumbor/thumbor:latest
```

For more information about the Docker image and available tags, visit the [GitHub Container Registry](https://github.com/thumbor/thumbor/pkgs/container/thumbor).

For more ways, please check out [Installation](https://thumbor.readthedocs.io/en/latest/installing.html).

### Run

Running it is as easy as hit:

```bash
thumbor
```

After this, you can reach it on http://localhost:8888/unsafe/https://raw.githubusercontent.com/thumbor/thumbor/master/example.jpg

### Troubles?

If you experience any troubles, try running:

```bash
thumbor-doctor
```

If you have a `thumbor.conf` file, you can use that to help thumbor-doctor:

```bash
thumbor-doctor -c thumbor.conf
```

If you still need help, please [raise an issue](https://github.com/thumbor/thumbor/issues). Remember to send your `thumbor-doctor` output in the issue:

```bash
thumbor-doctor --nocolor -c thumbor.conf
```

## 🎯 Features

- supports all common images formats out of the box
- [intelligent cropping and resizing](http://thumbor.readthedocs.io/en/latest/detection_algorithms.html)
- blazing fast using caching
- supports many storages (local storage, AWS S3, Rackspace, Ceph, ...)
- AI-powered cropping based on face and feature detection (glasses, interesting points, ...)
- integrated with many programming languages and frameworks <img src="https://www.python.org/favicon.ico" width="16" height="16" /><img src="https://nodejs.org/static/images/favicons/favicon.png" width="16" height="16" /><img src="https://rubygems.org/favicon.ico" width="16" height="16" /> and many more...
- [highly extensible](https://thumbor.readthedocs.io/en/latest/customizing.html)

## 🌟 Awesome Goodies

[awesome-thumbor](https://github.com/thumbor/awesome-thumbor) is a curated list of all things thumbor. There you can find filters, storages, engines, loaders, docker images, extensions in your favorite language and framework, and much more.

All of it with a clear indication of each project's quality. Have fun!

## 👍 Contribute

thumbor is an open-source project with many contributors. Join them
[contributing code](https://github.com/thumbor/thumbor/blob/master/CONTRIBUTING.md) or
[contributing documentation](https://github.com/thumbor/thumbor/blob/master/CONTRIBUTING.md).

If you use thumbor, please take 1 minute and answer [this survey](http://t.co/qPBLXJX0mi)? Only 2 questions!

Join the chat at https://gitter.im/thumbor/thumbor

## 👀 Demo

You can see thumbor in action at http://thumborize.me/
