smithy-python 0.1.0__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- smithy_python-0.2.0/.changes/0.2.0.json +28 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/.gitignore +3 -0
- smithy_python-0.2.0/CHANGELOG.md +22 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/PKG-INFO +11 -12
- smithy_python-0.2.0/README.md +17 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/pyproject.toml +1 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/__init__.py +3 -1
- smithy_python-0.2.0/src/smithy_python/_selector.py +1293 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/cli.py +121 -23
- smithy_python-0.2.0/src/smithy_python/dependencies.py +116 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/environment.py +2 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/exceptions.py +13 -0
- smithy_python-0.2.0/src/smithy_python/files.py +305 -0
- smithy_python-0.2.0/src/smithy_python/generation.py +168 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/__init__.py +2 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/_shape_id.py +1 -1
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/_shapes.py +8 -0
- smithy_python-0.2.0/src/smithy_python/models.py +469 -0
- smithy_python-0.2.0/src/smithy_python/schemas.py +513 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/selection.py +152 -46
- smithy_python-0.2.0/src/smithy_python/symbols.py +388 -0
- smithy_python-0.2.0/src/smithy_python/types.py +127 -0
- smithy_python-0.2.0/src/smithy_python/writer.py +611 -0
- smithy_python-0.1.0/CHANGELOG.md +0 -8
- smithy_python-0.1.0/README.md +0 -19
- {smithy_python-0.1.0 → smithy_python-0.2.0}/.changes/0.1.0.json +0 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/NOTICE +0 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/__main__.py +0 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/_loader.py +0 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/_model.py +0 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/_prelude.py +0 -0
- {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/py.typed +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"changes": [
|
|
3
|
+
{
|
|
4
|
+
"type": "breaking",
|
|
5
|
+
"description": "Declared explicit `__all__` exports on all public modules. Names that were previously importable only incidentally (via `from module import *` or as un-annotated module attributes) are no longer part of the public API; import public symbols by name from their documented module."
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"type": "feature",
|
|
9
|
+
"description": "Added native generation of compact, lazily hydrated schemas with Java-compatible trait filtering, string interning, and recursive references."
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "feature",
|
|
13
|
+
"description": "Added a native Python symbol provider with deterministic declaration and member naming, generator-reserved member names, structured type references, service renames, collision diagnostics, sparse collections, and recursive type support."
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"type": "feature",
|
|
17
|
+
"description": "Added a native Python writer with structured annotations, deterministic collision-safe imports, indentation contexts, and forward-reference support."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "feature",
|
|
21
|
+
"description": "Added native generation of lazy runtime model modules and complete static model stubs for standalone types packages."
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "enhancement",
|
|
25
|
+
"description": "Added support for Python 3.15."
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## v0.2.0
|
|
4
|
+
|
|
5
|
+
### Breaking Changes
|
|
6
|
+
* Declared explicit `__all__` exports on all public modules. Names that were previously importable only incidentally (via `from module import *` or as un-annotated module attributes) are no longer part of the public API; import public symbols by name from their documented module.
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
* Added native generation of compact, lazily hydrated schemas with Java-compatible trait filtering, string interning, and recursive references.
|
|
10
|
+
* Added a native Python symbol provider with deterministic declaration and member naming, generator-reserved member names, structured type references, service renames, collision diagnostics, sparse collections, and recursive type support.
|
|
11
|
+
* Added a native Python writer with structured annotations, deterministic collision-safe imports, indentation contexts, and forward-reference support.
|
|
12
|
+
* Added native generation of lazy runtime model modules and complete static model stubs for standalone types packages.
|
|
13
|
+
|
|
14
|
+
### Enhancements
|
|
15
|
+
* Added support for Python 3.15.
|
|
16
|
+
|
|
17
|
+
## v0.1.0
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
* Added the experimental smithy-python package and CLI scaffold.
|
|
21
|
+
* Added service and data-shape selection for the native Python generator, including `--service` for `client` and `types` commands, service closure filtering, and standalone types name conflict diagnostics.
|
|
22
|
+
* Added a Smithy JSON AST model loader with an embedded prelude, mixin flattening, and apply support.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: smithy-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: A Smithy code generator for Python clients and types.
|
|
5
5
|
Project-URL: Changelog, https://github.com/smithy-lang/smithy-python/blob/develop/packages/smithy-python/CHANGELOG.md
|
|
6
6
|
Project-URL: Code, https://github.com/smithy-lang/smithy-python/tree/develop/packages/smithy-python/
|
|
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.14
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
23
24
|
Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
|
|
24
25
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
25
26
|
Classifier: Topic :: Software Development :: Code Generators
|
|
@@ -28,20 +29,18 @@ Description-Content-Type: text/markdown
|
|
|
28
29
|
|
|
29
30
|
# smithy-python
|
|
30
31
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
`smithy-python` will provide Python-native code generation for Smithy models.
|
|
36
|
-
The initial command-line interface exposes the planned client and types generation
|
|
37
|
-
commands so that their top-level shape can be developed independently from the
|
|
38
|
-
generator implementation.
|
|
32
|
+
`smithy-python` provides Python-native code generation for Smithy models.
|
|
33
|
+
Standalone types generation is available; client generation remains under
|
|
34
|
+
development.
|
|
39
35
|
|
|
40
36
|
```console
|
|
41
37
|
smithy-python generate client [OPTIONS]
|
|
42
38
|
smithy-python generate types [OPTIONS]
|
|
43
39
|
```
|
|
44
40
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
`generate types` produces an installable package containing compact schemas, lazy
|
|
42
|
+
runtime models, and a complete static typing surface. Run
|
|
43
|
+
`smithy-python generate types --help` for artifact settings.
|
|
44
|
+
|
|
45
|
+
`generate client` currently exits with an error explaining that client generation
|
|
46
|
+
has not been implemented.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# smithy-python
|
|
2
|
+
|
|
3
|
+
`smithy-python` provides Python-native code generation for Smithy models.
|
|
4
|
+
Standalone types generation is available; client generation remains under
|
|
5
|
+
development.
|
|
6
|
+
|
|
7
|
+
```console
|
|
8
|
+
smithy-python generate client [OPTIONS]
|
|
9
|
+
smithy-python generate types [OPTIONS]
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
`generate types` produces an installable package containing compact schemas, lazy
|
|
13
|
+
runtime models, and a complete static typing surface. Run
|
|
14
|
+
`smithy-python generate types --help` for artifact settings.
|
|
15
|
+
|
|
16
|
+
`generate client` currently exits with an error explaining that client generation
|
|
17
|
+
has not been implemented.
|
|
@@ -21,6 +21,7 @@ classifiers = [
|
|
|
21
21
|
"Programming Language :: Python :: 3.12",
|
|
22
22
|
"Programming Language :: Python :: 3.13",
|
|
23
23
|
"Programming Language :: Python :: 3.14",
|
|
24
|
+
"Programming Language :: Python :: 3.15",
|
|
24
25
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
25
26
|
"Programming Language :: Python :: Free Threading :: 2 - Beta",
|
|
26
27
|
"Topic :: Software Development :: Code Generators",
|