AvroSerializer


NameAvroSerializer JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://avro.apache.org/
SummaryAvroSerializer is a serialization and RPC framework.
upload_time2025-07-10 04:45:19
maintainerNone
docs_urlNone
authorApache Software Foundation
requires_python>=3.7
licenseApache License 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# Robot Avro Serializer

[![Python](https://img.shields.io/badge/python-3.7%2B-blue.svg)](https://www.python.org/)
[![Robot Framework](https://img.shields.io/badge/robot--framework-compatible-brightgreen.svg)](https://robotframework.org/)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

**Robot Avro Serializer** is a custom [Robot Framework](https://robotframework.org/) library written in Python to serialize JSON messages into binary Avro format using user-defined schemas.

---

## Features

- ✅ Load Avro schema from `.avsc` files
- 🔄 Serialize JSON objects into Avro binary
- 📦 Return binary as hexadecimal string
- 🤖 Seamless integration with Robot Framework

---

## Installation

```bash
pip install robotframework AvroSerializer
```

---

## Usage Example

**Robot Test:**

```robot
*** Settings ***
Library    AvroSerializer

*** Variables ***
${SCHEMA_FILE}    example_schema.avsc
${JSON_MSG}       {"name": "Ana", "age": 30, "email": "ana@email.com"}

*** Test Cases ***
Serialize JSON To Avro
    Load Avro Schema From File    ${SCHEMA_FILE}
    ${hex}=    Serialize And Return Hex    ${JSON_MSG}
    Log    Serialized Avro Hex: ${hex}
```

**example_schema.avsc**

```json
{
  "type": "record",
  "name": "User",
  "fields": [
    { "name": "name", "type": "string" },
    { "name": "age", "type": "int" },
    { "name": "email", "type": ["null", "string"], "default": null }
  ]
}
```

---

## Development

```bash
git clone https://github.com/darioajr/AvroSerializer.git
cd AvroSerializer
pip install .
```

---

## License

This project is licensed under the Apache-2.0 License.

            

Raw data

            {
    "_id": null,
    "home_page": "https://avro.apache.org/",
    "name": "AvroSerializer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": "Apache Software Foundation",
    "author_email": "darioajr@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ac/cb/14d68e102eb2afdc5229758ff03a6ba2eabeac3de251f81a05e80c1a5735/avroserializer-0.1.0.tar.gz",
    "platform": null,
    "description": "\n# Robot Avro Serializer\n\n[![Python](https://img.shields.io/badge/python-3.7%2B-blue.svg)](https://www.python.org/)\n[![Robot Framework](https://img.shields.io/badge/robot--framework-compatible-brightgreen.svg)](https://robotframework.org/)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n**Robot Avro Serializer** is a custom [Robot Framework](https://robotframework.org/) library written in Python to serialize JSON messages into binary Avro format using user-defined schemas.\n\n---\n\n## Features\n\n- \u2705 Load Avro schema from `.avsc` files\n- \ud83d\udd04 Serialize JSON objects into Avro binary\n- \ud83d\udce6 Return binary as hexadecimal string\n- \ud83e\udd16 Seamless integration with Robot Framework\n\n---\n\n## Installation\n\n```bash\npip install robotframework AvroSerializer\n```\n\n---\n\n## Usage Example\n\n**Robot Test:**\n\n```robot\n*** Settings ***\nLibrary    AvroSerializer\n\n*** Variables ***\n${SCHEMA_FILE}    example_schema.avsc\n${JSON_MSG}       {\"name\": \"Ana\", \"age\": 30, \"email\": \"ana@email.com\"}\n\n*** Test Cases ***\nSerialize JSON To Avro\n    Load Avro Schema From File    ${SCHEMA_FILE}\n    ${hex}=    Serialize And Return Hex    ${JSON_MSG}\n    Log    Serialized Avro Hex: ${hex}\n```\n\n**example_schema.avsc**\n\n```json\n{\n  \"type\": \"record\",\n  \"name\": \"User\",\n  \"fields\": [\n    { \"name\": \"name\", \"type\": \"string\" },\n    { \"name\": \"age\", \"type\": \"int\" },\n    { \"name\": \"email\", \"type\": [\"null\", \"string\"], \"default\": null }\n  ]\n}\n```\n\n---\n\n## Development\n\n```bash\ngit clone https://github.com/darioajr/AvroSerializer.git\ncd AvroSerializer\npip install .\n```\n\n---\n\n## License\n\nThis project is licensed under the Apache-2.0 License.\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "AvroSerializer is a serialization and RPC framework.",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://avro.apache.org/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "823d1b268eb675cdbdec0bf753dc65237ece6e34def8e97db2911c6be70a2556",
                "md5": "ebeab1ee504c3ae89ccec23b090b63ea",
                "sha256": "692d36bd110365acf75addec06f15aaca49e7e28fccfc8920b99fe3e3ccfb76c"
            },
            "downloads": -1,
            "filename": "avroserializer-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ebeab1ee504c3ae89ccec23b090b63ea",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 7225,
            "upload_time": "2025-07-10T04:45:17",
            "upload_time_iso_8601": "2025-07-10T04:45:17.856331Z",
            "url": "https://files.pythonhosted.org/packages/82/3d/1b268eb675cdbdec0bf753dc65237ece6e34def8e97db2911c6be70a2556/avroserializer-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "accb14d68e102eb2afdc5229758ff03a6ba2eabeac3de251f81a05e80c1a5735",
                "md5": "e5b73405042f6f9566c97aae88321a54",
                "sha256": "10e8d8b5c1d41ecbc665231c39a92dc0b52ee522d005701b73ab76cede4f0cc3"
            },
            "downloads": -1,
            "filename": "avroserializer-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e5b73405042f6f9566c97aae88321a54",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 7152,
            "upload_time": "2025-07-10T04:45:19",
            "upload_time_iso_8601": "2025-07-10T04:45:19.143555Z",
            "url": "https://files.pythonhosted.org/packages/ac/cb/14d68e102eb2afdc5229758ff03a6ba2eabeac3de251f81a05e80c1a5735/avroserializer-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-10 04:45:19",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "avroserializer"
}
        
Elapsed time: 0.48704s