Metadata-Version: 2.4
Name: thumbor
Version: 7.7.7
Summary: thumbor is an open-source photo thumbnail service by globo.com
Home-page: https://github.com/thumbor/thumbor/wiki
Author: globo.com
Author-email: thumbor@googlegroups.com
License: MIT
Keywords: imaging face detection feature thumbnail imagemagick pil opencv
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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 :: Only
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Multimedia :: Graphics :: Presentation
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: colorama==0.*,>=0.4.6
Requires-Dist: derpconf==0.*,>=0.8.4
Requires-Dist: libthumbor==2.*,>=2.0.2
Requires-Dist: piexif==1.*,>=1.1.3
Requires-Dist: Pillow<11.0.0,>=10.4.0
Requires-Dist: pytz==2023.*,>=2023.3.post1
Requires-Dist: statsd==4.*,>=4.0.1
Requires-Dist: thumbor-plugins-gifv==0.*,>=0.1.5
Requires-Dist: tornado==6.*,>=6.4
Requires-Dist: webcolors==1.*,>=1.13.0
Provides-Extra: all
Requires-Dist: cairosvg==2.*,>=2.7.1; extra == "all"
Requires-Dist: numpy==1.*,>=1.26.3; extra == "all"
Requires-Dist: opencv-python-headless==4.*,>=4.9.0.80; extra == "all"
Requires-Dist: pillow-avif-plugin==1.*,>=1.4.1; extra == "all"
Requires-Dist: pillow-heif==0.*,>=0.22.0; extra == "all"
Requires-Dist: pycurl==7.*,>=7.45.2; extra == "all"
Provides-Extra: opencv
Requires-Dist: numpy==1.*,>=1.26.3; extra == "opencv"
Requires-Dist: opencv-python-headless==4.*,>=4.9.0.80; extra == "opencv"
Provides-Extra: tests
Requires-Dist: cairosvg==2.*,>=2.7.1; extra == "tests"
Requires-Dist: coverage==7.*,>=7.4.0; extra == "tests"
Requires-Dist: flake8==7.*,>=7.0.0; extra == "tests"
Requires-Dist: isort==5.*,>=5.13.2; extra == "tests"
Requires-Dist: numpy==1.*,>=1.26.3; extra == "tests"
Requires-Dist: opencv-python-headless==4.*,>=4.9.0.80; extra == "tests"
Requires-Dist: pillow-avif-plugin==1.*,>=1.4.1; extra == "tests"
Requires-Dist: pillow-heif==0.*,>=0.22.0; extra == "tests"
Requires-Dist: pre-commit==3.*,>=3.6.0; extra == "tests"
Requires-Dist: preggy==1.*,>=1.4.4; extra == "tests"
Requires-Dist: pycurl==7.*,>=7.45.2; extra == "tests"
Requires-Dist: pylint==3.*,>=3.0.3; extra == "tests"
Requires-Dist: pyssim==0.*,>=0.7; extra == "tests"
Requires-Dist: pytest-asyncio==0.*,>=0.23.3; extra == "tests"
Requires-Dist: pytest-cov==4.*,>=4.1.0; extra == "tests"
Requires-Dist: pytest-tldr==0.*,>=0.2.5; extra == "tests"
Requires-Dist: pytest-xdist==3.*,>=3.5.0; extra == "tests"
Requires-Dist: pytest==7.*,>=7.4.4; extra == "tests"
Requires-Dist: redis==5.*,>=5.0.1; extra == "tests"
Requires-Dist: remotecv==5.*,>=5.1.8; extra == "tests"
Requires-Dist: sentry-sdk==1.*,>=1.39.1; extra == "tests"
Requires-Dist: yanc==0.*,>=0.3.3; extra == "tests"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

<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="https://github.com/thumbor/thumbor/blob/readme/docs/thumbor-logo.png?raw=true" />
  </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>
  <a href='https://www.bountysource.com/trackers/257692-globocom-thumbor?utm_source=257692&utm_medium=shield&utm_campaign=TRACKER_BADGE' target='_blank'>
    <img src='https://www.bountysource.com/badge/tracker?tracker_id=257692'/>
  </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="https://github.com/thumbor/thumbor/blob/readme/docs/globocom.png?raw=true" alt="Globo.com trusts thumbor" title="Globo.com trusts thumbor" width="128" height="128" />&nbsp;
  <img src="https://github.com/thumbor/thumbor/blob/readme/docs/vox.png?raw=true" alt="Vox Media trusts thumbor" title="Vox Media trusts thumbor" width="128" height="128" />&nbsp;
  <img src="https://github.com/thumbor/thumbor/blob/readme/docs/forbes-logo.png?raw=true" alt="Forbes trusts thumbor" title="Forbes trusts thumbor" width="128" height="128" />&nbsp;
  <img src="https://github.com/thumbor/thumbor/blob/readme/docs/squareup.png?raw=true" alt="Square trusts thumbor" title="Square trusts thumbor" width="128" height="128" />&nbsp;
  <img src="https://github.com/thumbor/thumbor/blob/readme/docs/deliveroo.png?raw=true" alt="Deliveroo trusts thumbor" title="Deliveroo trusts thumbor" width="128" height="128" />&nbsp;
  <img src="https://github.com/thumbor/thumbor/blob/readme/docs/canalplus.png?raw=true" alt="Canal+ trusts thumbor" title="Canal+ trusts thumbor" width="128" height="128" />&nbsp;
  <img src="https://github.com/thumbor/thumbor/blob/readme/docs/terra.png?raw=true" alt="Terra trusts thumbor" title="Terra trusts thumbor" width="128" height="128" />&nbsp;
  <img src="https://github.com/thumbor/thumbor/blob/readme/docs/nrc.png?raw=true" alt="nrc trusts thumbor" title="nrc trusts thumbor" width="128" height="128" />&nbsp;
  <img src="https://github.com/thumbor/thumbor/blob/readme/docs/webdev.png?raw=true" 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="https://github.com/thumbor/thumbor/blob/readme/docs/aws.png?raw=true" 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

```bash
sudo add-apt-repository ppa:thumbor/ppa
sudo aptitude update
sudo aptitude install 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/
