Skip to main content

Insert image description and tags with the help of computer vision

Project description

PyPI version

Wagtail Alt Generator

Generate image description and tags with the help of computer vision (inspired by altify).

Screen1

Screencast demo

Supported providers

Requirements

Installation

Install the library with pip:

$ pip install wagtailaltgenerator

Depending on your selected provider, you might also need extra requirements (example pip install wagtailaltgenerator[rekognition]. Please check the install instructions for the various providers below.

Quick Setup (on Microsoft Cognitive Service)

  1. Install pip install wagtailaltgenerator

  2. Register an account on Microsoft Cognitive Service

  3. Retrieve API key for the product Computer Vision - Preview

  4. Add the key to your django settings:

    COMPUTER_VISION_API_KEY = 'yourkey'
  5. Make sure wagtailaltgenerator is added to your INSTALLED_APPS.

    INSTALLED_APPS = (
        # ...
        'wagtailaltgenerator',
    )

Usage

  1. Upload an image through Wagtail

  2. Watch the title and/or tags get generated…

  3. …And done!

General settings

  • ALT_GENERATOR_USE_TAGS: Enable/disable image tags (True by default)

  • ALT_GENERATOR_MAX_TAGS: The maximum amount of tags to use from service (default -1, unlimited)

  • ALT_GENERATOR_PROVIDER: The provider you would like to use (wagtailaltgenerator.providers.cognitive.Cognitive is default)

  • ALT_GENERATOR_MIN_CONFIDENCE: The minimum accepted percentage of confidence the provider has in describing the image (default 0, accept any).

  • ALT_GENERATOR_PREFER_UPLOAD: If you want your provider to read asset by url, or through binary upload (default True, always try to post image). Only Cognitive Services supports both choices this.

Providers

Microsoft Cognitive Services

Microsoft’s computer vision API. Docs

  • (+) Supports both tags and descriptions

  • (-) Requires monthly API key rotation

Settings
  • ALT_GENERATOR_PROVIDER: 'wagtailaltgenerator.providers.cognitive.Cognitive'

  • COMPUTER_VISION_API_KEY: Microsoft Cognitive Services API key

AWS Rekognition

Amazon’s image analysis API. Docs

  • (+) Stable

  • (-) Supports only tags

Installing

Add ...[rekognition] when you install wagtailaltgenerator (this will install the extra packages required).

  • pip install wagtailaltgenerator[rekognition]

Settings

The Rekognition provider is based on boto and uses its configuration.

These are three of the most common settings:

  • AWS_ACCESS_KEY_ID: The access key for your AWS account

  • AWS_SECRET_ACCESS_KEY: The secret key for your AWS account

  • AWS_DEFAULT_REGION: The default region to use, e.g. us-west-2, eu-west-1, etc

You also need to define the provider:

  • ALT_GENERATOR_PROVIDER: 'wagtailaltgenerator.providers.rekognition.Rekognition'

Google Vision

Google’s Cloud Vision API docs.

  • (+) Stable

  • (-) Support only tags

Installing
  • pip install wagtailaltgenerator[google_vision]

Settings

The Google Vision provider is based on google-api-python-client and are typically done using Application Default Credentials for authentication.

You can authenticate locally with the Google Cloud SDK, on production with either the built in credentials (if you already run on Google Cloud) or with a Service Account key file.

You also need to define the provider:

  • ALT_GENERATOR_PROVIDER: 'wagtailaltgenerator.providers.google_vision.GoogleVision'

Tests

This library include tests for the different providers.

Getting started

  • Make sure to install dev requirements: pip install -r requirements/tests.txt

  • Copy test_vars.sh and fill in the blanks cp test_vars.example.sh test_vars.sh

Running

  • Run tests: source test_vars.sh && python runtests.py

You can also run separate test cases: runtests.py tests.test_cognitive_service.CognitiveServiceTest

Release start

These hooks will automatically bump the application version when using git flow release ...

chmod +x $PWD/git-hooks/bump-version.sh
ln -nfs $PWD/git-hooks/bump-version.sh .git/hooks/post-flow-release-start
ln -nfs $PWD/git-hooks/bump-version.sh .git/hooks/post-flow-hotfix-start

Distribution

Register

python setup.py egg_info
twine register dist/mypkg.wh

Publish

python setup.py sdist
twine upload dist/*

Contributing

Want to contribute? Awesome. Just send a pull request.

License

Wagtail-alt-generator is released under the MIT License.

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

wagtailaltgenerator-4.0.1.tar.gz (8.6 kB view hashes)

Uploaded Source

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