Skip to main content

Maintain indices for photo collections

Project description

GitHub Workflow Status PyPI version

photoidx - Maintain indices for photo collections

This package maintains indices for photo collections. The index is stored as a YAML file and contains metadata and tags describing the photos. The photos are accessed read only.

The package provides a command line tool to create and manipulate the index and a graphical image viewer.

System requirements

Python:

  • Python 3.6 or newer.

Required library packages:

Optional library packages:

  • vignette >= 4.3.0

    Needed to cache thumbnail images for the overview window. If vignette is not available, everything will still work, but displaying the overview window may be significantly slower.

  • vignette needs at least one thumbnail backend, for instance Pillow >= 6.0 or PyQt5, see the vignette documentation for details. If no suitable backend is found, vignette will be disabled in photoidx.

  • setuptools_scm

    The version number is managed using this package. All source distributions add a static text file with the version number and fall back using that if setuptools_scm is not available. So this package is only needed to build out of the plain development source tree as cloned from GitHub.

  • pytest >= 3.0.0

    Only needed to run the test suite.

  • pytest-dependency

    Only needed to run the test suite. (Actually, you can run the test suite even without it, but dependencies between tests will be ignored then.)

  • distutils-pytest

    Only needed to run the test suite.

Install instructions

Note that the GUI of photoidx requires PySide2, but the installation of PySide2 using pip seem to be thoroughly broken. That is why that dependency is deliberately omitted in the setup script of photoidx. You need to install PySide2 independently before installing photoidx. It is advisable to install PySide2 using the package manager of your operating system rather than from PyPI.

Furthermore, you may want to install vignette along with a thumbnail backend to enable cached thumbnails in the overview window. This also needs to be installed independently.

Release packages of photoidx are published in the Python Package Index (PyPI).

Installation using pip

You can install photoidx from PyPI using pip:

$ pip install photoidx

Installation from the source distribution

Steps to manually build from the source distribution:

  1. Download the sources, unpack, and change into the source directory.

  2. Build:

    $ python setup.py build
  3. Test (optional):

    $ python setup.py test
  4. Install:

    $ python setup.py install

The last step might require admin privileges in order to write into the site-packages directory of your Python installation.

Note that this still requires a release version of the source distribution. The development sources that you may clone from the source repository on GitHub is missing some files that are dynamically created during the release.

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

photoidx-0.10.1.tar.gz (506.3 kB view details)

Uploaded Source

File details

Details for the file photoidx-0.10.1.tar.gz.

File metadata

  • Download URL: photoidx-0.10.1.tar.gz
  • Upload date:
  • Size: 506.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.5.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.12

File hashes

Hashes for photoidx-0.10.1.tar.gz
Algorithm Hash digest
SHA256 af191eea15df438e558f1029d43c80173190dc4c5d7dac8739387e36601a559e
MD5 8a3f356392f17f5cd164a9cabc7bc5cb
BLAKE2b-256 d8081cfc60fc769fd6072629daf747505523fa996e64ec5044cd13b069f2948c

See more details on using hashes here.

Supported by

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