A Python wrapper library for the Huwise Automation API
Project description
huwise-utils-py
A Python library for the Huwise Automation API.
Features
- Type-safe configuration with Pydantic-based
HuwiseConfig - Object-oriented API with
HuwiseDatasetclass and method chaining - Async support for high-performance bulk operations
- Airflow-friendly logging via Python stdlib logging
- Dependency injection support for testable code
- Backwards compatible function-based API available
Installation
Using uv (recommended):
uv add huwise-utils-py
Or via pip:
pip install huwise-utils-py
Requirements
- Python Version: 3.12 or higher
- Domain: Huwise domain (for example
data.bs.ch) - API Key: Optional for public read endpoints, required for write/restricted operations
Quick Start
Configuration
Create a .env file:
HUWISE_DOMAIN=data.bs.ch
HUWISE_API_TYPE=automation/v1.0
If you need write access (publish/update metadata), also add:
HUWISE_API_KEY=your-api-key
Using HuwiseDataset (Recommended)
from huwise_utils_py import HuwiseDataset
# Create a dataset instance from its ID
dataset = HuwiseDataset.from_id("100123")
# Read metadata
title = dataset.get_title()
description = dataset.get_description()
# Update with method chaining
dataset.set_title("New Title", publish=False) \
.set_description("New description") \
.publish()
Using Functions
from huwise_utils_py import get_dataset_title, set_dataset_title
# Read
title = get_dataset_title(dataset_id="100123")
# Write
set_dataset_title("New Title", dataset_id="100123")
Bulk Operations
from huwise_utils_py import bulk_get_metadata, bulk_get_metadata_async
import asyncio
# Synchronous
metadata = bulk_get_metadata(dataset_ids=["100123", "100456", "100789"])
# Asynchronous (10-100x faster for many datasets)
metadata = asyncio.run(bulk_get_metadata_async(dataset_ids=["100123", "100456", "100789"]))
API Key Setup
To use huwise-utils-py, create an API key with these permissions:
- Browse all datasets
- Create new datasets
- Edit all datasets
- Publish own datasets
For OGD Basel, create your API key here.
Important: Add **/.env to your .gitignore to protect your credentials.
Documentation
Full documentation is available at opendatabs.github.io/huwise-utils-py.
API Reference
This library is a Python client for the Huwise Automation API. The Automation API enables programmatic management of datasets, metadata, resources, security, and more on Huwise (ex Opendatasoft) portals.
For the complete API specification including all available endpoints, request/response schemas, and authentication details, see the official Automation API documentation.
Related Projects
- odsAutomationR - An R package for accessing the Automation API, developed by the Canton of Thurgau. If you're working in R, this package provides similar functionality.
Further Links
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file huwise_utils_py-1.3.1.tar.gz.
File metadata
- Download URL: huwise_utils_py-1.3.1.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7689952b990d00754f5b2defe686cab667bb5cb3ff52649f57f0d63d28d8d150
|
|
| MD5 |
155d923f25aeb7b65878faa65846cb86
|
|
| BLAKE2b-256 |
1b52285564ce89f434d24109128ff0d937234f723252985b9dbe76600504b7f9
|
File details
Details for the file huwise_utils_py-1.3.1-py3-none-any.whl.
File metadata
- Download URL: huwise_utils_py-1.3.1-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c0143cd04343d521c23e163daa2e07df3e52dccc7c6255763256c35269b0cb7
|
|
| MD5 |
b6f6cd616f27787ffbb26bac189867dd
|
|
| BLAKE2b-256 |
ceedfc4307fa7f764610cff1e564f5cc211df7173d1a80238d8e4fd596d496e8
|