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.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

pupyl-0.10.0-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pupyl-0.10.0.tar.gz
  • Upload date:
  • Size: 18.9 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.0.tar.gz
Algorithm Hash digest
SHA256 d8516073dfec6ba13aa54c9e7d809ab1a38aa76f5278702978dd9d839f334e22
MD5 ae20f3ce272ffc733a1e6c97597bd22d
BLAKE2b-256 e34cfb9dd82b9cce00dcc43d2118b408bad64e58724033b22f871cbb6279173a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pupyl-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 24.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3186f2aac4e6ebad1f99370928c2e62f5d9583d583b53a19ad1ceaf9ba1ee782
MD5 a50fe3f4666369659b61689582eec80c
BLAKE2b-256 f062ef7ce0799991f266fb2c42499f1e6e07ec9624fed8cfa6444b3543db1d63

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