Skip to main content

Tiny client library for various Vimond APIs

Project description

pyvimond

Tiny Python client library for various Vimond APIs. Currently it provides clients for:

  • Vimond REST API
  • Vimond Image Service

Usage

The examples here can be found in the example files in the project root directory

Vimond REST API

from pyvimond.vimond_client import VimondClient

if __name__ == "__main__":
    # Create a client
    api_url = "https://vimond"
    user = "user"
    secret = "secret"
    vimond = VimondClient(api_url, user, secret)

    # Get an asset
    asset = vimond.get_asset(1334686)
    print(asset["uri"])

    # Get the asset's category
    category = vimond.get_category(asset["categoryId"])
    print(category["category"]["@uri"])

    # Get the metadata for the asset
    metadata = vimond.get_asset_metadata(1334686)
    print(metadata)

Vimond Image Service

The client uses HTTP Basic authentication when interfacing with Vimond Image Service

from pyvimond.vimond_image_service_client import VimondImageServiceClient

if __name__ == "__main__":
    # Create a client
    api_url = "https://image-service"
    username = "user"
    password = "secret"
    vimond_image_service = VimondImageServiceClient(api_url, username, password)

    # Create an image pack
    imagepack_id = vimond_image_service.create_image_pack()
    print(f"Created new imagepack with ID {imagepack_id}")

    # Update the "main" location with the image from a publicly accessible URL.
    # The function will return an ID consisting of the imagepack ID plus the current UNIX timestamp. This
    # can eventually be used to reference this version of the image (assuming it gets cached somewhere) even after
    # the image has been updated later on.
    public_url = "https://cdn.pixabay.com/photo/2020/12/03/12/35/sunset-5800386_960_720.jpg"
    timestamped_imagepack_id = vimond_image_service.send_image(imagepack_id, public_url, "main")

    # Get the URL to the timestamped version with location "main"
    url = vimond_image_service.create_image_url(timestamped_imagepack_id, location="main")
    print(url)

    # Get the URL to the untimestamped version and no location
    url_without_location = vimond_image_service.create_image_url(imagepack_id)
    print(url_without_location)

Testing

python3 -m unittest discover

Releasing

Before beginning, make sure you have the necessary tools installed:

pip install --user --upgrade setuptools wheel twine

To build a new distribution and publish it on PyPi:

  1. Update the version number in setup.py
  2. Run rm -rf build dist to remove any previous build artifacts
  3. Run python3 setup.py sdist bdist_wheel to build the new distribution
  4. Run twine upload dist/*. When asked for credentials, use __token__ as username and the output of vault -l pypi-pyvimond-api-token as password.

More information: https://packaging.python.org/tutorials/packaging-projects/

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

pyvimond-0.4.2.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyvimond-0.4.2-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file pyvimond-0.4.2.tar.gz.

File metadata

  • Download URL: pyvimond-0.4.2.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.10

File hashes

Hashes for pyvimond-0.4.2.tar.gz
Algorithm Hash digest
SHA256 08b63618b5c7c6657b458f116c8150f5000fba936d4996c38748671044a64252
MD5 f765f7380221197e72b2ea3dda2440ce
BLAKE2b-256 86e284c6c84235d7cf611f7cb9904ef7257ae7198134120368c427cae070217b

See more details on using hashes here.

File details

Details for the file pyvimond-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: pyvimond-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.10

File hashes

Hashes for pyvimond-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 849cdb77bd3002d583d71618e5513e9f1af37891b4d74df3ae74f3f8001959f1
MD5 92c9920e105bd965b4fd138a12406283
BLAKE2b-256 5b138a0f2afe9560a8dd3917b57ff0d5813abbe866be10cec76e1e133e1079e3

See more details on using hashes here.

Supported by

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