/flow-examples

pixolution Flow is a high performance image search server. This repo contains examples how to use it.

Primary LanguageCSSMIT LicenseMIT

⚠️ WARNING
These examples apply to Flow 4 only. We are working on updating the examples to support Flow 5. In the meantime, please refer to the examples in our API docs.

Logo

Examples for pixolution Flow

pixolution Flow is a high performance image search server. Under the hood, it extends the open-source search platform Apache Solr™.

This repo contains example scripts that show use cases and serve as a basis for your own developments.

Next Steps

Some useful resources to get more insights.

Installation

You have a working Python 3.8+ environment and a installation of Docker.

We use the free version of pixolution Flow so you can start right away (no registration). You can index up to 5000 images. If you exceed the limit pixolution Flow rejects adding more images. You can then upgrade to the Professional Plan.

Docker

Download and start the pixolution Flow image:

docker pull pixolution/flow
docker run --rm -p8983:8983 pixolution/flow

Python

We assume you already have cloned this Git repo. We recommend creating a new Python virtual environment to have a clean installation of the examples and prevent dependency conflicts.

python3 -m venv flow-examples/venv

Go to project root and activate the virtual environment

cd flow-examples
source venv/bin/activate

Upgrade pip and install the python dependencies

pip3 install --upgrade pip
pip3 install -r requirements.txt

The Pillow python library may require the jpeg development header installed on the host system. For example in Debian/Ubuntu you may need to install:

apt install libjpeg-dev zlib1g-dev

That's it! Now, choose an example your would like to test.

Choose an example

Build a local image search server ➞

Index your local images into pixolution Flow and search for similar images with a shiny HTML search interface.

user interface screenshot

Dive into example API calls ➞

Plain HTTP API calls without boilerplate code.