Skip to content
This repository has been archived by the owner on Jun 1, 2024. It is now read-only.
/ serialix Public archive

Powerful and easy to use api for working with various human-readable data serialization formats

License

Notifications You must be signed in to change notification settings

maximilionus/serialix

Repository files navigation

serialix

About

serialix is a powerful and easy-to-use tool that provides unified API for various human-readable data serialization formats (like json, yaml, etc). Due to the how this tool designed, all the supported formats share the identical base between each other, meaning that switching between them will be almost the same. This tool can also be extended for your purposes or even your own serialization format support.

Usage example

serialix is very easy to use:

>>> from serialix import Serialix, JSON_Format                        # Import `Serialix` main class
>>> default_settings = { 'version': '1.23.2' }                        # Specify the default values for our file
>>> cfg = Serialix(JSON_Format, './settings.json', default_settings)  # Create serialix object for `json` format.
                                                                      # Local file will be automatically created.
>>> cfg['version']                                                    # Read the `version` key
'1.23.2'
>>> cfg['version'] = '2.0.0'                                          # Change the `version` key value
>>> cfg['version']                                                    # Read the values of `version` key again
'2.0.0'
>>> cfg.commit()                                                      # Commit the changes to local `settings.json` file

Supported Languages

List of currently supported languages parsers.

  • Native Support
    • json
  • External Support
    • ujson (replacement for python built-in json parser)
    • yaml (version <= 1.2)
    • toml
Languages, listed in Native Support are supported by python without any external packages, while External Support requires external packages to be installed. For more detailed information go here: Intallation Guide

Documentation

All information about this package installation and usage is located in documentation on this link