{ "info": { "author": "Vitaly Burovoy", "author_email": "vitaly.burovoy@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries" ], "description": "Short description\n=================\n\nFunction converts recursively an object of standard (im-)mutable types into\nstrictly immutable ones.\n\n\nLong description\n================\n\nIn Python sometimes it is useful to have a \"static\" struct to be shared across\nfunctions and classes and to guarantee it can not be changed accidentally\nby some code.\n\nIn addition to standard immutable simple types (like int, str etc.), there are\ntwo complex types: `frozenset` and `tuple`. Unfortunately years ago (2012-02)\nthere was PEP-0416[1] where a `frozendict` was rejected as hard to be\nimplemented.\n\nUnlike other wrappers implementation here works similar to a `copy.deepcopy`\nfunction which immediately copies mutable objects into immutable analogues\ninstead of wrapping them at access time. Therefore if a code passes already\nimmutable object, there is almost no overhead, but the code do not need to pay\nattention whether to deepcopy of incoming (or outgoing) data or not.\n\n[1] https://www.python.org/dev/peps/pep-0416/\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/vitaly.burovoy/py-objfreeze", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "objfreeze", "package_url": "https://pypi.org/project/objfreeze/", "platform": "OS-independent", "project_url": "https://pypi.org/project/objfreeze/", "project_urls": { "Homepage": "https://gitlab.com/vitaly.burovoy/py-objfreeze" }, "release_url": "https://pypi.org/project/objfreeze/0.1.0b0/", "requires_dist": null, "requires_python": "", "summary": "Function to convert data into freezed (immutable) version", "version": "0.1.0b0" }, "last_serial": 4532617, "releases": { "0.1.0b0": [ { "comment_text": "", "digests": { "md5": "8b851ab8619f71b24ea83f0de6546191", "sha256": "2a3af08c5d8cf1f7d6813bb056d3e9da4242e38e8a1f9baf2b68dd6ce86a86a7" }, "downloads": -1, "filename": "objfreeze-0.1.0b0-py3.6.egg", "has_sig": false, "md5_digest": "8b851ab8619f71b24ea83f0de6546191", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 6345, "upload_time": "2018-11-27T05:07:07", "url": "https://files.pythonhosted.org/packages/7f/a4/d481a52fb7dd28fe9865bb8aebc301c5b11c02d59a5236a7d3e533b0462e/objfreeze-0.1.0b0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "e03782f07329b964ecb780a7961f9355", "sha256": "07849711f76613c381fe76838c4b74e6a55b398a20ab475fee51c9e430f7b78e" }, "downloads": -1, "filename": "objfreeze-0.1.0b0-py3-none-any.whl", "has_sig": false, "md5_digest": "e03782f07329b964ecb780a7961f9355", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4920, "upload_time": "2018-11-27T05:07:05", "url": "https://files.pythonhosted.org/packages/e5/70/d09502964f365aa9c6c2984a3558ad7a8fa4216299938fb37337587142b3/objfreeze-0.1.0b0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef6551e378cef9fef69aea6536c57a80", "sha256": "ec2640d7fe188bc4f8ab7757472a04a6b483a415902a950389c2766eab15e124" }, "downloads": -1, "filename": "objfreeze-0.1.0b0.tar.gz", "has_sig": false, "md5_digest": "ef6551e378cef9fef69aea6536c57a80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3778, "upload_time": "2018-11-27T05:07:08", "url": "https://files.pythonhosted.org/packages/64/75/bd8112e03b73174cb5f4b842c2bc57c07557a8fc55bc2badae1921e79169/objfreeze-0.1.0b0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8b851ab8619f71b24ea83f0de6546191", "sha256": "2a3af08c5d8cf1f7d6813bb056d3e9da4242e38e8a1f9baf2b68dd6ce86a86a7" }, "downloads": -1, "filename": "objfreeze-0.1.0b0-py3.6.egg", "has_sig": false, "md5_digest": "8b851ab8619f71b24ea83f0de6546191", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 6345, "upload_time": "2018-11-27T05:07:07", "url": "https://files.pythonhosted.org/packages/7f/a4/d481a52fb7dd28fe9865bb8aebc301c5b11c02d59a5236a7d3e533b0462e/objfreeze-0.1.0b0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "e03782f07329b964ecb780a7961f9355", "sha256": "07849711f76613c381fe76838c4b74e6a55b398a20ab475fee51c9e430f7b78e" }, "downloads": -1, "filename": "objfreeze-0.1.0b0-py3-none-any.whl", "has_sig": false, "md5_digest": "e03782f07329b964ecb780a7961f9355", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4920, "upload_time": "2018-11-27T05:07:05", "url": "https://files.pythonhosted.org/packages/e5/70/d09502964f365aa9c6c2984a3558ad7a8fa4216299938fb37337587142b3/objfreeze-0.1.0b0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef6551e378cef9fef69aea6536c57a80", "sha256": "ec2640d7fe188bc4f8ab7757472a04a6b483a415902a950389c2766eab15e124" }, "downloads": -1, "filename": "objfreeze-0.1.0b0.tar.gz", "has_sig": false, "md5_digest": "ef6551e378cef9fef69aea6536c57a80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3778, "upload_time": "2018-11-27T05:07:08", "url": "https://files.pythonhosted.org/packages/64/75/bd8112e03b73174cb5f4b842c2bc57c07557a8fc55bc2badae1921e79169/objfreeze-0.1.0b0.tar.gz" } ] }