scisave


Namescisave JSON
Version 1.4.5 PyPI version JSON
download
home_pageNone
SummarySciSave - Serialization for Scientific Data
upload_time2025-01-09 06:57:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseBSD-2-Clause
keywords python serialization deserialization json yaml pickle numpy
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SciSave - Serialization for Scientific Data

> * **Repository: [github.com/otvam/scisave](https://github.com/otvam/scisave)**
> * **PyPi: [pypi.org/project/scisave](https://pypi.org/project/scisave)**
> * **Conda: [anaconda.org/conda-forge/scisave](https://anaconda.org/conda-forge/scisave)**

## Summary

**SciSave** is a **Python serialization/deserialization** module:
* Specially targeted for **scientific applications**.
* Load **JSON/YAML configuration files**. 
* Load and write **JSON/Pickle data files**.

For **YAML** files, the following **custom extensions** are used:
* `!path` - parse relative paths (with respect to the YAML file).
* `!include` - include other YAML files (recursion possible).
* `!eval` - evaluate a Python literal (using literal_eval).
* `!env` - substitute YAML strings with values from environment variables.
* `!sub` - substitute YAML strings with values from a provided dictionary.
* `!merge_dict` - merge a list of dicts.
* `!merge_list` - merge a list of lists.

For **JSON** files, the following **custom extensions** are used:
* Allows the serialization/deserialization of complex numbers (`__complex__`).
* Allows the serialization/deserialization of NumPy arrays (`__numpy__`).
* Allows the serialization/deserialization as/from text and gzip files 

The following file extensions are used:
* `.yaml, .yml` - for YAML files
* `.json, .js` - for JSON text files
* `.gz, .gzip` - for JSON gzip files
* `.pck, .pkl, .pickle` - for Pickle files

The JSON/YAML files with the custom extensions are still valid JSON/YAML files. 
Pickle is significantly faster than JSON for very large data files.

SciSave is written in Python (NumPy and PyYAML are the only dependencies).
SciSave is respecting **semantic versioning** (starting from version 1.4).

## Warning

* Pickling data is not secure.
* Only load pickle files that you trust.

## Example

An example is located in the `example` folder of the repository:
* `run_data.py` contains an example file for the loader/dumper
* `config_main.yaml` YAML configuration file with custom extensions
* `config_include.yaml` YAML configuration file for include extension
* `dump.json` JSON plain text file for testing data dumping/loading
* `dump.gz` JSON plain gzip file for testing data dumping/loading
* `dump.pickle` Pickle file for testing data dumping/loading

## Project Links

* Repository: https://github.com/otvam/scisave
* Releases: https://github.com/otvam/scisave/releases
* Tags: https://github.com/otvam/scisave/tags
* Issues: https://github.com/otvam/scisave/issues
* PyPi: https://pypi.org/project/scisave
* Conda: https://anaconda.org/conda-forge/scisave

## Author

* **Thomas Guillod**
* Email: guillod@otvam.ch
* Website: https://otvam.ch

## Copyright

> (c) 2023 - Thomas Guillod
> 
>  BSD 2-Clause "Simplified" License

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "scisave",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Thomas Guillod <guillod@otvam.ch>",
    "keywords": "Python, Serialization, Deserialization, JSON, YAML, Pickle, NumPy",
    "author": null,
    "author_email": "Thomas Guillod <guillod@otvam.ch>",
    "download_url": "https://files.pythonhosted.org/packages/85/4d/8e21cf791916411c0d81eb5f990fa9d7aea73a2d98dc4a9a5210689cb84c/scisave-1.4.5.tar.gz",
    "platform": null,
    "description": "# SciSave - Serialization for Scientific Data\n\n> * **Repository: [github.com/otvam/scisave](https://github.com/otvam/scisave)**\n> * **PyPi: [pypi.org/project/scisave](https://pypi.org/project/scisave)**\n> * **Conda: [anaconda.org/conda-forge/scisave](https://anaconda.org/conda-forge/scisave)**\n\n## Summary\n\n**SciSave** is a **Python serialization/deserialization** module:\n* Specially targeted for **scientific applications**.\n* Load **JSON/YAML configuration files**. \n* Load and write **JSON/Pickle data files**.\n\nFor **YAML** files, the following **custom extensions** are used:\n* `!path` - parse relative paths (with respect to the YAML file).\n* `!include` - include other YAML files (recursion possible).\n* `!eval` - evaluate a Python literal (using literal_eval).\n* `!env` - substitute YAML strings with values from environment variables.\n* `!sub` - substitute YAML strings with values from a provided dictionary.\n* `!merge_dict` - merge a list of dicts.\n* `!merge_list` - merge a list of lists.\n\nFor **JSON** files, the following **custom extensions** are used:\n* Allows the serialization/deserialization of complex numbers (`__complex__`).\n* Allows the serialization/deserialization of NumPy arrays (`__numpy__`).\n* Allows the serialization/deserialization as/from text and gzip files \n\nThe following file extensions are used:\n* `.yaml, .yml` - for YAML files\n* `.json, .js` - for JSON text files\n* `.gz, .gzip` - for JSON gzip files\n* `.pck, .pkl, .pickle` - for Pickle files\n\nThe JSON/YAML files with the custom extensions are still valid JSON/YAML files. \nPickle is significantly faster than JSON for very large data files.\n\nSciSave is written in Python (NumPy and PyYAML are the only dependencies).\nSciSave is respecting **semantic versioning** (starting from version 1.4).\n\n## Warning\n\n* Pickling data is not secure.\n* Only load pickle files that you trust.\n\n## Example\n\nAn example is located in the `example` folder of the repository:\n* `run_data.py` contains an example file for the loader/dumper\n* `config_main.yaml` YAML configuration file with custom extensions\n* `config_include.yaml` YAML configuration file for include extension\n* `dump.json` JSON plain text file for testing data dumping/loading\n* `dump.gz` JSON plain gzip file for testing data dumping/loading\n* `dump.pickle` Pickle file for testing data dumping/loading\n\n## Project Links\n\n* Repository: https://github.com/otvam/scisave\n* Releases: https://github.com/otvam/scisave/releases\n* Tags: https://github.com/otvam/scisave/tags\n* Issues: https://github.com/otvam/scisave/issues\n* PyPi: https://pypi.org/project/scisave\n* Conda: https://anaconda.org/conda-forge/scisave\n\n## Author\n\n* **Thomas Guillod**\n* Email: guillod@otvam.ch\n* Website: https://otvam.ch\n\n## Copyright\n\n> (c) 2023 - Thomas Guillod\n> \n>  BSD 2-Clause \"Simplified\" License\n",
    "bugtrack_url": null,
    "license": "BSD-2-Clause",
    "summary": "SciSave - Serialization for Scientific Data",
    "version": "1.4.5",
    "project_urls": {
        "Homepage": "https://github.com/otvam/scisave",
        "Issues": "https://github.com/otvam/scisave/issues",
        "Releases": "https://github.com/otvam/scisave/releases",
        "Repository": "https://github.com/otvam/scisave",
        "Tags": "https://github.com/otvam/scisave/tags"
    },
    "split_keywords": [
        "python",
        " serialization",
        " deserialization",
        " json",
        " yaml",
        " pickle",
        " numpy"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "24cb12b9e16ccf00587121d1f677fc2662630308b57d7bfe4811aae6ca2ed1dd",
                "md5": "f82b97e1fc16054e2c87e70b4dfcb53e",
                "sha256": "110a604cc87be0a1de2875a59cb87941002355800dae52a9447486da8eb1c519"
            },
            "downloads": -1,
            "filename": "scisave-1.4.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f82b97e1fc16054e2c87e70b4dfcb53e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 7767,
            "upload_time": "2025-01-09T06:57:23",
            "upload_time_iso_8601": "2025-01-09T06:57:23.605825Z",
            "url": "https://files.pythonhosted.org/packages/24/cb/12b9e16ccf00587121d1f677fc2662630308b57d7bfe4811aae6ca2ed1dd/scisave-1.4.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "854d8e21cf791916411c0d81eb5f990fa9d7aea73a2d98dc4a9a5210689cb84c",
                "md5": "9bc7d6c4f17fc0b912620867564a1b46",
                "sha256": "3fad3e712892bb4b4e5e274ba783a2efd2907f54546d10b138e0f3e1d8f59634"
            },
            "downloads": -1,
            "filename": "scisave-1.4.5.tar.gz",
            "has_sig": false,
            "md5_digest": "9bc7d6c4f17fc0b912620867564a1b46",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 11972,
            "upload_time": "2025-01-09T06:57:25",
            "upload_time_iso_8601": "2025-01-09T06:57:25.741897Z",
            "url": "https://files.pythonhosted.org/packages/85/4d/8e21cf791916411c0d81eb5f990fa9d7aea73a2d98dc4a9a5210689cb84c/scisave-1.4.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-09 06:57:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "otvam",
    "github_project": "scisave",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "scisave"
}
        
Elapsed time: 0.37408s