Metadata-Version: 2.1
Name: serialix
Version: 2.4.1
Summary: Powerful and easy to use api for working with various human-readable data serialization formats
Home-page: https://github.com/maximilionus/serialix
Author: maximilionus
Author-email: maximilionuss@gmail.com
License: MIT
Project-URL: Documentation, https://maximilionus.github.io/serialix
Project-URL: Tracker, https://github.com/maximilionus/serialix/issues
Keywords: serialization format files parse json yaml toml
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Text Processing
Requires-Python: ~=3.5
Description-Content-Type: text/x-rst
Provides-Extra: ujson
Provides-Extra: yaml
Provides-Extra: toml
Provides-Extra: full
Provides-Extra: test
License-File: LICENSE

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:

.. code:: python

    >>> 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 <https://maximilionus.github.io/serialix/guide_installation.html>`__

Documentation
--------------------------------------
All information about this package installation and usage is located in documentation `on this link <https://maximilionus.github.io/serialix/index.html>`__


