{ "info": { "author": "Tres Seaver and contributors", "author_email": "tseaver@palladion.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 6 - Mature", "Environment :: Web Environment", "Framework :: Zope", "Framework :: Zope :: 4", "Framework :: Zope :: 5", "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", "Programming Language :: Python :: 3.9", "Topic :: Internet :: WWW/HTTP :: Session" ], "description": ".. image:: https://github.com/dataflake/Products.mcdutils/actions/workflows/tests.yml/badge.svg\n :target: https://github.com/dataflake/Products.mcdutils/actions/workflows/tests.yml\n\n.. image:: https://coveralls.io/repos/github/dataflake/Products.mcdutils/badge.svg\n :target: https://coveralls.io/github/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: Current version on PyPI\n\n.. image:: https://img.shields.io/pypi/pyversions/Products.mcdutils.svg\n :target: https://pypi.python.org/pypi/Products.mcdutils\n :alt: Supported 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\n3.2 (2021-09-03)\n----------------\n- reorganized package to use current zopefoundation standards\n\n- claim compatibility with Python 3.9 and Zope 5\n\n- fixed type error on adding session items via ZMI test page\n\n\n3.1 (2021-01-01)\n----------------\n- revised ZMI 'Test Adding Items to Session'\n\n\n3.0 (2020-08-07)\n----------------\n- packaging cleanup and test fixing due to shifting dependencies\n\n- drop Zope 2 compatibility claims and tests\n\n\n2.5 (2019-11-13)\n----------------\n- implement transaction savepoint support\n (`#3 `_)\n\n\n2.4 (2019-10-23)\n----------------\n- attempt to hide session values that may contain passwords in ``__repr__``\n which is used when rendering the ``REQUEST`` object as string.\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@plyp.com", "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/3.2/", "requires_dist": [ "setuptools", "six", "python-memcached", "Zope (>4)", "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": "3.2", "yanked": false, "yanked_reason": null }, "last_serial": 11356452, "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", "upload_time_iso_8601": "2011-11-19T07:54:22.497231Z", "url": "https://files.pythonhosted.org/packages/55/44/84179e3c1b19d0f16555567316e1dd8573ca9e88dbcbaaf9d1aafe18fff1/Products.mcdutils-0.2b1.tar.gz", "yanked": false, "yanked_reason": null } ], "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", "upload_time_iso_8601": "2011-11-21T10:34:14.079806Z", "url": "https://files.pythonhosted.org/packages/a8/9f/fd14863228842020a40a05cab926607cb2a0dc5a75819af7f42fbc7bc3b3/Products.mcdutils-0.2b2.tar.gz", "yanked": false, "yanked_reason": null } ], "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", "upload_time_iso_8601": "2011-11-21T14:54:20.363391Z", "url": "https://files.pythonhosted.org/packages/d8/66/e3135e9b1258e9584e047f44dbe2b0cfa7f023078121835c117ee702cfe4/Products.mcdutils-0.2b3.tar.gz", "yanked": false, "yanked_reason": null } ], "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", "upload_time_iso_8601": "2019-03-28T15:30:53.166037Z", "url": "https://files.pythonhosted.org/packages/c4/eb/3f537e9aea50abea1b732aae7410af8b2ebfc00e96f816c504a0682ee15b/Products.mcdutils-1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "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", "upload_time_iso_8601": "2019-03-28T15:30:47.151074Z", "url": "https://files.pythonhosted.org/packages/31/d9/33586b3b13c55f75c9ceab9ad1a51a2b45eab5090ccb4b008f5d4f8b6540/Products.mcdutils-1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "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", "upload_time_iso_8601": "2019-03-28T20:50:38.527900Z", "url": "https://files.pythonhosted.org/packages/a3/45/583f2ea4a23a77f6932cfeb301368f1e226f592f8cd6eae8b4b7203a702e/Products.mcdutils-1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "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", "upload_time_iso_8601": "2019-03-28T20:50:33.016149Z", "url": "https://files.pythonhosted.org/packages/06/b7/04eb05458b16849edde56dac7c67ea98ff5c4825ba3074664cc8965bad68/Products.mcdutils-1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "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", "upload_time_iso_8601": "2019-03-28T21:12:17.606077Z", "url": "https://files.pythonhosted.org/packages/91/3d/11be475616726c6a5c91a36b2606d638acdc88dfd88d84a1f28f39ca96bf/Products.mcdutils-2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "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", "upload_time_iso_8601": "2019-03-28T21:12:11.918866Z", "url": "https://files.pythonhosted.org/packages/41/25/37f17fd2ed3f33165414f29db9b2e8258f1f75cfeb5ab84ae704fd210e3b/Products.mcdutils-2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "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", "upload_time_iso_8601": "2019-04-01T02:04:40.561748Z", "url": "https://files.pythonhosted.org/packages/01/db/74736d14559c23f36523cc139b0f7329960d22d30a6b9cd22afb83b440a2/Products.mcdutils-2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "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", "upload_time_iso_8601": "2019-04-01T02:04:52.374359Z", "url": "https://files.pythonhosted.org/packages/a8/24/b4663d3ecbe4807c893bb72e22f8aef0b2336fd1fcb15747689e47d54c50/Products.mcdutils-2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "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", "upload_time_iso_8601": "2019-05-21T21:03:00.018469Z", "url": "https://files.pythonhosted.org/packages/80/09/41f1a143893b06c1bdd90d7bc16f4a39388178ab6e3e3df2dbe7e85cec98/Products.mcdutils-2.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "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", "upload_time_iso_8601": "2019-05-21T21:03:05.827854Z", "url": "https://files.pythonhosted.org/packages/87/e4/daf45ff7beafec705883adf94be3f12127af8dccc5a03b1da1705f5758bc/Products.mcdutils-2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "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", "upload_time_iso_8601": "2019-10-13T18:18:09.059995Z", "url": "https://files.pythonhosted.org/packages/3a/78/2788bda58e8676b9c9fb9e043486ed97f8fe705c5160491d17e5a1b56fea/Products.mcdutils-2.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "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", "upload_time_iso_8601": "2019-10-13T18:18:51.319228Z", "url": "https://files.pythonhosted.org/packages/a4/96/b83954821b4d0b0e079ee1f19b08b5c62796d7a00194aa9872ab274f2d4d/Products.mcdutils-2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.4": [ { "comment_text": "", "digests": { "md5": "d932c9f719bc3719a4e77f2b46964305", "sha256": "cf99a6e95e8760304cfd79984490eccaf810ac27afdadf56af19fd5dc53bb434" }, "downloads": -1, "filename": "Products.mcdutils-2.4-py3-none-any.whl", "has_sig": true, "md5_digest": "d932c9f719bc3719a4e77f2b46964305", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 30077, "upload_time": "2019-10-23T15:15:08", "upload_time_iso_8601": "2019-10-23T15:15:08.230994Z", "url": "https://files.pythonhosted.org/packages/1b/c9/57bfcdb332b00e8c7dd8373b3c3ae96e0dc2e8690aa18a2a66fd99d706b4/Products.mcdutils-2.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5555156a7316d278e23be2d9b4e7b969", "sha256": "20197519592c014c48100f20f6f3b526ba967b50c7991cef11a6c764f48901eb" }, "downloads": -1, "filename": "Products.mcdutils-2.4.tar.gz", "has_sig": true, "md5_digest": "5555156a7316d278e23be2d9b4e7b969", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 1247638, "upload_time": "2019-10-23T15:15:14", "upload_time_iso_8601": "2019-10-23T15:15:14.349826Z", "url": "https://files.pythonhosted.org/packages/2d/03/c194c71d64aec07adcbfb7ef786f4c477ffedd1ac091f04737124a06b90d/Products.mcdutils-2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.5": [ { "comment_text": "", "digests": { "md5": "f5d0b729c7e8a621d23e5ec451ad9f11", "sha256": "4ceb167adfa1155d56916db4692bd3616824fec1fa646fb0a2a87ee50e2f3373" }, "downloads": -1, "filename": "Products.mcdutils-2.5-py3-none-any.whl", "has_sig": true, "md5_digest": "f5d0b729c7e8a621d23e5ec451ad9f11", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 30433, "upload_time": "2019-11-13T15:11:39", "upload_time_iso_8601": "2019-11-13T15:11:39.293004Z", "url": "https://files.pythonhosted.org/packages/33/3e/e2d7be1637a8103c8ca6d761f5025cc93f71e961887519d5ac49e93b8ff0/Products.mcdutils-2.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4a144a5ed534ee7f4c5d6af72fc31838", "sha256": "6c18e44b3025a3cf433a1e2e9cb19e70baaf21f3068fa1ae56870576b2722c7e" }, "downloads": -1, "filename": "Products.mcdutils-2.5.tar.gz", "has_sig": true, "md5_digest": "4a144a5ed534ee7f4c5d6af72fc31838", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 1247967, "upload_time": "2019-11-13T15:11:48", "upload_time_iso_8601": "2019-11-13T15:11:48.046220Z", "url": "https://files.pythonhosted.org/packages/93/11/c9d81d7b189e1a0eaef39ce71de54fd5bb1ee1befc50690b421d19c67ba8/Products.mcdutils-2.5.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0": [ { "comment_text": "", "digests": { "md5": "9c006ceec84921a8da04db2b52bf954d", "sha256": "46645dcb0404d9fad89b74a1bbbe14eeab1b4f0c709c73dd3fecf303aa4832cd" }, "downloads": -1, "filename": "Products.mcdutils-3.0-py3-none-any.whl", "has_sig": true, "md5_digest": "9c006ceec84921a8da04db2b52bf954d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 30476, "upload_time": "2020-08-07T08:19:12", "upload_time_iso_8601": "2020-08-07T08:19:12.705769Z", "url": "https://files.pythonhosted.org/packages/22/b0/65f046deae404b2d6044244c225ae50ff9c6c3a29061dc2fb562e0d57856/Products.mcdutils-3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0b337d356f8fba4f56037156912bcd51", "sha256": "18eef059491a2c3e883db4b50000d13dbe571f8c604ce7dc881b838279878b90" }, "downloads": -1, "filename": "Products.mcdutils-3.0.tar.gz", "has_sig": true, "md5_digest": "0b337d356f8fba4f56037156912bcd51", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 2476657, "upload_time": "2020-08-07T08:19:18", "upload_time_iso_8601": "2020-08-07T08:19:18.715047Z", "url": "https://files.pythonhosted.org/packages/a6/30/38019671a13337a0dce24ec460e3abd5c0672062d8fe3892e56a81f3dbdf/Products.mcdutils-3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.1": [ { "comment_text": "", "digests": { "md5": "2fe83d4d38b83d51d28d1b924a72be92", "sha256": "1fb7ba589e33ceb3d144ba491e37ed5d9c368a863a9620632f6c0b561fde229c" }, "downloads": -1, "filename": "Products.mcdutils-3.1-py3-none-any.whl", "has_sig": true, "md5_digest": "2fe83d4d38b83d51d28d1b924a72be92", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 25127, "upload_time": "2021-01-01T11:48:36", "upload_time_iso_8601": "2021-01-01T11:48:36.704750Z", "url": "https://files.pythonhosted.org/packages/44/92/0e7f5889d3907ab52cbe88df7e17a66bdf8b5803d475674ae5e2f2be066f/Products.mcdutils-3.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ff604c7a05ccac942840386bb21ff8e3", "sha256": "7270a78d7b61aff0976a9ebf1224631d42e0bf3a6414bc8cdfb5d00bef77f0b8" }, "downloads": -1, "filename": "Products.mcdutils-3.1.tar.gz", "has_sig": true, "md5_digest": "ff604c7a05ccac942840386bb21ff8e3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 2476870, "upload_time": "2021-01-01T11:48:46", "upload_time_iso_8601": "2021-01-01T11:48:46.231122Z", "url": "https://files.pythonhosted.org/packages/f2/b2/63c94503d747959960a56084eac4caf4519461e0b9441b3f5c3f166da70f/Products.mcdutils-3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "3.2": [ { "comment_text": "", "digests": { "md5": "54113f39eca83a105da982fbba18df4a", "sha256": "200be15776e14b6b9d59f4b5721ff2b0776ee13bb12878410d73b08449a87f9c" }, "downloads": -1, "filename": "Products.mcdutils-3.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "54113f39eca83a105da982fbba18df4a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 25360, "upload_time": "2021-09-03T09:50:09", "upload_time_iso_8601": "2021-09-03T09:50:09.280693Z", "url": "https://files.pythonhosted.org/packages/eb/20/367249b38149ab774575ba277b2e4b695aac31f0fc2b44af8d9515ae123f/Products.mcdutils-3.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "33febc41bae6ee75dbac03668b628ffe", "sha256": "e22a1cf2759696012e12a27ad447ae2fb5f3aef96c30933c19be84240a3bd9f9" }, "downloads": -1, "filename": "Products.mcdutils-3.2.tar.gz", "has_sig": true, "md5_digest": "33febc41bae6ee75dbac03668b628ffe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 2474679, "upload_time": "2021-09-03T09:50:19", "upload_time_iso_8601": "2021-09-03T09:50:19.270787Z", "url": "https://files.pythonhosted.org/packages/53/06/8b896adb46ff116c311c625aa34609b40f126b8cf0de1f227fe2c3383ea6/Products.mcdutils-3.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "54113f39eca83a105da982fbba18df4a", "sha256": "200be15776e14b6b9d59f4b5721ff2b0776ee13bb12878410d73b08449a87f9c" }, "downloads": -1, "filename": "Products.mcdutils-3.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "54113f39eca83a105da982fbba18df4a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 25360, "upload_time": "2021-09-03T09:50:09", "upload_time_iso_8601": "2021-09-03T09:50:09.280693Z", "url": "https://files.pythonhosted.org/packages/eb/20/367249b38149ab774575ba277b2e4b695aac31f0fc2b44af8d9515ae123f/Products.mcdutils-3.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "33febc41bae6ee75dbac03668b628ffe", "sha256": "e22a1cf2759696012e12a27ad447ae2fb5f3aef96c30933c19be84240a3bd9f9" }, "downloads": -1, "filename": "Products.mcdutils-3.2.tar.gz", "has_sig": true, "md5_digest": "33febc41bae6ee75dbac03668b628ffe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*", "size": 2474679, "upload_time": "2021-09-03T09:50:19", "upload_time_iso_8601": "2021-09-03T09:50:19.270787Z", "url": "https://files.pythonhosted.org/packages/53/06/8b896adb46ff116c311c625aa34609b40f126b8cf0de1f227fe2c3383ea6/Products.mcdutils-3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }