Metadata-Version: 2.4
Name: exonware-xwformats
Version: 0.0.1.5
Summary: Enterprise serialization formats for xwsystem - Parquet, Avro, HDF5, NetCDF, and 14 more heavyweight formats
Project-URL: Homepage, https://exonware.com
Project-URL: Repository, https://github.com/exonware/xwformats
Project-URL: Documentation, https://github.com/exonware/xwformats#readme
Author-email: "Eng. Muhammad AlShehri" <connect@exonware.com>
License: MIT
License-File: LICENSE
Keywords: avro,enterprise,exonware,formats,hdf5,netcdf,parquet,protobuf,scientific,serialization,thrift
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Requires-Dist: exonware-xwsystem>=0.0.1
Provides-Extra: full
Requires-Dist: fastavro>=1.4.0; extra == 'full'
Requires-Dist: flatbuffers>=2.0.0; extra == 'full'
Requires-Dist: h5py>=3.8.0; extra == 'full'
Requires-Dist: lmdb>=1.4.0; extra == 'full'
Requires-Dist: lxml>=4.9.0; extra == 'full'
Requires-Dist: neo4j>=4.4.0; extra == 'full'
Requires-Dist: netcdf4>=1.6.0; extra == 'full'
Requires-Dist: numpy>=1.20.0; extra == 'full'
Requires-Dist: pandas>=1.3.0; extra == 'full'
Requires-Dist: plyvel>=1.5.0; extra == 'full'
Requires-Dist: protobuf>=3.19.0; extra == 'full'
Requires-Dist: py-ubjson>=0.16.0; extra == 'full'
Requires-Dist: pyarrow>=8.0.0; extra == 'full'
Requires-Dist: pycapnp>=1.1.0; extra == 'full'
Requires-Dist: pydgraph>=21.3.0; extra == 'full'
Requires-Dist: pyorc>=0.6.0; extra == 'full'
Requires-Dist: scipy>=1.7.0; extra == 'full'
Requires-Dist: thrift>=0.15.0; extra == 'full'
Requires-Dist: zarr>=2.15.0; extra == 'full'
Provides-Extra: lazy
Requires-Dist: exonware-xwsystem[lazy]>=0.0.1; extra == 'lazy'
Description-Content-Type: text/markdown

# xwformats - Enterprise Serialization Formats

**Company:** eXonware.com  
**Author:** Eng. Muhammad AlShehri  
**Email:** connect@exonware.com  
**Version:** 0.0.1.5
**Date:** 02-Nov-2025

---

## Overview

Extended serialization format library providing heavyweight enterprise formats for specialized domains.

**Note:** This library is separated from `xwsystem` to keep the core lightweight and fast.

---

## What's Inside

### 18 Enterprise Formats (~87 MB):

**Schema Formats (7):**
- Protocol Buffers
- Apache Avro
- Apache Parquet
- Apache Thrift
- Apache ORC
- Cap'n Proto
- FlatBuffers

**Scientific Formats (5):**
- HDF5
- Feather
- Zarr
- NetCDF
- MATLAB MAT

**Database Formats (3):**
- LMDB
- GraphDB (Neo4j, Dgraph)
- LevelDB

**Binary Formats (2):**
- BSON
- UBJSON

**Text Formats (1):**
- XML (enterprise features)

---

## Installation

```bash
# Standard installation
pip install exonware-xwformats

# With xwsystem
pip install exonware-xwsystem exonware-xwformats

# Or use xwsystem[lazy] for auto-installation
pip install exonware-xwsystem[lazy]
```

---

## Usage

```python
from exonware.xwformats import (
    ParquetSerializer,
    ProtobufSerializer,
    Hdf5Serializer,
    # ... all enterprise formats
)

# Or through xwsystem
from exonware.xwsystem import XWIO

io = XWIO()
io.serialize(data, format="parquet")  # Auto-discovers xwformats!
```

---

## Why Separate from xwsystem?

**Performance:**
- xwsystem: ~5 MB (core formats only)
- xwformats: ~87 MB (enterprise formats)
- Install only what you need!

**Startup Time:**
- xwsystem alone: ~0.1s (20x faster!)
- With xwformats: ~2s (when actually used)

**Coverage:**
- xwsystem: 14 core formats (80%+ use cases)
- xwformats: 18 enterprise formats (specialized needs)

---

## License

MIT License - See LICENSE file

---

**Part of the eXonware ecosystem**

