Skip to main content

JFIO (Json Fast Input Output) is a high-performance Python package for efficient reading and writing of JSON files.

Project description

JFIO - Json Fast Input Output

License: MIT Python Version

JFIO is a high-performance Python package for reading and writing JSON files, powered by the popular C++ library nlohmann/json and pybind11. This package aims to provide simple and efficient JSON input/output operations while maintaining a user-friendly API.

Features

  • High-performance JSON serialization and deserialization
  • Simple and easy-to-use API with just two main functions: read and write
  • Compatible with Python 3.6 and later

Installation

Prerequisites

  • C++ compiler with support for C++11 or later
  • Python 3.6 or later
  • pybind11

Install using pip

pip install JFIO

Build from source

git clone git@github.com:PabloIbannez/JFIO.git
cd JFIO
python setup.py install 

Alternatively:

git clone git@github.com:PabloIbannez/JFIO.git
cd JFIO
pip install .

Usage

Here is a basic example of how to use JFIO for reading and writing JSON files:

import JFIO

# Writing a JSON file
data = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

JFIO.write("output.json", data, formatted=True)

# Reading a JSON file
data_read = JFIO.read("output.json")
print(data_read)

API Reference

JFIO.write(filename: str, data, formatted: bool = False)

Write JSON data to a file.

Arguments:

  • filename (str): The name of the file to write to.
  • data: The data to write. This can be any data type that is serializable to JSON.
  • formatted (bool): Write JSON file in a human-readable format. Default: False.

JFIO.read(filename: str)

Read JSON data from a file.

Arguments:

  • filename (str): The name of the file to read from.

Returns:

  • Parsed JSON data as a Python data structure.

License

This project is licensed under the MIT License.

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue if you have any questions or suggestions.

Acknowledgements

  • nlohmann/json for providing the powerful C++ JSON library
  • pybind11 for enabling seamless Python-C++ bindings
  • pybind11_json for simplifying the integration of nlhomann/json with pybind11

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

JFIO-1.0.2.tar.gz (135.8 kB view hashes)

Uploaded Source

Supported by

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