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.
Files changed (32) hide show
  1. smithy_python-0.2.0/.changes/0.2.0.json +28 -0
  2. {smithy_python-0.1.0 → smithy_python-0.2.0}/.gitignore +3 -0
  3. smithy_python-0.2.0/CHANGELOG.md +22 -0
  4. {smithy_python-0.1.0 → smithy_python-0.2.0}/PKG-INFO +11 -12
  5. smithy_python-0.2.0/README.md +17 -0
  6. {smithy_python-0.1.0 → smithy_python-0.2.0}/pyproject.toml +1 -0
  7. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/__init__.py +3 -1
  8. smithy_python-0.2.0/src/smithy_python/_selector.py +1293 -0
  9. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/cli.py +121 -23
  10. smithy_python-0.2.0/src/smithy_python/dependencies.py +116 -0
  11. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/environment.py +2 -0
  12. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/exceptions.py +13 -0
  13. smithy_python-0.2.0/src/smithy_python/files.py +305 -0
  14. smithy_python-0.2.0/src/smithy_python/generation.py +168 -0
  15. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/__init__.py +2 -0
  16. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/_shape_id.py +1 -1
  17. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/_shapes.py +8 -0
  18. smithy_python-0.2.0/src/smithy_python/models.py +469 -0
  19. smithy_python-0.2.0/src/smithy_python/schemas.py +513 -0
  20. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/selection.py +152 -46
  21. smithy_python-0.2.0/src/smithy_python/symbols.py +388 -0
  22. smithy_python-0.2.0/src/smithy_python/types.py +127 -0
  23. smithy_python-0.2.0/src/smithy_python/writer.py +611 -0
  24. smithy_python-0.1.0/CHANGELOG.md +0 -8
  25. smithy_python-0.1.0/README.md +0 -19
  26. {smithy_python-0.1.0 → smithy_python-0.2.0}/.changes/0.1.0.json +0 -0
  27. {smithy_python-0.1.0 → smithy_python-0.2.0}/NOTICE +0 -0
  28. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/__main__.py +0 -0
  29. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/_loader.py +0 -0
  30. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/_model.py +0 -0
  31. {smithy_python-0.1.0 → smithy_python-0.2.0}/src/smithy_python/model/_prelude.py +0 -0
  32. {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
+ }
@@ -34,3 +34,6 @@ htmlcov
34
34
  *.egg-info
35
35
  dist
36
36
  .venv
37
+
38
+ # make gen
39
+ /workspace/
@@ -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.1.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
- > [!WARNING]
32
- > This package is an experimental scaffold. It does not generate code yet. The
33
- > Java generator in the repository's `codegen` directory remains authoritative.
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
- After validating their invocation options, both generation commands currently exit
46
- with an error explaining that generation has not been implemented. The package is
47
- included in workspace builds to validate its packaging and entry points.
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",
@@ -2,4 +2,6 @@
2
2
  # SPDX-License-Identifier: Apache-2.0
3
3
  """A Smithy code generator for Python clients and types."""
4
4
 
5
- __version__ = "0.1.0"
5
+ __all__: list[str] = []
6
+
7
+ __version__ = "0.2.0"