Skip to main content

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.

Metadata

Release files for sesiweb 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sesiweb 0.1.1
File Size Uploaded
sesiweb-0.1.1.tar.gz 11.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sesiweb 0.1.1
File Interpreter ABI Platform
sesiweb-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 21.4 kB

Release files / sesiweb-0.1.1.tar.gz

Download URL sesiweb-0.1.1.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a5c381448cc060e922ed49f9a07d16100460b677f3c12d8bac792549720ba8cc
BLAKE2b-256 checksum
How to use checksums
8c1d620148c7bfd1137a4a8966585bc42ad1738729d92c52d420e9333d7cf45e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release files / sesiweb-0.1.1-py3-none-any.whl

Download URL sesiweb-0.1.1-py3-none-any.whl
Size 10.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f05aa1f7744f6409f2a60bea7f43ecf436fe8e181de8f27af963d6b12655fe9d
BLAKE2b-256 checksum
How to use checksums
b637e16bb0126337362ed96b65e142fb1c72dac5529e96ede1f91943bcf61d71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page