smithy-core
Core components for implementing Smithy tooling in Python.
Decision gist · record as of 2026-08-14
Yes, if you are actively developing or prototyping Smithy-based services and can tolerate pre-alpha instability and incomplete features. No, if you need production-ready SDK tooling or detailed logging support. The package is actively maintained and has zero known vulnerabilities, but the explicit pre-alpha warning and interface-change disclaimer mean you should treat it as experimental.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.12 or newer.
- Code generation requires the Smithy CLI, JDK 17+, uv, make, and pandoc to be installed separately; smithy-core itself is only the runtime component.
- Active maintenance with a recent release (1 day old), supporting current Python versions (3.12+).
License · maintenance · safety
Apache License 2.0 (permissive) — Apache License 2.0 (permissive); you may use, modify, and distribute this package freely in commercial and open-source projects, provided you include the license notice.
last release 2026-08-13 (1 days) · last repo commit 2026-08-13 · 83 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 434,490 downloads/mo, #6,688 on PyPI
Alternatives
Verify before relying
pip install smithy-core==0.8.0
# smithy-core provides runtime interfaces; actual usage depends on generated code from smithy build with python-client-codegen or python-type-codegen plugins.- Whether the generated clients work reliably with services other than the restJson1 protocol mentioned in the description.
- Current state of unimplemented features such as detailed logging.
- Whether the package is suitable for any production workloads despite the pre-alpha warning.
- How to use smithy-core directly as a runtime component versus as part of a code generation workflow.
What it is and what it does
Smithy-core is a pre-alpha Python library that provides the foundational interfaces and runtime components needed to build service clients from Smithy service models. It is part of a larger tooling ecosystem that includes code generators and handwritten Python modules; together, they enable you to define a service in Smithy, configure a build, and generate an async Python client that can call that service. The package itself contains no generated clients—it is the toolkit that makes client generation possible.
The library is designed for developers who want to generate SDK implementations for Smithy-based services (both AWS and non-AWS). It supports the restJson1 protocol and is built to work with modern Python versions (3.12 and later). Because it is in early development, the project explicitly warns that interfaces are unstable and several features (such as detailed logging) remain unimplemented; it should not be used in production systems yet.
Use it for
- Generate async Python clients for services defined in Smithy models using the python-client-codegen plugin.
- Generate concrete Python type classes from Smithy shape definitions without building a full client.
- Build custom SDK tooling or extensions on top of Smithy's composable Python interfaces.
- Prototype or develop services that use the restJson1 protocol and want generated Python bindings.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are actively developing or prototyping Smithy-based services and can tolerate pre-alpha instability and incomplete features.
No, if you need production-ready SDK tooling or detailed logging support. The package is actively maintained and has zero known vulnerabilities, but the explicit pre-alpha warning and interface-change disclaimer mean you should treat it as experimental.
Install
smithy-core on PyPI
Before you install
Active maintenance with a recent release (1 day old), supporting current Python versions (3.12+). Pre-alpha status and explicit warning that all interfaces are subject to change; not recommended for production use yet.
Requires Python 3.12 or newer. Code generation requires the Smithy CLI, JDK 17+, uv, make, and pandoc to be installed separately; smithy-core itself is only the runtime component.
License in practice
Apache License 2.0 (permissive); you may use, modify, and distribute this package freely in commercial and open-source projects, provided you include the license notice.
Quickstart
pip install smithy-core==0.8.0
# smithy-core provides runtime interfaces; actual usage depends on generated code from smithy build with python-client-codegen or python-type-codegen plugins.
Verify before relying
- Whether the generated clients work reliably with services other than the restJson1 protocol mentioned in the description.
- Current state of unimplemented features such as detailed logging.
- Whether the package is suitable for any production workloads despite the pre-alpha warning.
- How to use smithy-core directly as a runtime component versus as part of a code generation workflow.
Package facts
| License | Apache License 2.0 permissive |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 1 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 434,490 / month, #6,688 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Free Threading :: 2 - BetaProgramming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Libraries |
Evidence: smithy_core-0.8.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “smithy python sdk”
- smithy-coreProvides core Python interfaces and components for building Smithy…
- smithy-jsonProvides JSON serialization and deserialization support for…
- smithy-aws-coreProvides core runtime components and protocol implementations for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also smithy-aws-core · smithy-json · smithy-aws-event-stream · smithy-http · aws_sdk_bedrock_runtime · sanic-testing · ocp-tessellate · chargehound · vsdx