Skip to main content
shellsmith
Test codecov PyPI - Version Ruff

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_id and submodel_id are automatically base64-encoded unless you pass encode=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> --help to 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 .env file in your project with:

    SHELLSMITH_BASYX_ENV_HOST=https://your-host:1234
    
  • Use the --host option with any CLI command:

    aas get shells --host https://your-host:1234
    
  • Pass the host parameter in any shellsmith Python function:

    shellsmith.get_shells(host="https://your-host:1234")
    

ℹ️ The --host CLI flag and host= 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.5.0

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

Source distribution (sdist)

Source distribution for shellsmith 0.5.0
File Size Uploaded
shellsmith-0.5.0.tar.gz 13.0 kB Details

Built distribution (wheel)

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

Total release size: 30.0 kB

Release files / shellsmith-0.5.0.tar.gz

Download URL shellsmith-0.5.0.tar.gz
Size 13.0 kB
Tags Source
SHA-256 checksum
How to use checksums
710dc5d8c4163b6fa53ad48a1ca46cd9ac1eabbe2d51b31897c2bae0e5b8978c
BLAKE2b-256 checksum
How to use checksums
0ccac6ae1d91b3bea51b396c26ad96a8f7eb6a95b5966fd27b4f43957f3fae50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.0

Release files / shellsmith-0.5.0-py3-none-any.whl

Download URL shellsmith-0.5.0-py3-none-any.whl
Size 17.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6f052d6e77378c8ad1778cb077ed1b14568a10978beefa08796732f269387ab
BLAKE2b-256 checksum
How to use checksums
a1f06d0a1333650e6281f4603b965238bfcd3cb8f34c895bbe5f797b73d7461c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.0

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

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