{ "info": { "author": "Tres Seaver and contributors", "author_email": "tseaver@palladion.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Zope", "Framework :: Zope2", "Framework :: Zope :: 2", "Framework :: Zope :: 4", "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Internet :: WWW/HTTP :: Session" ], "description": ".. image:: https://api.travis-ci.org/dataflake/Products.mcdutils.svg?branch=master\n :target: https://travis-ci.org/dataflake/Products.mcdutils\n\n.. image:: https://readthedocs.org/projects/mcdutils/badge/?version=latest\n :target: https://mcdutils.readthedocs.io\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/pypi/v/Products.mcdutils.svg\n :target: https://pypi.python.org/pypi/Products.mcdutils\n :alt: PyPI\n\n.. image:: https://img.shields.io/pypi/pyversions/Products.mcdutils.svg\n :target: https://pypi.python.org/pypi/Products.mcdutils\n :alt: Python versions\n\n===================\n Products.mcdutils\n===================\nThe `Products.mcdutils` product supplies a replacement for the ZODB-based\nsession data container supplied by the `Transience` product, shipped with\nthe Zope core prior to Zope 4 and available as a separate package after that.\nRather than using a ZODB storage as the backing store for session data, as\n`Transience` does, `Products.mcdutils` stores session data in a cluster of\none or more `memcached` servers.\n\nThis approach is a bit of a cheat, as it uses the daemons as primary stores,\nrather than as caches for results of an expensive query. Nevertheless, the\nsemantics are not a bad match for typical session usage.\n\n\nDocumentation\n=============\nDocumentation is available at\nhttps://mcdutils.readthedocs.io/\n\n\nBug tracker\n===========\nA bug tracker is available at\nhttps://github.com/dataflake/Products.mcdutils/issues\n\nAttribution\n===========\nThanks go to...\n\n- Tres Seaver for implementing this product back in 2006\n- Christian Theune for making it available as egg on PyPI in 2011\n- Jens Vagelpohl for preparing it for Zope 4 and Python 3\n\n\nChange log\n==========\n\n2.3 (2019-10-13)\n----------------\n- rely on the Zope 4.x branch for Python 2 compatibility\n\n- update description to replace Zope2 wording with just Zope\n\n- reorganize source folder structure and drop the ``src`` folder\n\n\n2.2 (2019-05-21)\n----------------\n- add an implementation for ``has_key`` which is gone under Python 3\n\n\n2.1 (2019-03-31)\n----------------\n- fix wrong method call during cache manager record invalidation\n (`#1 `_)\n\n\n2.0 (2019-03-28)\n----------------\n- make sure ``zcache.aggregateKey`` does not create unsuitable MemCache keys\n\n- allow storing values that don't conform to ``IMemCacheMapping``\n\n- add ability to set a title for a MemCacheZCacheManager\n\n- Python 3 compatibility\n\n- switch to the ``python-memcached`` library and remove the old ``memcache``\n library module inside this package, which is actually a really old version\n of ``python-memcached``.\n\nPossible breaking change\n~~~~~~~~~~~~~~~~~~~~~~~~\nThe objects returned by Zope's session data manager are implicitly expected\nto support Acquisition. Zope's session data manager uses it to insert itself\ninto the object's acquisition chain. However, under Python 3 Acquisition can\nno longer be supported by the session data objects due to a metaclass conflict\nbetween the classes ``permisstence.mapping.PersistentMapping`` and\n``Acquisition.Explicit``. This may break expectations for code consuming the\nsession data objects from this package.\n\n\n1.0 (2019-03-28)\n----------------\n- Zope 4 compatibility\n\n- documentation using Sphinx\n\n- ``tox`` configuration for unit, coverage and code quality tests\n\n- package configuration cleanup\n\n- full ``flake8`` compliance\n\n- add ability to set a title for a MemcacheProxy\n\n- add ability to set a title for a MemcacheSessionDataContainer\n\n\n0.2b3 (2011-11-21)\n------------------\n- Extend MANIFEST.in to include other missing files (.gif, .pt, .txt)\n\n\n0.2b2 (2011-11-21)\n------------------\n- Fix source distribution by including README.txt and CHANGES.txt via\n manifest.\n\n- Include test runner in buildout and fix broken tests.\n\n\n0.2b1 (2011-11-19)\n------------------\n- Turn product into an egg and release on PyPI.\n\n- Implement a forced refresh of the in-process cache of memcache data at the\n end of transactions to avoid stale data.\n\n- mapping.py: Added 'getContainerKey' method to 'MemCacheMapping' in\n order to make it compatible with the API of the TemporaryFolder version\n (allows the session testing rig code can generate error messages).\n\n- Added (preliminary) RAMCacheManager replacement.\n\n- Removed proxy's 'create' method, to allow other multiple of data to be\n stored. The session data container now handles instantiating the\n mapping.\n\n- Fixed the pickling of mappings *correctly*, instead of requiring that\n the proxy pick out the 'data' member.\n\n- Expanded API for IProxy to expose more of the memcached client API.\n\n\n0.1 (2006-05-31)\n----------------\n- CVS tag, 'mcdutils-0_1'\n\n- Initial public release.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://mcdutils.readthedocs.io", "keywords": "session memcache memcached Products", "license": "ZPL 2.1", "maintainer": "Jens Vagelpohl", "maintainer_email": "jens@netz.ooo", "name": "Products.mcdutils", "package_url": "https://pypi.org/project/Products.mcdutils/", "platform": "", "project_url": "https://pypi.org/project/Products.mcdutils/", "project_urls": { "Documentation": "https://mcdutils.readthedocs.io", "Homepage": "https://mcdutils.readthedocs.io", "Issue Tracker": "https://github.com/dataflake/Products.mcdutils/issues", "Sources": "https://github.com/dataflake/Products.mcdutils" }, "release_url": "https://pypi.org/project/Products.mcdutils/2.3/", "requires_dist": [ "setuptools", "six", "python-memcached", "Zope2", "repoze.sphinx.autointerface ; extra == 'docs'", "Sphinx ; extra == 'docs'" ], "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "summary": "A Zope product with memcached-backed ZCache and Zope session implementations.", "version": "2.3" }, "last_serial": 5968260, "releases": { "0.2b1": [ { "comment_text": "", "digests": { "md5": "7107509b6a59ff4a9a8a22b4058ea0bb", "sha256": "d1d58ff1395d79f5f0b8ea6b8719149beb22f47099c4a97c15909f6c3727d379" }, "downloads": -1, "filename": "Products.mcdutils-0.2b1.tar.gz", "has_sig": false, "md5_digest": "7107509b6a59ff4a9a8a22b4058ea0bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16296, "upload_time": "2011-11-19T07:54:22", "url": "https://files.pythonhosted.org/packages/55/44/84179e3c1b19d0f16555567316e1dd8573ca9e88dbcbaaf9d1aafe18fff1/Products.mcdutils-0.2b1.tar.gz" } ], "0.2b2": [ { "comment_text": "", "digests": { "md5": "2bcd41b8e14937d7cbfd2c1f5b4ee36c", "sha256": "55a4d8ff96329a64e91ea2195e406ba5335c921e9840234b55f628792aff2d10" }, "downloads": -1, "filename": "Products.mcdutils-0.2b2.tar.gz", "has_sig": false, "md5_digest": "2bcd41b8e14937d7cbfd2c1f5b4ee36c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16604, "upload_time": "2011-11-21T10:34:14", "url": "https://files.pythonhosted.org/packages/a8/9f/fd14863228842020a40a05cab926607cb2a0dc5a75819af7f42fbc7bc3b3/Products.mcdutils-0.2b2.tar.gz" } ], "0.2b3": [ { "comment_text": "", "digests": { "md5": "5d0206e22d1599a071739faae3714e78", "sha256": "ba861a39131f4b3196661cea97b5a9d09e36c11f52f84decbbecb8dc469e3abd" }, "downloads": -1, "filename": "Products.mcdutils-0.2b3.tar.gz", "has_sig": false, "md5_digest": "5d0206e22d1599a071739faae3714e78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18269, "upload_time": "2011-11-21T14:54:20", "url": "https://files.pythonhosted.org/packages/d8/66/e3135e9b1258e9584e047f44dbe2b0cfa7f023078121835c117ee702cfe4/Products.mcdutils-0.2b3.tar.gz" } ], "0.2dev": [], "1.0": [ { "comment_text": "", "digests": { "md5": "a40cf8b98a6a274da3486d8c7951a0a7", "sha256": "14f5c12d029ce5703544b409b15cdf85350251f98429b3e13376e4b21d81759e" }, "downloads": -1, "filename": "Products.mcdutils-1.0-py3-none-any.whl", "has_sig": true, "md5_digest": "a40cf8b98a6a274da3486d8c7951a0a7", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 27223, "upload_time": "2019-03-28T15:30:53", "url": "https://files.pythonhosted.org/packages/c4/eb/3f537e9aea50abea1b732aae7410af8b2ebfc00e96f816c504a0682ee15b/Products.mcdutils-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2fdc38ab6d107b7fed071c4b9f10059f", "sha256": "23804c637db16d3c43b84e457ca20b031475dee5b741edfdfff90665eed4b1b9" }, "downloads": -1, "filename": "Products.mcdutils-1.0.tar.gz", "has_sig": true, "md5_digest": "2fdc38ab6d107b7fed071c4b9f10059f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1250892, "upload_time": "2019-03-28T15:30:47", "url": "https://files.pythonhosted.org/packages/31/d9/33586b3b13c55f75c9ceab9ad1a51a2b45eab5090ccb4b008f5d4f8b6540/Products.mcdutils-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "7c8f746ebd402bf8276525edf4d1166e", "sha256": "1239e75720d1a4cd542ce38800736607827cde3fe2142079af2c6eca39cc42c5" }, "downloads": -1, "filename": "Products.mcdutils-1.1-py3-none-any.whl", "has_sig": true, "md5_digest": "7c8f746ebd402bf8276525edf4d1166e", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 28461, "upload_time": "2019-03-28T20:50:38", "url": "https://files.pythonhosted.org/packages/a3/45/583f2ea4a23a77f6932cfeb301368f1e226f592f8cd6eae8b4b7203a702e/Products.mcdutils-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d74bf90be2c508422250a7d2019fe9bd", "sha256": "f53d4a861c4bd882540665e631fbb288d00778efe7e76f80dca215f746d6ac43" }, "downloads": -1, "filename": "Products.mcdutils-1.1.tar.gz", "has_sig": true, "md5_digest": "d74bf90be2c508422250a7d2019fe9bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1251757, "upload_time": "2019-03-28T20:50:33", "url": "https://files.pythonhosted.org/packages/06/b7/04eb05458b16849edde56dac7c67ea98ff5c4825ba3074664cc8965bad68/Products.mcdutils-1.1.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "ab9f9d0044e857fa1d09b051e8b02dcb", "sha256": "ceebbaffeb0b3b04fa73433f765a1dfb63deb696bd41623a793fadff90a76d43" }, "downloads": -1, "filename": "Products.mcdutils-2.0-py3-none-any.whl", "has_sig": true, "md5_digest": "ab9f9d0044e857fa1d09b051e8b02dcb", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 29367, "upload_time": "2019-03-28T21:12:17", "url": "https://files.pythonhosted.org/packages/91/3d/11be475616726c6a5c91a36b2606d638acdc88dfd88d84a1f28f39ca96bf/Products.mcdutils-2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a265341bd37f030d5fd0213709df97c", "sha256": "5b83fe71d34458deab669cbe90307d86718d69f77a394b2728f8532d3850313d" }, "downloads": -1, "filename": "Products.mcdutils-2.0.tar.gz", "has_sig": true, "md5_digest": "9a265341bd37f030d5fd0213709df97c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1247761, "upload_time": "2019-03-28T21:12:11", "url": "https://files.pythonhosted.org/packages/41/25/37f17fd2ed3f33165414f29db9b2e8258f1f75cfeb5ab84ae704fd210e3b/Products.mcdutils-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "770176ad26b00721f26354d75b92db7f", "sha256": "ba1886078f90fca2ab489e74a97f91121f0edb38c8de2c9abd414a0d73d2a328" }, "downloads": -1, "filename": "Products.mcdutils-2.1-py3-none-any.whl", "has_sig": true, "md5_digest": "770176ad26b00721f26354d75b92db7f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 29496, "upload_time": "2019-04-01T02:04:40", "url": "https://files.pythonhosted.org/packages/01/db/74736d14559c23f36523cc139b0f7329960d22d30a6b9cd22afb83b440a2/Products.mcdutils-2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc92e266e518f5e4a823109862d7300c", "sha256": "61e019f0df074e429edd4f6ff84b151e4f7b35532785d40081b4cc739258b185" }, "downloads": -1, "filename": "Products.mcdutils-2.1.tar.gz", "has_sig": true, "md5_digest": "fc92e266e518f5e4a823109862d7300c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 1248143, "upload_time": "2019-04-01T02:04:52", "url": "https://files.pythonhosted.org/packages/a8/24/b4663d3ecbe4807c893bb72e22f8aef0b2336fd1fcb15747689e47d54c50/Products.mcdutils-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "ea09abe9281ce1d4671cbdf203fcb304", "sha256": "6919f25d087786ed5937295525f6139b1ecde250bbe249632e2ea69d46aabf0c" }, "downloads": -1, "filename": "Products.mcdutils-2.2-py3-none-any.whl", "has_sig": true, "md5_digest": "ea09abe9281ce1d4671cbdf203fcb304", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 29664, "upload_time": "2019-05-21T21:03:00", "url": "https://files.pythonhosted.org/packages/80/09/41f1a143893b06c1bdd90d7bc16f4a39388178ab6e3e3df2dbe7e85cec98/Products.mcdutils-2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95ff7c974263dd3b7930014643042f49", "sha256": "0d3287ed9a063cdd7d8fd4c8d6609d94d00062c2c2e6454cf519742389e13f39" }, "downloads": -1, "filename": "Products.mcdutils-2.2.tar.gz", "has_sig": true, "md5_digest": "95ff7c974263dd3b7930014643042f49", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 1248326, "upload_time": "2019-05-21T21:03:05", "url": "https://files.pythonhosted.org/packages/87/e4/daf45ff7beafec705883adf94be3f12127af8dccc5a03b1da1705f5758bc/Products.mcdutils-2.2.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "be567223e7f193b9cafa624ac190725c", "sha256": "776fe8c0f077854bc77f7262a552fd1790a8271b0cd230d2cec9e043229c305d" }, "downloads": -1, "filename": "Products.mcdutils-2.3-py3-none-any.whl", "has_sig": true, "md5_digest": "be567223e7f193b9cafa624ac190725c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 29718, "upload_time": "2019-10-13T18:18:09", "url": "https://files.pythonhosted.org/packages/3a/78/2788bda58e8676b9c9fb9e043486ed97f8fe705c5160491d17e5a1b56fea/Products.mcdutils-2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c2254b8e548b71bff32c92510edf474", "sha256": "866f2b6175ba84ca7b85f1131691444f28e1c122ecdc89713d034141c476a137" }, "downloads": -1, "filename": "Products.mcdutils-2.3.tar.gz", "has_sig": true, "md5_digest": "7c2254b8e548b71bff32c92510edf474", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 1247747, "upload_time": "2019-10-13T18:18:51", "url": "https://files.pythonhosted.org/packages/a4/96/b83954821b4d0b0e079ee1f19b08b5c62796d7a00194aa9872ab274f2d4d/Products.mcdutils-2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "be567223e7f193b9cafa624ac190725c", "sha256": "776fe8c0f077854bc77f7262a552fd1790a8271b0cd230d2cec9e043229c305d" }, "downloads": -1, "filename": "Products.mcdutils-2.3-py3-none-any.whl", "has_sig": true, "md5_digest": "be567223e7f193b9cafa624ac190725c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 29718, "upload_time": "2019-10-13T18:18:09", "url": "https://files.pythonhosted.org/packages/3a/78/2788bda58e8676b9c9fb9e043486ed97f8fe705c5160491d17e5a1b56fea/Products.mcdutils-2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c2254b8e548b71bff32c92510edf474", "sha256": "866f2b6175ba84ca7b85f1131691444f28e1c122ecdc89713d034141c476a137" }, "downloads": -1, "filename": "Products.mcdutils-2.3.tar.gz", "has_sig": true, "md5_digest": "7c2254b8e548b71bff32c92510edf474", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 1247747, "upload_time": "2019-10-13T18:18:51", "url": "https://files.pythonhosted.org/packages/a4/96/b83954821b4d0b0e079ee1f19b08b5c62796d7a00194aa9872ab274f2d4d/Products.mcdutils-2.3.tar.gz" } ] }