@typespec/http-client-python 0.13.0-dev.2 → 0.13.0-dev.3
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.
- package/eng/scripts/setup/__pycache__/package_manager.cpython-39.pyc +0 -0
- package/eng/scripts/setup/__pycache__/venvtools.cpython-39.pyc +0 -0
- package/generator/build/lib/pygen/__init__.py +176 -2
- package/generator/build/lib/pygen/black.py +1 -1
- package/generator/build/lib/pygen/codegen/__init__.py +4 -256
- package/generator/build/lib/pygen/codegen/_utils.py +0 -3
- package/generator/build/lib/pygen/codegen/models/__init__.py +1 -1
- package/generator/build/lib/pygen/codegen/models/base_builder.py +1 -1
- package/generator/build/lib/pygen/codegen/models/client.py +12 -12
- package/generator/build/lib/pygen/codegen/models/code_model.py +10 -9
- package/generator/build/lib/pygen/codegen/models/enum_type.py +4 -4
- package/generator/build/lib/pygen/codegen/models/imports.py +1 -1
- package/generator/build/lib/pygen/codegen/models/list_type.py +6 -6
- package/generator/build/lib/pygen/codegen/models/lro_operation.py +1 -1
- package/generator/build/lib/pygen/codegen/models/operation.py +16 -16
- package/generator/build/lib/pygen/codegen/models/operation_group.py +4 -4
- package/generator/build/lib/pygen/codegen/models/paging_operation.py +4 -4
- package/generator/build/lib/pygen/codegen/models/parameter.py +8 -8
- package/generator/build/lib/pygen/codegen/models/property.py +1 -1
- package/generator/build/lib/pygen/codegen/models/request_builder.py +2 -2
- package/generator/build/lib/pygen/codegen/models/request_builder_parameter.py +2 -2
- package/generator/build/lib/pygen/codegen/models/response.py +3 -3
- package/generator/build/lib/pygen/codegen/serializers/__init__.py +27 -28
- package/generator/build/lib/pygen/codegen/serializers/builder_serializer.py +31 -31
- package/generator/build/lib/pygen/codegen/serializers/client_serializer.py +4 -4
- package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +4 -4
- package/generator/build/lib/pygen/codegen/serializers/metadata_serializer.py +1 -1
- package/generator/build/lib/pygen/codegen/serializers/model_serializer.py +1 -1
- package/generator/build/lib/pygen/codegen/serializers/operations_init_serializer.py +1 -1
- package/generator/build/lib/pygen/codegen/serializers/sample_serializer.py +1 -1
- package/generator/build/lib/pygen/codegen/serializers/test_serializer.py +5 -5
- package/generator/build/lib/pygen/codegen/templates/config.py.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/config_container.py.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/conftest.py.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/init.py.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/metadata.json.jinja2 +2 -2
- package/generator/build/lib/pygen/codegen/templates/model_dpg.py.jinja2 +2 -2
- package/generator/build/lib/pygen/codegen/templates/operation_group.py.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/operation_groups_container.py.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/operation_tools.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/MANIFEST.in.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/README.md.jinja2 +38 -7
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/dev_requirements.txt.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/setup.py.jinja2 +9 -9
- package/generator/build/lib/pygen/codegen/templates/request_builder.py.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/sample.py.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/test.py.jinja2 +6 -6
- package/generator/build/lib/pygen/codegen/templates/version.py.jinja2 +1 -1
- package/generator/build/lib/pygen/preprocess/__init__.py +1 -1
- package/generator/build/lib/pygen/utils.py +4 -0
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen/__init__.py +176 -2
- package/generator/pygen/black.py +1 -1
- package/generator/pygen/codegen/__init__.py +4 -256
- package/generator/pygen/codegen/_utils.py +0 -3
- package/generator/pygen/codegen/models/__init__.py +1 -1
- package/generator/pygen/codegen/models/base_builder.py +1 -1
- package/generator/pygen/codegen/models/client.py +12 -12
- package/generator/pygen/codegen/models/code_model.py +10 -9
- package/generator/pygen/codegen/models/enum_type.py +4 -4
- package/generator/pygen/codegen/models/imports.py +1 -1
- package/generator/pygen/codegen/models/list_type.py +6 -6
- package/generator/pygen/codegen/models/lro_operation.py +1 -1
- package/generator/pygen/codegen/models/operation.py +16 -16
- package/generator/pygen/codegen/models/operation_group.py +4 -4
- package/generator/pygen/codegen/models/paging_operation.py +4 -4
- package/generator/pygen/codegen/models/parameter.py +8 -8
- package/generator/pygen/codegen/models/property.py +1 -1
- package/generator/pygen/codegen/models/request_builder.py +2 -2
- package/generator/pygen/codegen/models/request_builder_parameter.py +2 -2
- package/generator/pygen/codegen/models/response.py +3 -3
- package/generator/pygen/codegen/serializers/__init__.py +27 -28
- package/generator/pygen/codegen/serializers/builder_serializer.py +31 -31
- package/generator/pygen/codegen/serializers/client_serializer.py +4 -4
- package/generator/pygen/codegen/serializers/general_serializer.py +4 -4
- package/generator/pygen/codegen/serializers/metadata_serializer.py +1 -1
- package/generator/pygen/codegen/serializers/model_serializer.py +1 -1
- package/generator/pygen/codegen/serializers/operations_init_serializer.py +1 -1
- package/generator/pygen/codegen/serializers/sample_serializer.py +1 -1
- package/generator/pygen/codegen/serializers/test_serializer.py +5 -5
- package/generator/pygen/codegen/templates/config.py.jinja2 +1 -1
- package/generator/pygen/codegen/templates/config_container.py.jinja2 +1 -1
- package/generator/pygen/codegen/templates/conftest.py.jinja2 +1 -1
- package/generator/pygen/codegen/templates/init.py.jinja2 +1 -1
- package/generator/pygen/codegen/templates/metadata.json.jinja2 +2 -2
- package/generator/pygen/codegen/templates/model_dpg.py.jinja2 +2 -2
- package/generator/pygen/codegen/templates/operation_group.py.jinja2 +1 -1
- package/generator/pygen/codegen/templates/operation_groups_container.py.jinja2 +1 -1
- package/generator/pygen/codegen/templates/operation_tools.jinja2 +1 -1
- package/generator/pygen/codegen/templates/packaging_templates/MANIFEST.in.jinja2 +1 -1
- package/generator/pygen/codegen/templates/packaging_templates/README.md.jinja2 +38 -7
- package/generator/pygen/codegen/templates/packaging_templates/dev_requirements.txt.jinja2 +1 -1
- package/generator/pygen/codegen/templates/packaging_templates/setup.py.jinja2 +9 -9
- package/generator/pygen/codegen/templates/request_builder.py.jinja2 +1 -1
- package/generator/pygen/codegen/templates/sample.py.jinja2 +1 -1
- package/generator/pygen/codegen/templates/test.py.jinja2 +6 -6
- package/generator/pygen/codegen/templates/version.py.jinja2 +1 -1
- package/generator/pygen/preprocess/__init__.py +1 -1
- package/generator/pygen/utils.py +4 -0
- package/generator/test/unittests/test_optional_return_type.py +5 -5
- package/generator/test/unittests/test_parameter_ordering.py +5 -5
- package/generator/test/unittests/test_sort_schema.py +4 -4
- package/package.json +1 -1
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
{{ code_model.license_header }}
|
|
6
6
|
{% endif %}
|
|
7
7
|
|
|
8
|
-
{% if
|
|
8
|
+
{% if options["package-mode"] %}
|
|
9
9
|
|
|
10
10
|
import os
|
|
11
11
|
import re
|
|
12
12
|
{% endif %}
|
|
13
13
|
from setuptools import setup, find_packages
|
|
14
14
|
|
|
15
|
-
{% set package_name =
|
|
15
|
+
{% set package_name = options["package-name"] or code_model.clients[0].name %}
|
|
16
16
|
|
|
17
17
|
PACKAGE_NAME = "{{ package_name|lower }}"
|
|
18
|
-
{% if
|
|
19
|
-
PACKAGE_PPRINT_NAME = "{{
|
|
18
|
+
{% if options["package-mode"] %}
|
|
19
|
+
PACKAGE_PPRINT_NAME = "{{ options["package-pprint-name"] }}"
|
|
20
20
|
{% if code_model.is_tsp %}
|
|
21
21
|
PACKAGE_NAMESPACE = "{{ code_model.namespace|lower }}"
|
|
22
22
|
|
|
@@ -40,7 +40,7 @@ if not version:
|
|
|
40
40
|
{% set author_email = "azpysdkhelp@microsoft.com" %}
|
|
41
41
|
{% set url = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk" %}
|
|
42
42
|
{% else %}
|
|
43
|
-
version = "{{
|
|
43
|
+
version = "{{ options.get("package-version", "unknown") }}"
|
|
44
44
|
{% set description = "\"%s\""|format(package_name) %}
|
|
45
45
|
{% set long_description = code_model.description %}
|
|
46
46
|
{% set author_email = "" %}
|
|
@@ -52,7 +52,7 @@ setup(
|
|
|
52
52
|
name=PACKAGE_NAME,
|
|
53
53
|
version=version,
|
|
54
54
|
description={{ description }},
|
|
55
|
-
{% if
|
|
55
|
+
{% if options["package-mode"] %}
|
|
56
56
|
long_description=open("README.md", "r").read(),
|
|
57
57
|
long_description_content_type="text/markdown",
|
|
58
58
|
license="MIT License",
|
|
@@ -63,7 +63,7 @@ setup(
|
|
|
63
63
|
url="{{ url }}",
|
|
64
64
|
keywords="azure, azure sdk",
|
|
65
65
|
{% endif %}
|
|
66
|
-
{% if
|
|
66
|
+
{% if options["package-mode"] %}
|
|
67
67
|
classifiers=[
|
|
68
68
|
"Development Status :: {{ dev_status }}",
|
|
69
69
|
"Programming Language :: Python",
|
|
@@ -100,7 +100,7 @@ setup(
|
|
|
100
100
|
{% else %}
|
|
101
101
|
"isodate>={{ VERSION_MAP["isodate"] }}",
|
|
102
102
|
{% endif %}
|
|
103
|
-
{% if
|
|
103
|
+
{% if code_model.options["azure-arm"] %}
|
|
104
104
|
"azure-mgmt-core>={{ VERSION_MAP["azure-mgmt-core"] }}",
|
|
105
105
|
{% elif code_model.is_azure_flavor %}
|
|
106
106
|
"azure-core>={{ VERSION_MAP["azure-core"] }}",
|
|
@@ -109,7 +109,7 @@ setup(
|
|
|
109
109
|
{% endif %}
|
|
110
110
|
"typing-extensions>={{ VERSION_MAP['typing-extensions'] }}",
|
|
111
111
|
],
|
|
112
|
-
{% if
|
|
112
|
+
{% if options["package-mode"] %}
|
|
113
113
|
python_requires=">={{ MIN_PYTHON_VERSION }}",
|
|
114
114
|
{% else %}
|
|
115
115
|
long_description="""\
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{% import 'keywords.jinja2' as keywords with context %}
|
|
2
2
|
{% import 'operation_tools.jinja2' as op_tools with context %}
|
|
3
3
|
{{ request_builder_serializer.method_signature_and_response_type_annotation(request_builder) }}
|
|
4
|
-
{% if code_model.options["
|
|
4
|
+
{% if code_model.options["builders-visibility"] == "public" %}
|
|
5
5
|
{{ op_tools.description(request_builder, request_builder_serializer) | indent }}
|
|
6
6
|
{% endif %}
|
|
7
7
|
{% if not request_builder.is_overload %}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
{% if "credential" in client_params and aad_token in client_params["credential"] %}
|
|
12
12
|
pip install azure-identity
|
|
13
13
|
{% endif %}
|
|
14
|
-
pip install {{ (code_model.options
|
|
14
|
+
pip install {{ (code_model.options.get("package-name") or code_model.clients[0].name)|lower }}
|
|
15
15
|
# USAGE
|
|
16
16
|
python {{ file_name }}
|
|
17
17
|
{% if "credential" in client_params and aad_token in client_params["credential"] %}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% set prefix_lower = test.prefix|lower %}
|
|
2
|
-
{% set client_var = "self.client" if code_model.options["
|
|
2
|
+
{% set client_var = "self.client" if code_model.options["azure-arm"] else "client" %}
|
|
3
3
|
{% set async = "async " if test.async_mode else "" %}
|
|
4
4
|
{% set async_suffix = "_async" if test.async_mode else "" %}
|
|
5
5
|
# coding=utf-8
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
import pytest
|
|
10
10
|
{{ imports }}
|
|
11
11
|
|
|
12
|
-
{% if code_model.options["
|
|
12
|
+
{% if code_model.options["azure-arm"] %}
|
|
13
13
|
AZURE_LOCATION = "eastus"
|
|
14
14
|
{% endif %}
|
|
15
15
|
|
|
16
16
|
@pytest.mark.skip("you may need to update the auto-generated test case before run it")
|
|
17
17
|
class {{ test.test_class_name }}({{ test.base_test_class_name }}):
|
|
18
|
-
{% if code_model.options["
|
|
18
|
+
{% if code_model.options["azure-arm"] %}
|
|
19
19
|
def setup_method(self, method):
|
|
20
20
|
{% if test.async_mode %}
|
|
21
21
|
self.client = self.create_mgmt_client({{ test.client_name }}, is_async=True)
|
|
@@ -24,13 +24,13 @@ class {{ test.test_class_name }}({{ test.base_test_class_name }}):
|
|
|
24
24
|
{% endif %}
|
|
25
25
|
{% endif %}
|
|
26
26
|
{% for testcase in test.testcases %}
|
|
27
|
-
{% if code_model.options["
|
|
27
|
+
{% if code_model.options["azure-arm"] %}
|
|
28
28
|
@{{ test.preparer_name }}(location=AZURE_LOCATION)
|
|
29
29
|
{% else %}
|
|
30
30
|
@{{ test.preparer_name }}()
|
|
31
31
|
{% endif %}
|
|
32
32
|
@recorded_by_proxy{{ async_suffix }}
|
|
33
|
-
{% if code_model.options["
|
|
33
|
+
{% if code_model.options["azure-arm"] %}
|
|
34
34
|
{{ async }}def test_{{ testcase.name }}(self, resource_group):
|
|
35
35
|
{% else %}
|
|
36
36
|
{{ async }}def test_{{ testcase.name }}(self, {{ prefix_lower }}_endpoint):
|
|
@@ -38,7 +38,7 @@ class {{ test.test_class_name }}({{ test.base_test_class_name }}):
|
|
|
38
38
|
{% endif %}
|
|
39
39
|
{{testcase.response }}{{ client_var }}{{ testcase.operation_group_prefix }}.{{ testcase.operation.name }}(
|
|
40
40
|
{% for key, value in testcase.params.items() %}
|
|
41
|
-
{% if code_model.options["
|
|
41
|
+
{% if code_model.options["azure-arm"] and key == "resource_group_name" %}
|
|
42
42
|
{{ key }}=resource_group.name,
|
|
43
43
|
{% else %}
|
|
44
44
|
{{ key }}={{ value|indent(12) }},
|
|
@@ -210,7 +210,7 @@ class PreProcessPlugin(YamlUpdatePlugin):
|
|
|
210
210
|
if not (self.is_tsp and has_multi_part_content_type(body_parameter)):
|
|
211
211
|
body_parameter["type"]["types"].append(KNOWN_TYPES["binary"])
|
|
212
212
|
|
|
213
|
-
if origin_type == "model" and is_dpg_model and self.
|
|
213
|
+
if origin_type == "model" and is_dpg_model and self.options["models-mode"] == "dpg":
|
|
214
214
|
body_parameter["type"]["types"].insert(1, KNOWN_TYPES["any-object"])
|
|
215
215
|
code_model["types"].append(body_parameter["type"])
|
|
216
216
|
|
package/generator/pygen/utils.py
CHANGED
|
@@ -7,6 +7,10 @@ from typing import Any, Dict, Tuple, List
|
|
|
7
7
|
import re
|
|
8
8
|
import argparse
|
|
9
9
|
|
|
10
|
+
SWAGGER_PACKAGE_MODE = ["mgmtplane", "dataplane"] # for backward compatibility
|
|
11
|
+
TYPESPEC_PACKAGE_MODE = ["azure-mgmt", "azure-dataplane", "generic"]
|
|
12
|
+
VALID_PACKAGE_MODE = SWAGGER_PACKAGE_MODE + TYPESPEC_PACKAGE_MODE
|
|
13
|
+
|
|
10
14
|
|
|
11
15
|
def update_enum_value(name: str, value: Any, description: str, enum_type: Dict[str, Any]) -> Dict[str, Any]:
|
|
12
16
|
return {
|
|
@@ -36,11 +36,11 @@ def code_model():
|
|
|
36
36
|
"namespace": "namespace",
|
|
37
37
|
},
|
|
38
38
|
options={
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
39
|
+
"show-send-request": True,
|
|
40
|
+
"builders-visibility": "public",
|
|
41
|
+
"show-operations": True,
|
|
42
|
+
"models-mode": "dpg",
|
|
43
|
+
"version-tolerant": True,
|
|
44
44
|
},
|
|
45
45
|
)
|
|
46
46
|
|
|
@@ -23,11 +23,11 @@ def get_code_model():
|
|
|
23
23
|
"namespace": "namespace",
|
|
24
24
|
},
|
|
25
25
|
options={
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
26
|
+
"show-send-request": True,
|
|
27
|
+
"builders-visibility": "public",
|
|
28
|
+
"show-operations": True,
|
|
29
|
+
"models-mode": "dpg",
|
|
30
|
+
"only-path-and-body-params-positional": True,
|
|
31
31
|
},
|
|
32
32
|
)
|
|
33
33
|
|
|
@@ -23,10 +23,10 @@ def get_code_model():
|
|
|
23
23
|
"namespace": "namespace",
|
|
24
24
|
},
|
|
25
25
|
options={
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
26
|
+
"show-send-request": True,
|
|
27
|
+
"builders-visibility": "public",
|
|
28
|
+
"show-operations": True,
|
|
29
|
+
"models-mode": "dpg",
|
|
30
30
|
},
|
|
31
31
|
)
|
|
32
32
|
|