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.3.tar.gz (135.8 kB view details)

Uploaded Source

File details

Details for the file JFIO-1.0.3.tar.gz.

File metadata

  • Download URL: JFIO-1.0.3.tar.gz
  • Upload date:
  • Size: 135.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.5

File hashes

Hashes for JFIO-1.0.3.tar.gz
Algorithm Hash digest
SHA256 769f959b4748503f80268ad598d900a3412e3e51cd2d5989604ed0aad990720b
MD5 f0eb10d79a87fa6b87a6dee9e2b5ad6c
BLAKE2b-256 37e0babc1a5a1deb55429b1482d1ba4131f69ffd639d31c55f1f288c102075b6

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