Skip to main content

Unofficial driver for the SideFX Web API

Project description

Hbuild Logo sesiweb

Test

sesiweb is a Python module used as a synchronous driver for the SideFX Web API. It provides a simple interface to interact with the API and obtain data about Houdini product builds.

Inputs are validated with Pydantic, and methods in sesiweb provide additional lookup functionality, exceptions, and models.

Table of Contents

Installation

You can install sesiweb via pip:

pip install --upgrade sesiweb

Note: sesiweb is intended for Python 3, as it supports several modern Python features.

Daily Build Listing

To use sesiweb, you need to provide your SideFX API credentials:

from sesiweb import SesiWeb

sesi_secret = "your_secret_key"
sesi_id = "your_client_id"

sw = SesiWeb(sesi_secret, sesi_id)

Once you have created an instance of SesiWeb, you can call its methods to retrieve data. For example, get_latest_builds will return a list of the DailyBuild object:

# Get the most recent Houdini product builds
build = {"product": "houdini", "platform": "linux", "version": "19.5"}
latest_builds = sw.get_latest_builds(build)

print(latest_builds)

This will return:

[DailyBuild(product='houdini', platform='linux_x86_64_gcc9.3', version='19.5', build='569', date='2023/03/29', release='gold', status='good'), DailyBuild(...

You can also filter builds with the prodfilter arg:

buildfilter = {"status": "good", "release": "gold"}

latest_builds = sw.get_latest_builds(
    prodinfo=build,
    prodfilter=buildfilter
)

For more information on the SideFX Web API and the returned results you can filter by, refer to the SideFX Web API documentation.

Acquiring a Build Download

Using sesiweb and Pydantic, you can also transform a DailyBuild object into a ProductBuild object, which is a required input for acquiring a download URL.

In the script below, the single latest daily development build (irrespective of version number) is acquired using get_latest_build. get_build_download is then used to return the download metadata for that build:

from sesiweb import SesiWeb
from sesiweb.model.service import ProductBuild

sesi_secret = "your_secret_key"
sesi_id = "your_client_id"

sw = SesiWeb(sesi_secret, sesi_id)

# Get the most recent Houdini product builds
build = {"product": "houdini", "platform": "linux"}

# Get the latest Houdini build
build = sw.get_latest_build(prodinfo=build, only_production=False)

# Get the download URL, filename and hash of the build
build_dl = sw.get_build_download(
	prodinfo=ProductBuild(**build.dict())
)

print(build_dl)

This will return a BuildDownloadModel object containing a download URL, build filename, and hash:

download_url=AnyUrl('https://gjvnth38g.cloudfront.net/download/download-build/456223/cdn/?Expires=166636236...

For an example of using this metadata in a purpose suitable for a production environment, see autobuild.py in Houdini-Docker; Where sesiweb build data is used to construct a Docker image using a custom Houdini installation process.

License

sesiweb is licensed under the MIT License. See LICENSE for more information.

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

sesiweb-0.1.1.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

sesiweb-0.1.1-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file sesiweb-0.1.1.tar.gz.

File metadata

  • Download URL: sesiweb-0.1.1.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for sesiweb-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a5c381448cc060e922ed49f9a07d16100460b677f3c12d8bac792549720ba8cc
MD5 317dad307184e32685ae948bbaf0adf8
BLAKE2b-256 8c1d620148c7bfd1137a4a8966585bc42ad1738729d92c52d420e9333d7cf45e

See more details on using hashes here.

File details

Details for the file sesiweb-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: sesiweb-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for sesiweb-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f05aa1f7744f6409f2a60bea7f43ecf436fe8e181de8f27af963d6b12655fe9d
MD5 07a75e4a8237a19f8117e913c5ad4751
BLAKE2b-256 b637e16bb0126337362ed96b65e142fb1c72dac5529e96ede1f91943bcf61d71

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