Skip to content

crpereir/jsonifyer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISEL logo

JSONIFYER

PyPI version License: MIT Python Version Status

A Python package to easily convert different types of files into JSON format. JSONIFYER provides a simple and efficient way to transform various file formats (XML, CSV, TXT) into JSON, making it easier to work with structured data in your Python applications.

Features

  • Convert XML files to JSON using either Python-based or XSLT methods
  • Convert CSV files to JSON with customizable options
  • Convert TXT files to JSON with customizable options
  • Detailed error handling and validation

Table of Contents

  1. Installation
  2. Quick Start
  3. Project Structure
  4. Contributing
  5. License
  6. Contact

Installation

Install via PyPI:

pip install jsonifyer

Or install locally for development:

git clone https://github.com/crpereir/jsonify.git
cd jsonifyer
pip install -e .

Quick Start

from jsonify import convert_file, convert_csv, convert_xml

# Convert any supported file type
result = convert_file(
    file_path="data/input/example.xml",
    fields=["name", "description", "price"],
    file_type="xml"
)

# Convert CSV specifically
result = convert_csv(
    file_path="data/input/example.csv",
    fields=["id", "name", "value"],
    delimiter=",",
    skiprows=1
)

# Convert XML with specific options
result = convert_xml(
    file_path="data/input/example.xml",
    fields=["name", "description"],
    converter="python",  # or "xslt"
    namespaces={"ns": "http://example.com/ns"},
    root_tag="items"
)

Directory Structure

The package automatically manages input and output directories based on file types:

  • CSV files: csv_files/
  • XML files: xml_files/
  • TXT files: text_files/

Project Structure

jsonify/
├── README.md                  # Project documentation
├── setup.py                   # Setup script for installation
└── src/
    └── jsonifyer/
        ├── __init__.py        # Package initialization
        ├── api.py             # Main API functions
        ├── config.py          # Directory management
        ├── config_loader.py   # Configuration handling
        ├── main.py            # Core conversion logic
        └── converter/         # Conversion implementations
            ├── __init__.py
            ├── csv_converter.py
            ├── python_converter.py
            └── xslt_converter.py

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages