larch-pickle


Namelarch-pickle JSON
Version 1.4.3 PyPI version JSON
download
home_pagehttps://github.com/kochelmonster/larch-pickle
SummaryA faster python pickle replacement
upload_time2024-03-22 14:45:15
maintainerNone
docs_urlNone
authorMichael Reithinger
requires_pythonNone
licenseBSD
keywords library
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            larch.pickle - A faster and secure python pickle replacement
============================================================

This module can be used as transparent replacement for pickle.

Difference to original python pickle:

    - no memo attribute.
    - no `clear_memo()`.
    - no `persistent_id` interface.
    - byte strings are always assumed to be `utf-8` encoded.
    - `Pickler` has an additional `with_refs` parameter. Setting `with_refs`
      to `false`, the pickler will ignore object references. This can result
      in an extra speed boost.


Installation
------------

larch-pickle needs the boost library for compilation. If boost is not in
the standard include path install it with: ::

  python build_ext -I /path/to/boost install


Security
--------

Version 1.4.0 introduced a secure parameter in Unpickler.
With `secure=True` the Unpickler loads only objects that, are registered
as secure. To register secure objects you can

- use the decorator `secure_unpickle`
- set the attribute `__pickle_secure__ = True`
- add a module name to `secure_modules`


Speed compared to some other pickler packages
---------------------------------------------

dump Dictionaries (10 loops)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

=============  =========  ========
Package          Seconds      Size
=============  =========  ========
larch-pickle    0.291857   9356357
marshal         0.344505  15975952
msgpack         0.368878   9810043
ujson           0.550575  13101307
json            0.815204  14365311
Pickle-3.12.2   1.16181   10276493
=============  =========  ========


load Dictionaries (10 loops)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

=============  =========
Package          Seconds
=============  =========
larch-pickle    0.719275
marshal         0.767289
msgpack         0.817542
Pickle-3.12.2   0.847736
json            0.91282
ujson           0.930489
=============  =========


dump Objects (10 loops)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

=============  =========  ========
Package          Seconds      Size
=============  =========  ========
larch-pickle    0.337152   9656364
Pickle-3.12.2   1.15342   10416542
=============  =========  ========


load Objects (10 loops)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

=============  =========
Package          Seconds
=============  =========
larch-pickle    0.794334
Pickle-3.12.2   0.820135
=============  =========


dump Strings (10 loops)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

=============  =========  ========
Package          Seconds      Size
=============  =========  ========
marshal         0.215026  32481517
msgpack         0.251937  28782143
larch-pickle    0.418834  10885236
json            0.513742  31701248
ujson           0.537478  30722275
Pickle-3.12.2   0.633869  17726498
=============  =========  ========


load Strings (10 loops)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

