{"id":30294469,"url":"https://github.com/linkedin/avro-util","last_synced_at":"2025-08-17T01:35:10.006Z","repository":{"id":37798091,"uuid":"146924987","full_name":"linkedin/avro-util","owner":"linkedin","description":"Collection of utilities to allow writing java code that operates across a wide range of avro versions.","archived":false,"fork":false,"pushed_at":"2025-08-04T23:28:25.000Z","size":4255,"stargazers_count":80,"open_issues_count":69,"forks_count":65,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-08-05T01:14:40.795Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linkedin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-08-31T17:48:53.000Z","updated_at":"2025-08-04T23:26:13.000Z","dependencies_parsed_at":"2024-01-26T22:30:01.821Z","dependency_job_id":"59f1f4d9-e485-49e3-a363-91b82468761d","html_url":"https://github.com/linkedin/avro-util","commit_stats":null,"previous_names":[],"tags_count":240,"template":false,"template_full_name":null,"purl":"pkg:github/linkedin/avro-util","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkedin%2Favro-util","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkedin%2Favro-util/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkedin%2Favro-util/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkedin%2Favro-util/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linkedin","download_url":"https://codeload.github.com/linkedin/avro-util/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkedin%2Favro-util/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270796216,"owners_count":24647319,"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","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-08-17T01:35:07.672Z","updated_at":"2025-08-17T01:35:09.985Z","avatar_url":"https://github.com/linkedin.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Avro-Util\n=========\n[![Github Build Status](https://github.com/linkedin/avro-util/workflows/push%20flow/badge.svg)](https://github.com/linkedin/avro-util/actions/workflows/push.yaml)\n![Latest Release](https://img.shields.io/badge/dynamic/json?color=blue\u0026label=latest\u0026query=%24.results%5B0%5D.version\u0026url=https%3A%2F%2Flinkedin.jfrog.io%2Fartifactory%2Fapi%2Fsearch%2Fversions%3Fg%3Dcom.linkedin.avroutil1%26a%3Dhelper-all%26repos%3Davro-util)\n\nA collection of utilities and libraries to allow java projects to better work with avro.\n\n### How To Use ###\n\nArtifacts are published to [artifactory](https://linkedin.jfrog.io/artifactory/avro-util/).\nTo use them (say in a gradle build) you'd need to add that repository to your build.gradle, \nand then add a dependency on the module(s) you wish to use:\n\n```gradle\nrepositories {\n   maven {\n      url  \"https://linkedin.jfrog.io/artifactory/avro-util/\"\n   }\n}\n...\ndependencies {\n   compile \"com.linkedin.avroutil1:helper-all:\u003clatest version\u003e\"\n}\n```\n\n### Background ###\n\nApache Avro is a widely used serialization format.\n\nUnfortunately it is not always possible to write java code that \"just works\" \nacross multiple versions of avro, as there have been breaking changes to both \nthe API and wire format. This project provides utility code to enable java \ndevelopers to write code that is compatible across a wide range of avro versions \n\nFurthermore, this project enables Avro-based projects to achieve better \nperformance.\n\n### Modules ###\n\nThe following modules are available in this project.\n\n## helper ##\n\nThis module provides utility functions which, when coded against, ensure \ncompatibility with every Avro supported version. This is achieved by offering \na single API which, under the hood, delegates to the Avro version which is \ndetected at runtime.\n\n## avro-codegen ##\n\nThis module provides code generation capabilities which allows an auto-generated\nSpecificRecord class to work with all supported versions of Avro.\n\n## avro-fastserde ##\n\nThis is a fork of https://github.com/RTBHOUSE/avro-fastserde\n\nIn a nut shell, avro-fastserde enables faster Avro de/serialization by doing\nruntime code-generation to provide a faster decoder/encoder implementation.\n\nAs part of this fork, there are compatibility improvements to ensure that the\ndecoding semantics are the same as that of regular Avro (in particular around\nthe handling of String types in modern Avro). Moreover, this fork enables \npartial compatibility with older versions of Avro. Finally, this fork provides\nsupports for object re-use, a standard Avro deserialization feature, as well\nas some other garbage-collection optimizations which have proven useful at\nLinkedIn.\n\n### Supported versions of Avro ###\n\nThe helper module supports avro 1.4 - 1.11 inclusive, fastserde included.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkedin%2Favro-util","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinkedin%2Favro-util","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkedin%2Favro-util/lists"}