{"categories":[{"label":"Information Analysis","url":"https://skillfed.io/packages/category/scientific-engineering-information-analysis/2"}],"enrichment":{"capability":"Reads and writes Apache Avro files to and from pandas DataFrames, handling schema inference and type conversion between Avro and numpy/pandas types.","skillfed_tags":["data-serialization","avro","pandas-integration"],"use_cases":["Export pandas DataFrames to Avro format for storage or transmission in data pipelines.","Load Avro files from external sources (e.g., Kafka, data lakes) into pandas for analysis.","Convert between pandas and Avro schemas when integrating with systems that use Avro as a standard format.","Preserve nullable integer and string types when round-tripping DataFrames through Avro serialization.","Infer Avro schemas automatically from DataFrame structure without manual schema definition."],"what_it_does":"Pandavro bridges Apache Avro and pandas, letting you serialize DataFrames to Avro files and deserialize Avro files back into DataFrames. It depends on fastavro for the low-level Avro I/O, pandas for the DataFrame abstraction, and numpy for type handling. The package infers Avro schemas from DataFrame dtypes, mapping numpy and pandas types (booleans, integers, floats, strings, timestamps, and complex types like records and arrays) to their Avro equivalents. All columns are treated as nullable by default, and nested records and arrays are supported.\n\nThe package handles most common data types but has known limitations: it does not support Avro enums, maps, or unions; it cannot infer non-nested schemas with DataFrame indexes; and naive datetime columns will not roundtrip correctly without explicit timezone information due to fastavro's design. You can provide a custom schema instead of relying on inference, and you can load nullable pandas datatypes (Int64Dtype, StringDtype, etc.) deterministically by passing na_dtypes=True to read_avro.","worth_installing":"Yes, if you need to serialize pandas DataFrames to Avro or read Avro files into pandas. Install friction is low and the MIT license is permissive. Maintenance is aging (352 days since last release), but the repository is active and there are no known vulnerabilities. Be aware of the datetime timezone gotcha and the limitations on complex types and schema nesting before committing to it for a large project."},"id":"pandavro","links":{"html":"https://skillfed.io/packages/pandavro","md":"https://skillfed.io/packages/pandavro.md","pypi":"https://pypi.org/project/pandavro/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-08-27","license_spdx":null,"license_treatment":"permissive","name":"pandavro","python_support":"supports_current","summary":"The interface between Avro and pandas DataFrame"},"popularity":{"monthly_downloads":272012,"position":8214,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.9.0"}
