A simple Python package for serializing and deserializing Python objects to and from JSON.
Project description
Model Serializer and Directory Tree Builder
This is a Python package that includes: ModelSerializer and DirectoryTreeBuilder. The package is designed to provide serialization and deserialization capabilities for Python objects, as well as the ability to create a tree structure representing the directory and file hierarchy of a specified directory.
ModelSerializer
The ModelSerializer class is used to serialize Python objects into JSON format and deserialize JSON strings back into Python objects. It provides the following methods:
__init__(self, model=None)
where model
: The model object to serialize.
[1.A] Initialize the ModelSerializer with a model object.
to_json(self, model=None)
[1.B] Serialize the model object to JSON.
where model
: (optional) If provided, [2.A] serialize the specified model object, otherwise, [2.B] use the object provided during initialization.
serialize_model(self, obj)
where obj
: The object to be serialized.
[3] Recursively serialize a Python object into a JSON-serializable format.
from_json(json_str)
where json_str
: The JSON string to deserialize.
[4] Deserialize a JSON string into a Python object.
DirectoryTreeBuilder
The DirectoryTreeBuilder class is used to create a tree structure that represents the directory and file hierarchy of a specified directory. It provides the following methods:
__init__(self, root_path)
where root_path
: The path to the root directory to build the tree from.
[1] Initialize the DirectoryTreeBuilder with a root directory path.
build_tree(self)
Returns: A dictionary representing the directory and file hierarchy.
[2] Recursively construct a tree structure for the specified directory.
to_json(self)
Returns: JSON representation of the directory tree.
[3] Serialize the directory tree to JSON format.
Example Usage
Here's an example of how to use these classes:
from model_serializer import ModelSerializer
from directory_tree_builder import DirectoryTreeBuilder
# Example for ModelSerializer
data = {"name": "John", "age": 30, "city": "New York"}
serializer = ModelSerializer(data)
json_data = serializer.to_json()
# Example for DirectoryTreeBuilder
root_directory = '/path/to/root/directory'
tree_builder = DirectoryTreeBuilder(root_directory)
directory_tree_json = tree_builder.to_json()
To install this package from PyPI, you can use pip:
pip install model-serializer
License
This package is distributed under the MIT License. Feel free to use it in your projects and contribute to its development on GitHub.
Author
Made with ❤️ by Olger Chotza in Thessaloniki, Greece.
If you encounter any issues, have questions, or want to contribute to the development of this package, please visit the GitHub repository and create an issue or pull request.
Thank you for using the Model Serializer and Directory Tree Builder package!
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
Built Distribution
Hashes for model_serializer-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc8ada7e2251545ce71d8520567e8860f6b86b9d7395ba27957915ec00aecaf2 |
|
MD5 | 108947f226230a3b2d8392ea81048354 |
|
BLAKE2b-256 | 398a7aae1ce3f415ada843388a7ee6850be114fdc7daa6016e8610ebc50f6c97 |