From 64320239ec61f97db501a955ee338757138ee561 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Thu, 2 Apr 2026 14:59:54 -0400 Subject: [PATCH 1/2] compartmentalize generation-subdir --- .../generator/pygen/codegen/serializers/__init__.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/http-client-python/generator/pygen/codegen/serializers/__init__.py b/packages/http-client-python/generator/pygen/codegen/serializers/__init__.py index 018605575c9..04740bcfe0a 100644 --- a/packages/http-client-python/generator/pygen/codegen/serializers/__init__.py +++ b/packages/http-client-python/generator/pygen/codegen/serializers/__init__.py @@ -489,18 +489,17 @@ def _serialize_and_write_top_level_folder(self, env: Environment, namespace: str general_serializer = GeneralSerializer(code_model=self.code_model, env=env, async_mode=False) # write _version.py + # Always write at root namespace since pyproject.toml references it there self._serialize_and_write_version_file(general_serializer) - # if there's a subdir, we need to write another version file in the subdir if self.code_model.options.get("generation-subdir"): self._serialize_and_write_version_file(general_serializer, namespace) # write the empty py.typed file + # Always write at root namespace since MANIFEST.in references it there pytyped_value = "# Marker file for PEP 561." self.write_file(root_dir / Path("py.typed"), pytyped_value) # write _validation.py - # Use generation_dir so that relative imports from operations/clients - # within a generation-subdir resolve correctly. if any(og for client in self.code_model.clients for og in client.operation_groups if og.need_validation): self.write_file( generation_dir / Path("_validation.py"), From ba3b9a7437c03a34a7178f03442546e684f9a74c Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Thu, 2 Apr 2026 15:08:47 -0400 Subject: [PATCH 2/2] add changeset --- .../python-generationSubdirContainment-2026-3-2-15-8-40.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .chronus/changes/python-generationSubdirContainment-2026-3-2-15-8-40.md diff --git a/.chronus/changes/python-generationSubdirContainment-2026-3-2-15-8-40.md b/.chronus/changes/python-generationSubdirContainment-2026-3-2-15-8-40.md new file mode 100644 index 00000000000..d0b6fd6e0fb --- /dev/null +++ b/.chronus/changes/python-generationSubdirContainment-2026-3-2-15-8-40.md @@ -0,0 +1,7 @@ +--- +changeKind: fix +packages: + - "@typespec/http-client-python" +--- + +Contain emitter changes when used with `generation-subdir` to solely within that subdirectory \ No newline at end of file