Skip to main content

A flexible Python library for easy handling and conversion of Hierarchical, Tabular, and Serialized data formats.

Project description

FormatFlex

FormatFlex is a flexible Python library designed to seamlessly handle various text and data formats.

Supported Data Formats

Hierarchical Data (HData)

  • XML
  • JSON
  • YAML
  • TOML
  • CBOR2
  • MSGPACK
  • BSON
  • UBJSON

Tabular Data (TData)

  • CSV
  • Excel
  • Parquet
  • ORC
  • Feather
  • HDF5

Serialization (GData)

  • Pickle
  • Dill
  • Cloudpickle
  • Joblib

Installation

pip install format_flex

Usage

Hierarchical Data Example (HData)

from format_flex import HData

with open("sample/sample.json", "rt", encoding="utf-8") as f:
    data = f.read()

hdata = HData(data)
save_path = "./output/hdata_example"

# Convert and save in various formats
print(hdata.to.xml(save_path).summary)
print(hdata.to.json(save_path).summary)
print(hdata.to.yaml(save_path).summary)
print(hdata.to.toml(save_path).summary)
print(hdata.to.bson(save_path).summary)
print(hdata.to.cbor2(save_path).summary)
print(hdata.to.msgpack(save_path).summary)
print(hdata.to.ubjson(save_path).summary)

Tabular Data Example (TData)

from format_flex import TData

tdata = TData("sample/music_dataset.csv")
save_path = "./output/tdata_example"

print(tdata.to.csv(save_path).summary)
print(tdata.to.excel(save_path).summary)
print(tdata.to.parquet(save_path).summary)
print(tdata.to.orc(save_path).summary)
print(tdata.to.feather(save_path).summary)
print(tdata.to.hdf5(save_path).summary)

Serialization Example (GData)

import numpy as np
from format_flex import GData

data = {
    "name": "Alice",
    "age": 30,
    "scores": [95, 87, 78],
    "numbers": np.random.random((10, 10)),
    "details": {
        "hobbies": ["reading", "cycling", "hiking"],
        "active": True,
        "balance": 1234.56
    }
}

save_path = "./output/gdata_example"
gdata = GData(data)

print(gdata.to.pickle(save_path).summary)
print(gdata.to.dill(save_path).summary)
print(gdata.to.cloudpickle(save_path).summary)
print(gdata.to.joblib(save_path).summary)

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

format_flex-0.0.1.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

format_flex-0.0.1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file format_flex-0.0.1.tar.gz.

File metadata

  • Download URL: format_flex-0.0.1.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for format_flex-0.0.1.tar.gz
Algorithm Hash digest
SHA256 b8f765a0b97b81e080b233622a6024f2825f587a38fbbe99729dba5d0809e88c
MD5 95d410b075c5dc97994388781b0f7dae
BLAKE2b-256 c2051bf9a739dc06e65103c0f95323fb3dabb5f4c853c5c52efdf8021829aa7b

See more details on using hashes here.

File details

Details for the file format_flex-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: format_flex-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for format_flex-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2f4c737ff6f3a50fcc8463eb6530298ce9c01bb3a9248878a817e3ef041ba85d
MD5 2d741abc2a27474b141a4627dbc165fe
BLAKE2b-256 73cd5ce5490cff9406007222e041d2723c1af1356e648054ced4cce58b236ebf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page