=============  =========
Package          Seconds
=============  =========
larch-pickle    0.206729
Pickle-3.12.2   0.253017
marshal         0.359512
msgpack         0.360152
json            0.527622
ujson           0.673696
=============  =========

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kochelmonster/larch-pickle",
    "name": "larch-pickle",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "library",
    "author": "Michael Reithinger",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/bf/93/2371f39f3ebca0bb266718cc5ef4151de20086bd163c28127e002c6ca387/larch-pickle-1.4.3.tar.gz",
    "platform": null,
    "description": "larch.pickle - A faster and secure python pickle replacement\n============================================================\n\nThis module can be used as transparent replacement for pickle.\n\nDifference to original python pickle:\n\n    - no memo attribute.\n    - no `clear_memo()`.\n    - no `persistent_id` interface.\n    - byte strings are always assumed to be `utf-8` encoded.\n    - `Pickler` has an additional `with_refs` parameter. Setting `with_refs`\n      to `false`, the pickler will ignore object references. This can result\n      in an extra speed boost.\n\n\nInstallation\n------------\n\nlarch-pickle needs the boost library for compilation. If boost is not in\nthe standard include path install it with: ::\n\n  python build_ext -I /path/to/boost install\n\n\nSecurity\n--------\n\nVersion 1.4.0 introduced a secure parameter in Unpickler.\nWith `secure=True` the Unpickler loads only objects that, are registered\nas secure. To register secure objects you can\n\n- use the decorator `secure_unpickle`\n- set the attribute `__pickle_secure__ = True`\n- add a module name to `secure_modules`\n\n\nSpeed compared to some other pickler packages\n---------------------------------------------\n\ndump Dictionaries (10 loops)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n=============  =========  ========\nPackage          Seconds      Size\n=============  =========  ========\nlarch-pickle    0.291857   9356357\nmarshal         0.344505  15975952\nmsgpack         0.368878   9810043\nujson           0.550575  13101307\njson            0.815204  14365311\nPickle-3.12.2   1.16181   10276493\n=============  =========  ========\n\n\nload Dictionaries (10 loops)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n=============  =========\nPackage          Seconds\n=============  =========\nlarch-pickle    0.719275\nmarshal         0.767289\nmsgpack         0.817542\nPickle-3.12.2   0.847736\njson            0.91282\nujson           0.930489\n=============  =========\n\n\ndump Objects (10 loops)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n=============  =========  ========\nPackage          Seconds      Size\n=============  =========  ========\nlarch-pickle    0.337152   9656364\nPickle-3.12.2   1.15342   10416542\n=============  =========  ========\n\n\nload Objects (10 loops)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n=============  =========\nPackage          Seconds\n=============  =========\nlarch-pickle    0.794334\nPickle-3.12.2   0.820135\n=============  =========\n\n\ndump Strings (10 loops)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n=============  =========  ========\nPackage          Seconds      Size\n=============  =========  ========\nmarshal         0.215026  32481517\nmsgpack         0.251937  28782143\nlarch-pickle    0.418834  10885236\njson            0.513742  31701248\nujson           0.537478  30722275\nPickle-3.12.2   0.633869  17726498\n=============  =========  ========\n\n\nload Strings (10 loops)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n=============  =========\nPackage          Seconds\n=============  =========\nlarch-pickle    0.206729\nPickle-3.12.2   0.253017\nmarshal         0.359512\nmsgpack         0.360152\njson            0.527622\nujson           0.673696\n=============  =========\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "A faster python pickle replacement",
    "version": "1.4.3",
    "project_urls": {
        "Homepage": "https://github.com/kochelmonster/larch-pickle"
    },
    "split_keywords": [
        "library"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1e64497e214981ef444528d30772d4eb7220c5f7c923b6e400723b13f7fb6506",
                "md5": "724cdde83749a7a60f0de04d38428005",
                "sha256": "d9de944a602fb8621e0ad841641924353dbf5594bfecb2c262742b3b26f2a83b"
            },
            "downloads": -1,
            "filename": "larch_pickle-1.4.3-cp310-cp310-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "724cdde83749a7a60f0de04d38428005",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 120183,
            "upload_time": "2024-03-22T14:45:06",
            "upload_time_iso_8601": "2024-03-22T14:45:06.684047Z",
            "url": "https://files.pythonhosted.org/packages/1e/64/497e214981ef444528d30772d4eb7220c5f7c923b6e400723b13f7fb6506/larch_pickle-1.4.3-cp310-cp310-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c9bd001e8dfef833966af59a6c9908c03b79c6232fed481017ef2eb8d6bb71af",
                "md5": "a6803f52202e0ed2fa941223de7ba47e",
                "sha256": "462be1dcaaaa88fef0d473d0ac8ae431f0e172778c44b080dbd68233731c3d51"
            },
            "downloads": -1,
            "filename": "larch_pickle-1.4.3-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a6803f52202e0ed2fa941223de7ba47e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 94934,
            "upload_time": "2024-03-22T14:45:08",
            "upload_time_iso_8601": "2024-03-22T14:45:08.493825Z",
            "url": "https://files.pythonhosted.org/packages/c9/bd/001e8dfef833966af59a6c9908c03b79c6232fed481017ef2eb8d6bb71af/larch_pickle-1.4.3-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fa7d9fdf2debdb7cdaf0e8bb82e24c1d3f78fa2549c39c5f8599a6721f9fa74e",
                "md5": "6245491b0097dd0661710805aa456490",
                "sha256": "01bafdb4322c3d7cf111b9df5f4cbcdbfb5ffdd6ad3eecd4a40c57fedff52d5b"
            },
            "downloads": -1,
            "filename": "larch_pickle-1.4.3-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "6245491b0097dd0661710805aa456490",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 233742,
            "upload_time": "2024-03-22T14:45:10",
            "upload_time_iso_8601": "2024-03-22T14:45:10.118035Z",
            "url": "https://files.pythonhosted.org/packages/fa/7d/9fdf2debdb7cdaf0e8bb82e24c1d3f78fa2549c39c5f8599a6721f9fa74e/larch_pickle-1.4.3-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44226dd08ce91cd0fafa14e0dd1b413972db52cf1f6bf26d05bb382010a5c8f7",
                "md5": "6c7f9efe5a2b7c059d284b66aa4efcbc",
                "sha256": "0af8866c6d2d6b7e211ea7ac7d202fe2fc8bfa15774dfec686cb1c75f9e0e2c6"
            },
            "downloads": -1,
            "filename": "larch_pickle-1.4.3-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6c7f9efe5a2b7c059d284b66aa4efcbc",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 95522,
            "upload_time": "2024-03-22T14:45:11",
            "upload_time_iso_8601": "2024-03-22T14:45:11.942560Z",
            "url": "https://files.pythonhosted.org/packages/44/22/6dd08ce91cd0fafa14e0dd1b413972db52cf1f6bf26d05bb382010a5c8f7/larch_pickle-1.4.3-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d3844741279b6d01cadcdc40cf242e325ecaa600e8c42635d26533f053a412b4",
                "md5": "124cc70024e32f08a10f86874a8b62c4",
                "sha256": "43aa630e586c564605325effe87fd3f38692b71cf3f960efe48c2df4f7967a06"
            },
            "downloads": -1,
            "filename": "larch_pickle-1.4.3-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "124cc70024e32f08a10f86874a8b62c4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 228662,
            "upload_time": "2024-03-22T14:45:13",
            "upload_time_iso_8601": "2024-03-22T14:45:13.490508Z",
            "url": "https://files.pythonhosted.org/packages/d3/84/4741279b6d01cadcdc40cf242e325ecaa600e8c42635d26533f053a412b4/larch_pickle-1.4.3-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4b9d81f6c01b6906223a7ffc769a878539fa10a6e6d757b6d66f27b78d2a8bc0",
                "md5": "b7a1035c3bd2a25754e0c64347bf5ab3",
                "sha256": "18c74fde0bdd0382598745633b6a230a28707bbd382e695fae1518324d926b8a"
            },
            "downloads": -1,
            "filename": "larch_pickle-1.4.3-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b7a1035c3bd2a25754e0c64347bf5ab3",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 94581,
            "upload_time": "2024-03-22T14:45:14",
            "upload_time_iso_8601": "2024-03-22T14:45:14.719484Z",
            "url": "https://files.pythonhosted.org/packages/4b/9d/81f6c01b6906223a7ffc769a878539fa10a6e6d757b6d66f27b78d2a8bc0/larch_pickle-1.4.3-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf932371f39f3ebca0bb266718cc5ef4151de20086bd163c28127e002c6ca387",
                "md5": "b9793bf8444e157c54303b023f4a98ba",
                "sha256": "560575f0061bf4e598adfc10f2b84b0ae3b61f8c27734fdd62775a5659c3a611"
            },
            "downloads": -1,
            "filename": "larch-pickle-1.4.3.tar.gz",
            "has_sig": false,
            "md5_digest": "b9793bf8444e157c54303b023f4a98ba",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 4062621,
            "upload_time": "2024-03-22T14:45:15",
            "upload_time_iso_8601": "2024-03-22T14:45:15.819967Z",
            "url": "https://files.pythonhosted.org/packages/bf/93/2371f39f3ebca0bb266718cc5ef4151de20086bd163c28127e002c6ca387/larch-pickle-1.4.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-22 14:45:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kochelmonster",
    "github_project": "larch-pickle",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "larch-pickle"
}
        
Elapsed time: 0.60337s