Skip to main content

🧿 Pupyl is a really fast image search library which you can index your own (millions of) images and find similar images in millisecond.

Project description

pupyl pupyl-ci codecov CII Best Practices anaconda PyPI version Downloads

pupyl - A Python Image Search Library

🧿 pupyl what?

The pupyl project (pronounced pyoo·piel) is a pythonic library to perform image search tasks. It's intended to made easy reading, indexing, retrieving and maintaining a complete reverse image search engine. You can use it in your own data pipelines, web projects and wherever you find fit!

🎉 Getting started

📦 Installation

Installing pupyl on your environment is pretty easy:

# pypi
pip install pupyl

or

# anaconda
conda install pupyl

🚸 Usage

from pupyl.search import PupylImageSearch
from pupyl.web import interface


SAMPLES = (
    'https://github.com/policratus/pupyl'
    + '/raw/master/samples/pupyl1kflickr.txt.xz'
)

SEARCH = PupylImageSearch()

SEARCH.index(SAMPLES)

interface.serve()

Disclaimer: the example above creates pupyl assets on your temporary directory. To define a non-volatile database, you should define data_dir parameter.

📌 Dependencies

See all dependencies here: dependencies.

🐧 Linux

Some linux distros are packaged without some essential applications to built pupyl dependencies. If during the installation you face errors like this:

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

try install C/C++ build dependencies and python development headers, like this:

# Debian/Ubuntu
sudo apt install build-essential python3-dev

# Fedora
sudo dnf install make automake gcc gcc-c++ kernel-devel python3-devel

# Redhat/CentOS
sudo yum groupinstall 'Development Tools'
sudo yum install python3-devel

# Suse/OpenSuse
zypper install -t pattern devel_basis
zypper install python3-dev

# Arch
sudo pacman -S base-devel python3-dev

# Clearlinux
sudo swupd bundle-add c-basic python-basic-dev

📝 Documentation

See a quick reference guide on the repository wiki. Complete API reference coming soon.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pupyl-0.10.2.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

pupyl-0.10.2-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

Details for the file pupyl-0.10.2.tar.gz.

File metadata

  • Download URL: pupyl-0.10.2.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6

File hashes

Hashes for pupyl-0.10.2.tar.gz
Algorithm Hash digest
SHA256 e93ac67e2432572040405b3fd72249393a9263562812ac9a3778b521d035b315
MD5 854db682bc2b9f71de1dd202849c5989
BLAKE2b-256 84bc8968ac0a26f6d27019e57d573e7b9f995913913152356401d354a4a18aa5

See more details on using hashes here.

File details

Details for the file pupyl-0.10.2-py3-none-any.whl.

File metadata

  • Download URL: pupyl-0.10.2-py3-none-any.whl
  • Upload date:
  • Size: 25.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6

File hashes

Hashes for pupyl-0.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cdf49ddc02ea108769983ef7508959296a24f85d395c137a0638ab1fb6558055
MD5 a6807f4556ad9d7243ff913ce73a2a9a
BLAKE2b-256 b3ffbb39d424f22fbbd3072009648eebe443e15af59745b4e16f049e5c0bba29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page