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 make release. 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.11.tar.gz (7.8 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.11-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyvimond-0.4.11.tar.gz
  • Upload date:
  • Size: 7.8 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.11.tar.gz
Algorithm Hash digest
SHA256 df88764342826888e63959479ee2fa81480ba1a233ceda0eb7ff27a38c884e60
MD5 cabfbf32eff693fba841357dcd778fa7
BLAKE2b-256 599f50de911e706ed3fe7f30c4785275201d0e58c90424c084bfb6084477ccff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyvimond-0.4.11-py3-none-any.whl
  • Upload date:
  • Size: 10.0 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.11-py3-none-any.whl
Algorithm Hash digest
SHA256 64e9191a9217f1810e6297527894700ffa135262741bdc2553329bc40b7f228e
MD5 33b239e2f7068ee9da9c6a1ccc3a0638
BLAKE2b-256 45f0bc5f2287f452c43abbd255c19e8f2633f899240311e43c22a4ec5223bb5c

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