Python client library for AAS Registry APIs (IDTA-01002 Part 2, v3.x)
Project description
basyx-registry-client
Python client library for AAS Registry APIs (IDTA-01002 Part 2, v3.x).
This library enables service discovery via AAS Registry APIs, allowing you to resolve Asset Administration Shell identifiers to their endpoint URLs. It complements the basyx-client repository client by providing the registry lookup layer in the workflow: ID → Registry → Endpoint → AASClient → Data.
Installation
pip install basyx-registry-client
With optional basyx-client integration:
pip install basyx-registry-client[basyx]
For development:
pip install basyx-registry-client[dev]
Quickstart
from basyx_registry_client import AsyncRegistryClient, RegistryClient
# Create a registry client
client = RegistryClient(base_url="https://registry.example.com/api/v3.0")
# List all shell descriptors
for descriptor in client.iter_shell_descriptors():
print(f"AAS: {descriptor.id}")
# Resolve an AAS endpoint by its identifier
aas_id = "https://example.com/aas/motor-001"
endpoint = client.resolve_aas_href(aas_id)
print(f"Endpoint URL: {endpoint}")
# Optional filters
page = client.list_shell_descriptors(id_short="Motor001", asset_kind="Instance")
print(f"Filtered page size: {len(page)}")
# Async usage
async with AsyncRegistryClient(base_url="https://registry.example.com/api/v3.0") as client:
descriptor = await client.get_shell_descriptor(aas_id)
print(f"Found: {descriptor.id_short}")
With basyx-client integration:
from basyx_registry_client import RegistryClient
from basyx_registry_client.integrations import aas_client_from_registry
registry = RegistryClient("https://registry.example.com/api/v3.0")
aas = aas_client_from_registry(registry, "urn:example:aas:1")
shell = aas.get_shell("urn:example:aas:1")
Features
- Synchronous and asynchronous API support
- Full type annotations with Pydantic models
- Compliant with IDTA-01002 Part 2, v3.x specification
- Shell and submodel descriptor CRUD operations
- Optional idShort/assetKind filters for shell descriptor listings
- Resolve identifiers to preferred endpoints
API Reference
Documentation coming soon.
License
Apache-2.0
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 basyx_registry_client-0.1.1.tar.gz.
File metadata
- Download URL: basyx_registry_client-0.1.1.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd9800a044c9e4b0a3b9c9ca8034f689dd653aedf657fde4c701094e035df292
|
|
| MD5 |
41e4e2f8be5eb0e9a6570a6d7bf509ab
|
|
| BLAKE2b-256 |
397b2d68bea3d1afb9a8615deb9d051ed8ee2dea06ae8b805485c1230a18117b
|
Provenance
The following attestation bundles were made for basyx_registry_client-0.1.1.tar.gz:
Publisher:
publish.yml on hadijannat/basyx-registry-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
basyx_registry_client-0.1.1.tar.gz -
Subject digest:
fd9800a044c9e4b0a3b9c9ca8034f689dd653aedf657fde4c701094e035df292 - Sigstore transparency entry: 844188317
- Sigstore integration time:
-
Permalink:
hadijannat/basyx-registry-client@ce37da799e5e1807a103d79e27ed562a531cedc4 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/hadijannat
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ce37da799e5e1807a103d79e27ed562a531cedc4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file basyx_registry_client-0.1.1-py3-none-any.whl.
File metadata
- Download URL: basyx_registry_client-0.1.1-py3-none-any.whl
- Upload date:
- Size: 25.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22955cfe73f2bb669d2086740723c3ef228ba339b75f03a956d8987ad3c1c2d1
|
|
| MD5 |
2e38ea406a2baea0e48d9fab487ddb17
|
|
| BLAKE2b-256 |
c56ee09ee5cb87723588876bfcc593cbb9aca8f3ad505bb7f915e4d105a362e7
|
Provenance
The following attestation bundles were made for basyx_registry_client-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on hadijannat/basyx-registry-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
basyx_registry_client-0.1.1-py3-none-any.whl -
Subject digest:
22955cfe73f2bb669d2086740723c3ef228ba339b75f03a956d8987ad3c1c2d1 - Sigstore transparency entry: 844188323
- Sigstore integration time:
-
Permalink:
hadijannat/basyx-registry-client@ce37da799e5e1807a103d79e27ed562a531cedc4 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/hadijannat
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ce37da799e5e1807a103d79e27ed562a531cedc4 -
Trigger Event:
release
-
Statement type: