microsoft / microsoft/typespec

Don't modify non-configuration files outside of the generation namespace

Open
#7,715 2 comments 0 reactions 1 assignee Claimed by @msyyc View on GitHub
emitter:client:python
Dominant language
Java
Stars
5.9k
Forks
394
Avg merge
1d 23h
Merged PRs (30d)
104

Description

For packages that have a convenience layer, generating code from TSP shouldn't disrupt convenience-layer packaging. For example, in [azure-keyvault-keys](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/keyvault/azure-keyvault-keys) we emit code into an `azure/keyvault/keys/_generated` namespace -- code outside this namespace is a convenience layer.

Though emitted code is correctly put in the `_generated` namespace, `__init__.py` files outside this folder are modified to remove convenience layer exports. These files should instead be left as-is.

Tangentially related: generation produces an `apiview-properties.json` file at the top level of the package. The references in this file seem to be for generated code though, so we would prefer to not generate this file for a library with a convenience layer.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.