Documentation: https://shellsmith.pages.dev
Shellsmith is a Python SDK for managing Asset Administration Shells (AAS) via the Eclipse BaSyx REST API.
Installation
pip install shellsmith
For CLI and MCP server support, install with optional dependencies:
pip install shellsmith[cli,mcp]
Requires: Python 3.10+
Python API Usage
You can also use shellsmith as a Python client library to interact with the BaSyx Environment REST API.
import shellsmith
# Fetch all AAS Shells
shells = shellsmith.get_shells()
# Fetch a specific Submodel
submodel = shellsmith.get_submodel("https://example.com/submodels/my-submodel")
# Read and update a Submodel Element's value
value = shellsmith.get_submodel_element_value(submodel["id"], "temperature")
shellsmith.patch_submodel_element_value(submodel["id"], "temperature", "42.0")
ℹ️
shell_idandsubmodel_idare automatically base64-encoded unless you passencode=False.
➡️ Full Python API reference: shellsmith.pages.dev/api
CLI Usage
Shellsmith provides a powerful command-line interface:
aas --help
| Command | Description |
|---|---|
info |
Display the current Shell tree and identify issues. |
upload |
Upload a single AAS file or all AAS files from a folder. |
nuke |
☢️ Delete all Shells and Submodels (irrevocable). |
encode |
Encode a value (e.g. Shell ID) to Base64. |
decode |
Decode a Base64-encoded value. |
get |
Get Shells, Submodels, and Submodel Elements. |
delete |
Delete Shells, Submodels, or Submodel Elements. |
update |
Update Shells, Submodels, or Submodel Elements. |
create |
Create new Shells, Submodels, or Submodel Elements. |
ℹ️ Run
aas <command> --helpto view subcommands and options.
➡️ Full CLI reference: shellsmith.pages.dev/cli
MCP Integration
Shellsmith provides a Model Context Protocol (MCP) server that enables AI assistants to interact with Asset Administration Shells. The server exposes 25+ tools for comprehensive AAS management through a standardized interface.
Configure with Claude Desktop or other MCP clients to get AI-powered AAS operations.
➡️ Full MCP reference: shellsmith.pages.dev/mcp
Configuration
The default AAS environment host is:
http://localhost:8081
You can override it in several ways:
-
Set the environment variable:
SHELLSMITH_BASYX_ENV_HOST=https://your-host:1234
-
Create a
.envfile in your project with:SHELLSMITH_BASYX_ENV_HOST=https://your-host:1234
-
Use the
--hostoption with any CLI command:aas get shells --host https://your-host:1234
-
Pass the
hostparameter in anyshellsmithPython function:shellsmith.get_shells(host="https://your-host:1234")
ℹ️ The
--hostCLI flag andhost=Python argument take precedence over environment variables and.env.
Contributing
We welcome contributions!
See the Contributing Guide for setup, testing, and coding standards.
Resources
Metadata
Release files for shellsmith 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| shellsmith-0.6.0.tar.gz | 14.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| shellsmith-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.1 kB
Release files / shellsmith-0.6.0.tar.gz
| Download URL | shellsmith-0.6.0.tar.gz |
|---|---|
| Size | 14.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
56978a19acfc7b815965d832307bf5055f00e032e52f5462e28a2285ceddd08a
|
|
BLAKE2b-256 checksum How to use checksums |
59bd6cb0987be22bcdf9be94d6abe63438835853072c92703be4aca320b839fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / shellsmith-0.6.0-py3-none-any.whl
| Download URL | shellsmith-0.6.0-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2348693dbda5887ab6be294b9d857f1605298c73588d412c8f7ef680700d9438
|
|
BLAKE2b-256 checksum How to use checksums |
296aad70ab1e230624109394d305b67549ac4a6f9016dbe5bf3f61fae34f779e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency log