--- id: smithy-core version: "0.8.0" license: Apache License 2.0 license_treatment: permissive maintenance: active --- # smithy-core — Core components for implementing Smithy tooling in Python. License: permissive · Maintenance: active · Downloads: 434.5K/mo ## 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 above — verify before relying. Provides core Python interfaces and components for building Smithy service clients, enabling code generation of async-capable SDK implementations from Smithy service models. 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 pip install smithy-core uv add smithy-core poetry add smithy-core ## Installing smithy-core 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. 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. 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. 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_current - Install friction: low - Maintenance: active - Downloads: 434.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags smithy python sdk, code generation service client, async service client framework, smithy codegen python, rest json protocol client, smithy model to python, sdk tooling python, code-generation, async-sdk, smithy [View on SkillFed](https://skillfed.io/packages/smithy-core) · [View on PyPI](https://pypi.org/project/smithy-core/)