{"id":26129518,"url":"https://github.com/mathworks-ref-arch/matlab-avro","last_synced_at":"2025-04-13T18:42:43.921Z","repository":{"id":78586850,"uuid":"160401389","full_name":"mathworks-ref-arch/matlab-avro","owner":"mathworks-ref-arch","description":"MATLAB interface for Apache Avro files.","archived":false,"fork":false,"pushed_at":"2025-04-04T13:05:28.000Z","size":208,"stargazers_count":9,"open_issues_count":7,"forks_count":2,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-04T14:22:33.054Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mathworks-ref-arch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-04T18:28:05.000Z","updated_at":"2025-04-04T13:05:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"85c43922-3ba7-4997-af06-daecd00abba1","html_url":"https://github.com/mathworks-ref-arch/matlab-avro","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-avro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-avro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-avro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathworks-ref-arch%2Fmatlab-avro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mathworks-ref-arch","download_url":"https://codeload.github.com/mathworks-ref-arch/matlab-avro/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248764988,"owners_count":21158198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-10T19:49:15.862Z","updated_at":"2025-04-13T18:42:43.915Z","avatar_url":"https://github.com/mathworks-ref-arch.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"[//]: #  (Copyright 2017, The MathWorks, Inc.)\n\n#  MATLAB\u0026reg; Interface *for Apache Avro*™\n\n## Requirements\n### MathWorks Products (https://www.mathworks.com)\n* Requires MATLAB release R2017b or newer\n\n### 3rd Party Products:\nFor building the JAR file:\n- [Maven](https://maven.apache.org/download.cgi)\n- [JDK 8](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)\n\n## Introduction\n[Apache Avro™](https://avro.apache.org/) is a data serialization system.\nAvro provides a compact, fast, binary data format and simple integration with dynamic languages.\nAvro relies heavily on schemas. When data is stored in a file, the schema is stored with it, so that files may be processed later by any program.\n\nThe MATLAB interface for Apache Avro provides for reading and writing of Apache Avro files from within MATLAB. Functionality includes:\n* Read and write of local Avro files\n* Access to metadata of an Avro file\n\n\n## Installation\nInstallation of the interface requires building the support package (JAR file) using Maven.\n\nBefore proceeding, ensure that the below products are installed:  \na) Java SDK  \nb) Maven  \n\nThe links to download these products are provided in the section [3rd party products](#3rd-party-products).\n\nPlease see the [documentation](Documentation/Installation.md) for detailed installation instructions. To get started quickly:  \n\n### Build the JAR file\nTo install the interface, first build the JAR file.\n```bash\ncd Software/Java\nmvn clean package\n```  \nThe maven build places the Avro package in the location ```/Software/MATLAB/lib/jar/```. Note the full path to the JAR file as this should be added to the MATLAB Java classpath path in the next step.  \n\n### Install the MATLAB package\nOpen MATLAB and install the support package.\n```MATLAB\ncd Software/MATLAB\nstartup\n```\nThe startup script checks if the required packages are added to the MATLAB paths. If the JAR file is not already added to the MATLAB static Java class path, the startup script will automatically add it to the dynamic classpath. Using the static class path may result in better performance. To set the static path, see [detailed instructions to install](Documentation/Installation.md).  \n\n## Getting Started\n\nTo write a variable to an Avro file:\n```MATLAB\nmyData = 'Test string data.';\n\n% Create STRING schema.\nmySchema = matlabavro.Schema.create(matlabavro.SchemaType.STRING);\n\n% Create DataFileWriter for avro file\nmyWriter = matlabavro.DataFileWriter();\nmyWriter.createAvroFile(mySchema,'myFile.avro');\n\n% Append string data\nmyWriter.append(myData);\n```\n\nThe same file can be read with\n```MATLAB\nmyReader = matlabavro.DataFileReader('myFile.avro');\nmyReaderData = myReader.next();\n```\nAlways close the reader and writer objects\n```MATLAB\nmyReader.close();\nmyWriter.close();\n```\nA few unit tests are provided in the Software/MATLAB/test/unit folder. These can be run with\n```MATLAB\ncd Software/MATLAB/test/unit;\nruntests;\n```\n\nFor more details, look at the [Basic Usage document](Documentation/BasicUsage.md).\n\n\n## Documentation\nSee [documentation](Documentation/README.md) for more information.\n\n\n## License\nThe license for MATLAB interface *for Avro* is available in the [LICENSE.md](LICENSE.md) file in this GitHub repository.\nThis package uses certain third-party content which is licensed under separate license agreements.\nSee the [pom.xml](Software/Java/pom.xml) file for third-party software downloaded at build time.\n\n## Enhancement Requests\nProvide suggestions for additional features or capabilities using the following link:   \nhttps://www.mathworks.com/products/reference-architectures/request-new-reference-architectures.html\n\n## Support\nEmail: `mwlab@mathworks.com`\n\n------------\n\n[//]: #  (copyright 2017-2025, The MathWorks, Inc.)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathworks-ref-arch%2Fmatlab-avro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathworks-ref-arch%2Fmatlab-avro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathworks-ref-arch%2Fmatlab-avro/lists"}