@typespec/http-client-python 0.28.3 → 0.29.0
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/dist/emitter/code-model.d.ts.map +1 -1
- package/dist/emitter/code-model.js +1 -0
- package/dist/emitter/code-model.js.map +1 -1
- package/dist/emitter/constants.d.ts +6 -0
- package/dist/emitter/constants.d.ts.map +1 -0
- package/dist/emitter/constants.js +27 -0
- package/dist/emitter/constants.js.map +1 -0
- package/dist/emitter/emitter.d.ts.map +1 -1
- package/dist/emitter/emitter.js +169 -94
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/http.d.ts.map +1 -1
- package/dist/emitter/http.js +33 -1
- package/dist/emitter/http.js.map +1 -1
- package/dist/emitter/lib.d.ts +33 -2
- package/dist/emitter/lib.d.ts.map +1 -1
- package/dist/emitter/lib.js +17 -0
- package/dist/emitter/lib.js.map +1 -1
- package/dist/emitter/run-python3.js +1 -1
- package/dist/emitter/run-python3.js.map +1 -1
- package/dist/emitter/types.d.ts.map +1 -1
- package/dist/emitter/types.js +31 -5
- package/dist/emitter/types.js.map +1 -1
- package/emitter/src/code-model.ts +1 -0
- package/emitter/src/constants.ts +27 -0
- package/emitter/src/emitter.ts +216 -96
- package/emitter/src/http.ts +29 -1
- package/emitter/src/lib.ts +20 -0
- package/emitter/src/run-python3.ts +1 -1
- package/emitter/src/types.ts +35 -5
- package/emitter/temp/tsconfig.tsbuildinfo +1 -1
- package/emitter/test/utils.test.ts +3 -0
- package/emitter/tsconfig.build.json +2 -1
- package/emitter/tsconfig.json +2 -1
- package/eng/scripts/ci/config/eslint-ci.config.mjs +10 -0
- package/eng/scripts/ci/config/mypy.ini +1 -1
- package/eng/scripts/ci/config/pylintrc +1 -1
- package/eng/scripts/ci/config/pyrightconfig.json +1 -1
- package/eng/scripts/ci/dev_requirements.txt +1 -1
- package/eng/scripts/ci/lint.ts +11 -4
- package/eng/scripts/ci/regenerate-common.ts +407 -136
- package/eng/scripts/ci/regenerate.ts +103 -194
- package/eng/scripts/ci/run-tests.ts +153 -48
- package/eng/scripts/ci/run_apiview.py +22 -16
- package/eng/scripts/ci/run_mypy.py +28 -18
- package/eng/scripts/ci/run_pylint.py +23 -16
- package/eng/scripts/ci/run_pyright.py +5 -2
- package/eng/scripts/ci/run_sphinx_build.py +24 -9
- package/eng/scripts/ci/util.py +61 -25
- package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
- package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
- package/eng/scripts/setup/build_pygen_wheel.py +3 -3
- package/eng/scripts/setup/install.py +3 -3
- package/eng/scripts/setup/install.ts +1 -1
- package/eng/scripts/setup/prepare.py +2 -2
- package/eng/scripts/setup/run-python3.ts +1 -1
- package/eng/scripts/setup/run_batch.py +197 -0
- package/eng/scripts/setup/venvtools.py +0 -1
- package/generator/build/lib/pygen/__init__.py +1 -3
- package/generator/build/lib/pygen/codegen/__init__.py +0 -1
- package/generator/build/lib/pygen/codegen/models/base.py +0 -1
- package/generator/build/lib/pygen/codegen/models/client.py +2 -1
- package/generator/build/lib/pygen/codegen/models/code_model.py +1 -0
- package/generator/build/lib/pygen/codegen/models/enum_type.py +0 -1
- package/generator/build/lib/pygen/codegen/models/model_type.py +1 -7
- package/generator/build/lib/pygen/codegen/models/parameter.py +16 -14
- package/generator/build/lib/pygen/codegen/serializers/__init__.py +27 -12
- package/generator/build/lib/pygen/codegen/serializers/builder_serializer.py +12 -3
- package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +6 -2
- package/generator/build/lib/pygen/codegen/serializers/import_serializer.py +17 -4
- package/generator/build/lib/pygen/codegen/serializers/parameter_serializer.py +17 -11
- package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +19 -7
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/README.md.jinja2 +11 -3
- package/generator/build/lib/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/serialization.py.jinja2 +5 -1
- package/generator/build/lib/pygen/preprocess/__init__.py +37 -30
- package/generator/component-detection-pip-report.json +7 -7
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen/__init__.py +1 -3
- package/generator/pygen/codegen/__init__.py +0 -1
- package/generator/pygen/codegen/models/base.py +0 -1
- package/generator/pygen/codegen/models/client.py +2 -1
- package/generator/pygen/codegen/models/code_model.py +1 -0
- package/generator/pygen/codegen/models/enum_type.py +0 -1
- package/generator/pygen/codegen/models/model_type.py +1 -7
- package/generator/pygen/codegen/models/parameter.py +16 -14
- package/generator/pygen/codegen/serializers/__init__.py +27 -12
- package/generator/pygen/codegen/serializers/builder_serializer.py +12 -3
- package/generator/pygen/codegen/serializers/general_serializer.py +6 -2
- package/generator/pygen/codegen/serializers/import_serializer.py +17 -4
- package/generator/pygen/codegen/serializers/parameter_serializer.py +17 -11
- package/generator/pygen/codegen/templates/model_base.py.jinja2 +19 -7
- package/generator/pygen/codegen/templates/packaging_templates/README.md.jinja2 +11 -3
- package/generator/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +1 -1
- package/generator/pygen/codegen/templates/serialization.py.jinja2 +5 -1
- package/generator/pygen/preprocess/__init__.py +37 -30
- package/generator/pygen.egg-info/PKG-INFO +1 -2
- package/generator/pygen.egg-info/requires.txt +1 -1
- package/generator/setup.py +1 -2
- package/package.json +24 -9
|
@@ -19,17 +19,22 @@ from datetime import datetime, date, time, timedelta, timezone
|
|
|
19
19
|
from json import JSONEncoder
|
|
20
20
|
import xml.etree.ElementTree as ET
|
|
21
21
|
from collections.abc import MutableMapping
|
|
22
|
-
from typing_extensions import Self
|
|
23
22
|
import isodate
|
|
24
23
|
from {{ code_model.core_library }}.exceptions import DeserializationError
|
|
25
24
|
from {{ code_model.core_library }}{{ "" if code_model.is_azure_flavor else ".utils" }} import CaseInsensitiveEnumMeta
|
|
26
25
|
from {{ code_model.core_library }}.{{ "" if code_model.is_azure_flavor else "runtime." }}pipeline import PipelineResponse
|
|
27
26
|
from {{ code_model.core_library }}.serialization import _Null
|
|
27
|
+
|
|
28
28
|
{% if code_model.has_external_type %}
|
|
29
29
|
from {{ code_model.core_library }}.serialization import TypeHandlerRegistry
|
|
30
30
|
{% endif %}
|
|
31
31
|
from {{ code_model.core_library }}.rest import HttpResponse
|
|
32
32
|
|
|
33
|
+
if sys.version_info >= (3, 11):
|
|
34
|
+
from typing import Self
|
|
35
|
+
else:
|
|
36
|
+
from typing_extensions import Self
|
|
37
|
+
|
|
33
38
|
_LOGGER = logging.getLogger(__name__)
|
|
34
39
|
|
|
35
40
|
__all__ = ["SdkJSONEncoder", "Model", "rest_field", "rest_discriminator"]
|
|
@@ -617,11 +622,7 @@ class Model(_MyMutableMapping):
|
|
|
617
622
|
class_name = self.__class__.__name__
|
|
618
623
|
if len(args) > 1:
|
|
619
624
|
raise TypeError(f"{class_name}.__init__() takes 2 positional arguments but {len(args) + 1} were given")
|
|
620
|
-
dict_to_pass = {
|
|
621
|
-
rest_field._rest_name: rest_field._default
|
|
622
|
-
for rest_field in self._attr_to_rest_field.values()
|
|
623
|
-
if rest_field._default is not _UNSET
|
|
624
|
-
}
|
|
625
|
+
dict_to_pass: dict[str, typing.Any] = {}
|
|
625
626
|
if args:
|
|
626
627
|
if isinstance(args[0], ET.Element):
|
|
627
628
|
dict_to_pass.update(self._init_from_xml(args[0]))
|
|
@@ -641,6 +642,14 @@ class Model(_MyMutableMapping):
|
|
|
641
642
|
if v is not None
|
|
642
643
|
}
|
|
643
644
|
)
|
|
645
|
+
# Apply client default values for fields the caller didn't set so that
|
|
646
|
+
# defaults are part of `_data` and therefore included during serialization.
|
|
647
|
+
for rf in self._attr_to_rest_field.values():
|
|
648
|
+
if rf._default is _UNSET:
|
|
649
|
+
continue
|
|
650
|
+
if rf._rest_name in dict_to_pass:
|
|
651
|
+
continue
|
|
652
|
+
dict_to_pass[rf._rest_name] = _create_value(rf, rf._default)
|
|
644
653
|
super().__init__(dict_to_pass)
|
|
645
654
|
|
|
646
655
|
def _init_from_xml(self, element: ET.Element) -> dict[str, typing.Any]:
|
|
@@ -1160,7 +1169,10 @@ class _RestField:
|
|
|
1160
1169
|
# by this point, type and rest_name will have a value bc we default
|
|
1161
1170
|
# them in __new__ of the Model class
|
|
1162
1171
|
# Use _data.get() directly to avoid triggering __getitem__ which clears the cache
|
|
1163
|
-
item = obj._data.get(self._rest_name)
|
|
1172
|
+
item = obj._data.get(self._rest_name, _UNSET)
|
|
1173
|
+
if item is _UNSET:
|
|
1174
|
+
# Field not set by user; return the client default if one exists, otherwise None
|
|
1175
|
+
return self._default if self._default is not _UNSET else None
|
|
1164
1176
|
if item is None:
|
|
1165
1177
|
return item
|
|
1166
1178
|
if self._is_model:
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Microsoft Azure SDK for Python
|
|
4
4
|
|
|
5
5
|
This is the Microsoft {{options["package-pprint-name"]}} Client Library.
|
|
6
|
-
This package has been tested with Python 3.
|
|
6
|
+
This package has been tested with Python 3.10+.
|
|
7
7
|
For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).
|
|
8
8
|
|
|
9
9
|
# Usage
|
|
@@ -14,6 +14,10 @@ For docs and references, see [Python SDK References](https://docs.microsoft.com/
|
|
|
14
14
|
Code samples for this package can be found at [{{options["package-pprint-name"]}}](https://docs.microsoft.com/samples/browse/?languages=python&term=Getting%20started%20-%20Managing&terms=Getting%20started%20-%20Managing) on docs.microsoft.com.
|
|
15
15
|
Additional code samples for different Azure services are available at [Samples Repo](https://aka.ms/azsdk/python/mgmt/samples)
|
|
16
16
|
|
|
17
|
+
# Use with AI tools
|
|
18
|
+
|
|
19
|
+
AI coding tools such as VS Code and GitHub Copilot can help you write and debug code that uses this library. See [Using the Azure SDK for Python with AI tools](https://aka.ms/azsdk/python/ai) for available integrations.
|
|
20
|
+
|
|
17
21
|
# Provide Feedback
|
|
18
22
|
|
|
19
23
|
If you encounter any bugs or have suggestions, please file an issue in the
|
|
@@ -36,10 +40,14 @@ python -m pip install {{ options["package-name"] }}
|
|
|
36
40
|
|
|
37
41
|
#### Prequisites
|
|
38
42
|
|
|
39
|
-
- Python 3.
|
|
43
|
+
- Python 3.10 or later is required to use this package.
|
|
40
44
|
- You need an [Azure subscription][azure_sub] to use this package.
|
|
41
45
|
- An existing {{ options["package-pprint-name"] }} instance.
|
|
42
46
|
|
|
47
|
+
### Use with AI tools
|
|
48
|
+
|
|
49
|
+
AI coding tools such as VS Code and GitHub Copilot can help you write and debug code that uses this library. See [Using the Azure SDK for Python with AI tools](https://aka.ms/azsdk/python/ai) for available integrations.
|
|
50
|
+
|
|
43
51
|
{% if token_credential and client_name %}
|
|
44
52
|
#### Create with an Azure Active Directory Credential
|
|
45
53
|
To use an [Azure Active Directory (AAD) token credential][authenticate_with_token],
|
|
@@ -113,7 +121,7 @@ This package is generated by `@typespec/http-client-python` with Typespec.
|
|
|
113
121
|
|
|
114
122
|
### Prequisites
|
|
115
123
|
|
|
116
|
-
- Python 3.
|
|
124
|
+
- Python 3.10 or later is required to use this package.
|
|
117
125
|
|
|
118
126
|
### Install the package
|
|
119
127
|
|
|
@@ -35,11 +35,15 @@ except ImportError:
|
|
|
35
35
|
import xml.etree.ElementTree as ET
|
|
36
36
|
|
|
37
37
|
import isodate # type: ignore
|
|
38
|
-
from typing_extensions import Self
|
|
39
38
|
|
|
40
39
|
from {{ code_model.core_library }}.exceptions import DeserializationError, SerializationError
|
|
41
40
|
from {{ code_model.core_library }}.serialization import NULL as CoreNull
|
|
42
41
|
|
|
42
|
+
if sys.version_info >= (3, 11):
|
|
43
|
+
from typing import Self
|
|
44
|
+
else:
|
|
45
|
+
from typing_extensions import Self
|
|
46
|
+
|
|
43
47
|
_BOM = codecs.BOM_UTF8.decode(encoding="utf-8")
|
|
44
48
|
|
|
45
49
|
JSON = MutableMapping[str, Any]
|
|
@@ -132,20 +132,18 @@ HEADERS_HIDE_IN_METHOD = (
|
|
|
132
132
|
"client-request-id",
|
|
133
133
|
"return-client-request-id",
|
|
134
134
|
)
|
|
135
|
-
|
|
136
|
-
"
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
"
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
"type":
|
|
146
|
-
|
|
147
|
-
"name": "MatchConditions",
|
|
148
|
-
},
|
|
135
|
+
ETAG_MATCH_DATA = {
|
|
136
|
+
"clientName": "etag",
|
|
137
|
+
"etagRole": "ifMatch",
|
|
138
|
+
"description": "check if resource is changed. Set None to skip checking etag.",
|
|
139
|
+
}
|
|
140
|
+
ETAG_NONE_MATCH_DATA = {
|
|
141
|
+
"clientName": "match_condition",
|
|
142
|
+
"etagRole": "ifNoneMatch",
|
|
143
|
+
"description": "The match condition to use upon the etag.",
|
|
144
|
+
"type": {
|
|
145
|
+
"type": "sdkcore",
|
|
146
|
+
"name": "MatchConditions",
|
|
149
147
|
},
|
|
150
148
|
}
|
|
151
149
|
CLOUD_SETTING = {
|
|
@@ -166,6 +164,11 @@ def get_wire_name_lower(parameter: dict[str, Any]) -> str:
|
|
|
166
164
|
return (parameter.get("wireName") or "").lower()
|
|
167
165
|
|
|
168
166
|
|
|
167
|
+
def _get_etag_role(parameter: dict[str, Any]) -> Optional[str]:
|
|
168
|
+
"""Return 'ifMatch', 'ifNoneMatch', or None for this header parameter."""
|
|
169
|
+
return parameter.get("etagRole")
|
|
170
|
+
|
|
171
|
+
|
|
169
172
|
def headers_convert(yaml_data: dict[str, Any], replace_data: Any) -> None:
|
|
170
173
|
if isinstance(replace_data, dict):
|
|
171
174
|
for k, v in replace_data.items():
|
|
@@ -281,9 +284,8 @@ class PreProcessPlugin(YamlUpdatePlugin):
|
|
|
281
284
|
value["name"] = upper_name
|
|
282
285
|
|
|
283
286
|
# add type for reference
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
yaml_data.append(v["type"])
|
|
287
|
+
if "type" in ETAG_NONE_MATCH_DATA:
|
|
288
|
+
yaml_data.append(ETAG_NONE_MATCH_DATA["type"])
|
|
287
289
|
yaml_data.append(CLOUD_SETTING["type"]) # type: ignore
|
|
288
290
|
|
|
289
291
|
def update_client(self, yaml_data: dict[str, Any]) -> None:
|
|
@@ -317,9 +319,10 @@ class PreProcessPlugin(YamlUpdatePlugin):
|
|
|
317
319
|
if p["location"] == "header" and wire_name_lower == "client-request-id":
|
|
318
320
|
yaml_data["requestIdHeaderName"] = wire_name_lower
|
|
319
321
|
if self.version_tolerant and p["location"] == "header":
|
|
320
|
-
|
|
322
|
+
role = _get_etag_role(p)
|
|
323
|
+
if role == "ifMatch" and not property_if_match:
|
|
321
324
|
property_if_match = p
|
|
322
|
-
elif
|
|
325
|
+
elif role == "ifNoneMatch" and not property_if_none_match:
|
|
323
326
|
property_if_none_match = p
|
|
324
327
|
# pylint: disable=line-too-long
|
|
325
328
|
# some service(e.g. https://github.com/Azure/azure-rest-api-specs/blob/main/specification/cosmos-db/data-plane/Microsoft.Tables/preview/2019-02-02/table.json)
|
|
@@ -327,17 +330,19 @@ class PreProcessPlugin(YamlUpdatePlugin):
|
|
|
327
330
|
if not property_if_match and property_if_none_match:
|
|
328
331
|
property_if_match = property_if_none_match.copy()
|
|
329
332
|
property_if_match["wireName"] = "if-match"
|
|
333
|
+
property_if_match["etagRole"] = "ifMatch"
|
|
330
334
|
if not property_if_none_match and property_if_match:
|
|
331
335
|
property_if_none_match = property_if_match.copy()
|
|
332
336
|
property_if_none_match["wireName"] = "if-none-match"
|
|
337
|
+
property_if_none_match["etagRole"] = "ifNoneMatch"
|
|
333
338
|
|
|
334
339
|
if property_if_match and property_if_none_match:
|
|
335
340
|
# arrange if-match and if-none-match to the end of parameters
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
]
|
|
341
|
+
etag_params = {id(property_if_match), id(property_if_none_match)}
|
|
342
|
+
o["parameters"] = [item for item in o["parameters"] if id(item) not in etag_params] + [
|
|
343
|
+
property_if_match,
|
|
344
|
+
property_if_none_match,
|
|
345
|
+
]
|
|
341
346
|
|
|
342
347
|
o["hasEtag"] = True
|
|
343
348
|
yaml_data["hasEtag"] = True
|
|
@@ -362,11 +367,9 @@ class PreProcessPlugin(YamlUpdatePlugin):
|
|
|
362
367
|
yaml_data["clientName"].lower(), PadType.PARAMETER, yaml_data
|
|
363
368
|
)
|
|
364
369
|
if yaml_data.get("propertyToParameterName"):
|
|
365
|
-
# need to create a new one with padded keys
|
|
370
|
+
# need to create a new one with padded values (but NOT keys, since keys are wire names)
|
|
366
371
|
yaml_data["propertyToParameterName"] = {
|
|
367
|
-
self.pad_reserved_words(
|
|
368
|
-
param_name, PadType.PARAMETER, yaml_data
|
|
369
|
-
).lower()
|
|
372
|
+
prop: self.pad_reserved_words(param_name, PadType.PARAMETER, yaml_data).lower()
|
|
370
373
|
for prop, param_name in yaml_data["propertyToParameterName"].items()
|
|
371
374
|
}
|
|
372
375
|
wire_name_lower = (yaml_data.get("wireName") or "").lower()
|
|
@@ -374,8 +377,12 @@ class PreProcessPlugin(YamlUpdatePlugin):
|
|
|
374
377
|
wire_name_lower in HEADERS_HIDE_IN_METHOD or yaml_data.get("clientDefaultValue") == "multipart/form-data"
|
|
375
378
|
):
|
|
376
379
|
yaml_data["hideInMethod"] = True
|
|
377
|
-
if self.version_tolerant and yaml_data["location"] == "header"
|
|
378
|
-
|
|
380
|
+
if self.version_tolerant and yaml_data["location"] == "header":
|
|
381
|
+
role = _get_etag_role(yaml_data)
|
|
382
|
+
if role == "ifMatch":
|
|
383
|
+
headers_convert(yaml_data, ETAG_MATCH_DATA)
|
|
384
|
+
elif role == "ifNoneMatch":
|
|
385
|
+
headers_convert(yaml_data, ETAG_NONE_MATCH_DATA)
|
|
379
386
|
if wire_name_lower in ["$host", "content-type", "accept"] and yaml_data["type"]["type"] == "constant":
|
|
380
387
|
yaml_data["clientDefaultValue"] = yaml_data["type"]["value"]
|
|
381
388
|
|
|
@@ -9,14 +9,13 @@ License: MIT License
|
|
|
9
9
|
Classifier: Development Status :: 4 - Beta
|
|
10
10
|
Classifier: Programming Language :: Python
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.10
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
15
|
Classifier: License :: OSI Approved :: MIT License
|
|
17
16
|
Description-Content-Type: text/markdown
|
|
18
17
|
License-File: LICENSE
|
|
19
|
-
Requires-Dist: black==
|
|
18
|
+
Requires-Dist: black==26.3.1
|
|
20
19
|
Requires-Dist: docutils>=0.20.1
|
|
21
20
|
Requires-Dist: Jinja2==3.1.6
|
|
22
21
|
Requires-Dist: PyYAML==6.0.1
|
package/generator/setup.py
CHANGED
|
@@ -35,7 +35,6 @@ setup(
|
|
|
35
35
|
"Development Status :: 4 - Beta",
|
|
36
36
|
"Programming Language :: Python",
|
|
37
37
|
"Programming Language :: Python :: 3",
|
|
38
|
-
"Programming Language :: Python :: 3.9",
|
|
39
38
|
"Programming Language :: Python :: 3.10",
|
|
40
39
|
"Programming Language :: Python :: 3.11",
|
|
41
40
|
"Programming Language :: Python :: 3.12",
|
|
@@ -47,7 +46,7 @@ setup(
|
|
|
47
46
|
]
|
|
48
47
|
),
|
|
49
48
|
install_requires=[
|
|
50
|
-
"black==
|
|
49
|
+
"black==26.3.1",
|
|
51
50
|
"docutils>=0.20.1",
|
|
52
51
|
"Jinja2==3.1.6",
|
|
53
52
|
"PyYAML==6.0.1",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/http-client-python",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.0",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec emitter for Python SDKs",
|
|
6
6
|
"homepage": "https://typespec.io",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"typecheck": "tsx ./eng/scripts/ci/typecheck.ts",
|
|
47
47
|
"typecheck:generated": "tsx ./eng/scripts/ci/typecheck.ts --generated",
|
|
48
48
|
"regenerate": "tsx ./eng/scripts/ci/regenerate.ts",
|
|
49
|
-
"ci": "npm run test && npm run
|
|
49
|
+
"ci": "npm run test:emitter && npm run ci:generated",
|
|
50
50
|
"ci:generated": "tsx ./eng/scripts/ci/run-tests.ts --generator --env=ci",
|
|
51
51
|
"change:version": "pnpm chronus version --ignore-policies --only @typespec/http-client-python",
|
|
52
52
|
"change:add": "pnpm chronus add",
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
],
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"@azure-tools/typespec-autorest": ">=0.67.0 <1.0.0",
|
|
64
|
-
"@azure-tools/typespec-azure-core": ">=0.67.
|
|
65
|
-
"@azure-tools/typespec-azure-resource-manager": ">=0.67.
|
|
64
|
+
"@azure-tools/typespec-azure-core": ">=0.67.1 <1.0.0",
|
|
65
|
+
"@azure-tools/typespec-azure-resource-manager": ">=0.67.1 <1.0.0",
|
|
66
66
|
"@azure-tools/typespec-azure-rulesets": ">=0.67.0 <1.0.0",
|
|
67
|
-
"@azure-tools/typespec-client-generator-core": ">=0.67.
|
|
67
|
+
"@azure-tools/typespec-client-generator-core": ">=0.67.4 <1.0.0",
|
|
68
68
|
"@typespec/compiler": "^1.11.0",
|
|
69
69
|
"@typespec/http": "^1.11.0",
|
|
70
70
|
"@typespec/openapi": "^1.11.0",
|
|
@@ -75,6 +75,21 @@
|
|
|
75
75
|
"@typespec/streams": ">=0.81.0 <1.0.0",
|
|
76
76
|
"@typespec/xml": ">=0.81.0 <1.0.0"
|
|
77
77
|
},
|
|
78
|
+
"playgroundConfig": {
|
|
79
|
+
"assets": [
|
|
80
|
+
{
|
|
81
|
+
"path": "generator/dist/pygen-*.whl",
|
|
82
|
+
"contentType": "application/zip"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"bundlePeerDependencies": [
|
|
86
|
+
"@azure-tools/typespec-client-generator-core",
|
|
87
|
+
"@azure-tools/typespec-azure-core",
|
|
88
|
+
"@azure-tools/typespec-autorest",
|
|
89
|
+
"@azure-tools/typespec-azure-resource-manager",
|
|
90
|
+
"@azure-tools/typespec-azure-rulesets"
|
|
91
|
+
]
|
|
92
|
+
},
|
|
78
93
|
"dependencies": {
|
|
79
94
|
"js-yaml": "~4.1.0",
|
|
80
95
|
"marked": "^15.0.6",
|
|
@@ -84,11 +99,11 @@
|
|
|
84
99
|
},
|
|
85
100
|
"devDependencies": {
|
|
86
101
|
"@azure-tools/typespec-autorest": "~0.67.0",
|
|
87
|
-
"@azure-tools/typespec-azure-core": "~0.67.
|
|
88
|
-
"@azure-tools/typespec-azure-resource-manager": "~0.67.
|
|
102
|
+
"@azure-tools/typespec-azure-core": "~0.67.1",
|
|
103
|
+
"@azure-tools/typespec-azure-resource-manager": "~0.67.1",
|
|
89
104
|
"@azure-tools/typespec-azure-rulesets": "~0.67.0",
|
|
90
|
-
"@azure-tools/typespec-client-generator-core": "~0.67.
|
|
91
|
-
"@azure-tools/azure-http-specs": "0.1.0-alpha.
|
|
105
|
+
"@azure-tools/typespec-client-generator-core": "~0.67.4",
|
|
106
|
+
"@azure-tools/azure-http-specs": "0.1.0-alpha.40-dev.12",
|
|
92
107
|
"@typespec/compiler": "^1.11.0",
|
|
93
108
|
"@typespec/http": "^1.11.0",
|
|
94
109
|
"@typespec/openapi": "^1.11.0",
|