diff --git a/sdk/schemaregistry/azure-schemaregistry-avroencoder/azure/schemaregistry/encoder/avroencoder/_schema_registry_avro_encoder.py b/sdk/schemaregistry/azure-schemaregistry-avroencoder/azure/schemaregistry/encoder/avroencoder/_schema_registry_avro_encoder.py index 2c2fbf651c5e7..25a923635448a 100644 --- a/sdk/schemaregistry/azure-schemaregistry-avroencoder/azure/schemaregistry/encoder/avroencoder/_schema_registry_avro_encoder.py +++ b/sdk/schemaregistry/azure-schemaregistry-avroencoder/azure/schemaregistry/encoder/avroencoder/_schema_registry_avro_encoder.py @@ -52,7 +52,7 @@ ) if TYPE_CHECKING: - from azure.schemaregistry import SchemaRegistryClient + import azure.schemaregistry _LOGGER = logging.getLogger(__name__) @@ -75,7 +75,7 @@ class AvroEncoder(object): def __init__( self, *, - client: "SchemaRegistryClient", + client: "azure.schemaregistry.SchemaRegistryClient", group_name: Optional[str] = None, auto_register: bool = False, **kwargs: Any @@ -239,8 +239,9 @@ def decode( **kwargs: Any, ) -> Dict[str, Any]: """Decode bytes content using schema ID in the content type field. `message` must be one of the following: - 1) An object of subtype of the MessageType protocol. - 2) A dict {"content": ..., "content_type": ...}, where "content" is bytes and "content_type" is string. + 1) An object of subtype of the MessageType protocol. + 2) A dict {"content": ..., "content_type": ...}, where "content" is bytes and "content_type" is string. + Content must follow format of associated Avro RecordSchema: https://avro.apache.org/docs/1.10.0/gettingstartedpython.html#Defining+a+schema @@ -257,6 +258,7 @@ def decode( Indicates an issue with validating schemas. :raises ~azure.schemaregistry.encoder.avroencoder.InvalidContentError: Indicates an issue with decoding content. + """ schema_id, content = validate_message(message) cache_misses = ( diff --git a/sdk/schemaregistry/azure-schemaregistry-avroencoder/azure/schemaregistry/encoder/avroencoder/aio/_schema_registry_avro_encoder_async.py b/sdk/schemaregistry/azure-schemaregistry-avroencoder/azure/schemaregistry/encoder/avroencoder/aio/_schema_registry_avro_encoder_async.py index fda9dfc045478..3d9aa87ed1209 100644 --- a/sdk/schemaregistry/azure-schemaregistry-avroencoder/azure/schemaregistry/encoder/avroencoder/aio/_schema_registry_avro_encoder_async.py +++ b/sdk/schemaregistry/azure-schemaregistry-avroencoder/azure/schemaregistry/encoder/avroencoder/aio/_schema_registry_avro_encoder_async.py @@ -227,6 +227,7 @@ async def decode( """Decode bytes content using schema ID in the content type field. `message` must be one of the following: 1) A object of subtype of the MessageType protocol. 2) A dict {"content": ..., "content_type": ...}, where "content" is bytes and "content_type" is string. + Content must follow format of associated Avro RecordSchema: https://avro.apache.org/docs/1.10.0/gettingstartedpython.html#Defining+a+schema diff --git a/sdk/schemaregistry/azure-schemaregistry-avroencoder/doc/azure.rst b/sdk/schemaregistry/azure-schemaregistry-avroencoder/doc/azure.rst deleted file mode 100644 index c9cd404b127c0..0000000000000 --- a/sdk/schemaregistry/azure-schemaregistry-avroencoder/doc/azure.rst +++ /dev/null @@ -1,15 +0,0 @@ -azure package -============= - -.. automodule:: azure - :members: - :undoc-members: - :inherited-members: - -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - azure.schemaregistry diff --git a/sdk/schemaregistry/azure-schemaregistry-avroencoder/doc/azure.schemaregistry.encoder.rst b/sdk/schemaregistry/azure-schemaregistry-avroencoder/doc/azure.schemaregistry.encoder.rst deleted file mode 100644 index d1fc388f0db0e..0000000000000 --- a/sdk/schemaregistry/azure-schemaregistry-avroencoder/doc/azure.schemaregistry.encoder.rst +++ /dev/null @@ -1,15 +0,0 @@ -azure.schemaregistry.encoder package -==================================== - -.. automodule:: azure.schemaregistry.encoder - :members: - :undoc-members: - :inherited-members: - -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - azure.schemaregistry.encoder.avroencoder diff --git a/sdk/schemaregistry/azure-schemaregistry-avroencoder/doc/azure.schemaregistry.rst b/sdk/schemaregistry/azure-schemaregistry-avroencoder/doc/azure.schemaregistry.rst deleted file mode 100644 index 2af8c217dfb58..0000000000000 --- a/sdk/schemaregistry/azure-schemaregistry-avroencoder/doc/azure.schemaregistry.rst +++ /dev/null @@ -1,15 +0,0 @@ -azure.schemaregistry package -============================ - -.. automodule:: azure.schemaregistry - :members: - :undoc-members: - :inherited-members: - -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - azure.schemaregistry.encoder diff --git a/sdk/schemaregistry/azure-schemaregistry-avroencoder/pyproject.toml b/sdk/schemaregistry/azure-schemaregistry-avroencoder/pyproject.toml index 78755ba241740..7ecdec4f12ba7 100644 --- a/sdk/schemaregistry/azure-schemaregistry-avroencoder/pyproject.toml +++ b/sdk/schemaregistry/azure-schemaregistry-avroencoder/pyproject.toml @@ -3,3 +3,4 @@ mypy = true pyright = false type_check_samples = true verifytypes = true +strict_sphinx = true diff --git a/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/_encoder_protocols.py b/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/_encoder_protocols.py index 192f3bbb2ccfe..e831f0c98c60b 100644 --- a/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/_encoder_protocols.py +++ b/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/_encoder_protocols.py @@ -237,7 +237,9 @@ def encode( :returns: TypedDict of encoded content and content type if `message_type` is not set, otherwise the constructed message object. :rtype: MessageType or MessageContent + """ + ... def decode( self, # pylint: disable=unused-argument @@ -250,6 +252,7 @@ def decode( Returns the decoded data with the schema format specified by the `content-type` property. If `validate` callable was passed to constructor, will validate content against schema retrieved from the registry after decoding. + :param message: The message object which holds the content to be decoded and content type containing the schema ID. :type message: MessageType or MessageContent @@ -257,4 +260,6 @@ def decode( :paramtype request_options: dict[str, any] or None :returns: The decoded content. :rtype: dict[str, any] + """ + ... diff --git a/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/aio/_encoder_protocol_async.py b/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/aio/_encoder_protocol_async.py index f69c4eb53af4f..72d816da652ae 100644 --- a/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/aio/_encoder_protocol_async.py +++ b/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/aio/_encoder_protocol_async.py @@ -178,6 +178,7 @@ async def encode( constructed message object. :rtype: MessageType or MessageContent """ + ... async def decode( self, # pylint: disable=unused-argument @@ -190,6 +191,7 @@ async def decode( Returns the decoded data with the schema format specified by the `content-type` property. If `validate` callable was passed to constructor, will validate content against schema retrieved from the registry after decoding. + :param message: The message object which holds the content to be decoded and content type containing the schema ID. :type message: MessageType or MessageContent @@ -197,4 +199,6 @@ async def decode( :paramtype request_options: dict[str, any] or None :returns: The decoded content. :rtype: dict[str, any] + """ + ... diff --git a/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/encoder/jsonencoder/_schema_registry_json_encoder.py b/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/encoder/jsonencoder/_schema_registry_json_encoder.py index 5445fa95a91b5..134701d99448e 100644 --- a/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/encoder/jsonencoder/_schema_registry_json_encoder.py +++ b/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/encoder/jsonencoder/_schema_registry_json_encoder.py @@ -51,7 +51,7 @@ ) if TYPE_CHECKING: - from ..._schema_registry_client import SchemaRegistryClient + import azure.schemaregistry from ..._encoder_protocols import MessageContent, SchemaContentValidate _LOGGER = logging.getLogger(__name__) @@ -78,7 +78,7 @@ class JsonSchemaEncoder(object): def __init__( self, *, - client: "SchemaRegistryClient", + client: "azure.schemaregistry.SchemaRegistryClient", validate: Union[JsonSchemaDraftIdentifier, str, "SchemaContentValidate"], group_name: Optional[str] = None, ) -> None: diff --git a/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/encoder/jsonencoder/aio/_schema_registry_json_encoder_async.py b/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/encoder/jsonencoder/aio/_schema_registry_json_encoder_async.py index c4af7986b78ef..e15b544fbd170 100644 --- a/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/encoder/jsonencoder/aio/_schema_registry_json_encoder_async.py +++ b/sdk/schemaregistry/azure-schemaregistry/azure/schemaregistry/encoder/jsonencoder/aio/_schema_registry_json_encoder_async.py @@ -43,7 +43,7 @@ from ._async_lru import alru_cache # pylint: disable=import-error if TYPE_CHECKING: - from ....aio._schema_registry_client_async import SchemaRegistryClient + import azure.schemaregistry.aio from ...._encoder_protocols import MessageContent, SchemaContentValidate _LOGGER = logging.getLogger(__name__) @@ -56,7 +56,7 @@ class JsonSchemaEncoder(object): :keyword client: Required. The schema registry client which is used to retrieve schema from the service. and retrieve schema from the service. - :paramtype client: ~azure.schemaregistry.SchemaRegistryClient + :paramtype client: ~azure.schemaregistry.aio.SchemaRegistryClient :keyword validate: Required. Used for validation in encode and decode. If a JsonSchemaDraftIdentifier value or equivalent string is provided, the corresponding validator from `jsonschema` will be used. In this case, `jsonschema` MUST be installed separately or by installing the @@ -71,7 +71,7 @@ class JsonSchemaEncoder(object): def __init__( self, *, - client: "SchemaRegistryClient", + client: "azure.schemaregistry.aio.SchemaRegistryClient", validate: Union[JsonSchemaDraftIdentifier, str, "SchemaContentValidate"], group_name: Optional[str] = None, ) -> None: diff --git a/sdk/schemaregistry/azure-schemaregistry/pyproject.toml b/sdk/schemaregistry/azure-schemaregistry/pyproject.toml index 62cf8270a79d7..0d8cd3e72c342 100644 --- a/sdk/schemaregistry/azure-schemaregistry/pyproject.toml +++ b/sdk/schemaregistry/azure-schemaregistry/pyproject.toml @@ -3,3 +3,4 @@ mypy = true pyright = false type_check_samples = true verifytypes = false +strict_sphinx = true