scisave


Namescisave JSON
Version 1.4.2 PyPI version JSON
download
home_pageNone
SummarySciSave - Data Serialization for Scientific Data
upload_time2024-12-19 21:38:11
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 - Data 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.

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/43/6a/2124bd3474173965cca61ba8b9905f69b4349ff01133cc8049bc82f85bad/scisave-1.4.2.tar.gz",
    "platform": null,
    "description": "# SciSave - Data 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.\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 - Data Serialization for Scientific Data",
    "version": "1.4.2",
    "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": "c4dd4ad909118b8f87ed445a859ea3f90c9e2fce62a358bde61213e47cc642e9",
                "md5": "c787369fc54d210540ec71aaa97f76af",
                "sha256": "f774f298622bd2277dc2d0e3b1fafecaed3d019e66bc923244276b34e5fb5640"
            },
            "downloads": -1,
            "filename": "scisave-1.4.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c787369fc54d210540ec71aaa97f76af",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 7617,
            "upload_time": "2024-12-19T21:38:09",
            "upload_time_iso_8601": "2024-12-19T21:38:09.339440Z",
            "url": "https://files.pythonhosted.org/packages/c4/dd/4ad909118b8f87ed445a859ea3f90c9e2fce62a358bde61213e47cc642e9/scisave-1.4.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "436a2124bd3474173965cca61ba8b9905f69b4349ff01133cc8049bc82f85bad",
                "md5": "cfaeb03130352977f6c03a63c6bbc641",
                "sha256": "b74b1de17efa7005ceef97beb2b6b26564bcd3947e6772c7eec693ff4e44b0e0"
            },
            "downloads": -1,
            "filename": "scisave-1.4.2.tar.gz",
            "has_sig": false,
            "md5_digest": "cfaeb03130352977f6c03a63c6bbc641",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 11811,
            "upload_time": "2024-12-19T21:38:11",
            "upload_time_iso_8601": "2024-12-19T21:38:11.610812Z",
            "url": "https://files.pythonhosted.org/packages/43/6a/2124bd3474173965cca61ba8b9905f69b4349ff01133cc8049bc82f85bad/scisave-1.4.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-19 21:38:11",
    "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: 2.01284s