ExtensionClass


NameExtensionClass JSON
Version 5.0 PyPI version JSON
download
home_pagehttps://github.com/zopefoundation/ExtensionClass
SummaryMetaclass for subclassable extension types
upload_time2023-01-19 07:09:28
maintainer
docs_urlNone
authorZope Foundation and Contributors
requires_python>=3.7
licenseZPL 2.1
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            ====================================================
 ExtensionClass and ExtensionClass-related packages
====================================================

ExtensionClass
==============

This package provides a metaclass that allows classes implemented in
extension modules to be subclassed in Python.  Unless you need
ExtensionClasses for legacy applications (e.g. Zope), you probably
want to use Python's new-style classes (available since Python 2.2).

ComputedAttribute
=================

This package provides a way to attach attributes to an
``ExtensionClass`` or instance that are computed by calling a
callable.  This works very much like ``property`` known from new-style
classes, except that a ``ComputedAttribute`` can also be attached to
an instance and that it honours ExtensionClass semantics (which is
useful for retaining Acquisition wrappers, for example).

MethodObject
============

This package lets you attach additional "methods" to ExtensionClasses.
These "methods" are actually implemented by subclassing the
``MethodObject.Method`` class and implementing the ``__call__`` method
there.  Instances of those classes will be bound to the instances
they're attached to and will receive that instance object as a first
parameter (after ``self``).


===========
 Changelog
===========

5.0 (2023-01-19)
================

- Drop support for Python 2.7, 3.5, 3.6.

- Fix deprecation warning in tests.


4.9 (2022-11-17)
================

- Add support for building arm64 wheels on macOS.


4.8 (2022-11-03)
================

- Update Python 3.11 support to the final release.


4.7 (2022-09-16)
================

- Update Python 3.11 support to rc2.

- Disable unsafe math optimizations in C code.
  (`#55 <https://github.com/zopefoundation/ExtensionClass/pull/55>`_)


4.6 (2022-01-14)
================

- Add support for Python 3.10 and 3.11 (as of alpha 3).


4.5.1 (2021-06-11)
==================

- Create wheels for Linux (2010, 2014 and aarch) and MacOS.


4.5.0 (2020-10-07)
==================

- Drop support for Python 3.4.

- Add support for Python 3.8 and 3.9.

- Fix accessing ``__parent__`` when it is defined as a class attribute
  that is ``None`` (e.g., in subclasses of
  ``zope.conatiner.contained.Contained``). See `issue 24
  <https://github.com/zopefoundation/ExtensionClass/issues/24>`_.

4.4.0 (2018-10-05)
==================

- Fail if C extensions couldn't be compiled on compatible platforms.

- Add Appveyor configuration to automate building Windows eggs

- Add support for Python 3.7.

- Fix getting attributes that are data descriptors in the Python
  implementation.

- Reach and automatically maintain 100% test coverage.

4.3.0 (2017-02-22)
==================

- Drop support for Python 3.3.

- Remove unused C macro from ``ExtensionClass.h``.

- Fix C compilation under Windows.

4.2.1 (2017-02-02)
==================

- Fix problems with computed attribute and property wrapping.

4.2.0 (2017-01-18)
==================

- Port the C extension to Python 3.

- Add support for Python 3.5 and 3.6.

- Drop support for Python 2.6, 3.2.

4.1.2 (2015-04-03)
==================

- Fix calling of ``__class_init__`` hook by Python implementation.

4.1.1 (2015-03-20)
==================

- Avoid wrapping ``__parent__`` in pure-Python version.  Matches
  change made to C version in afb8488.  See issue #3.

4.1 (2014-12-18)
================

- Housekeeping changes only.

4.1b1 (2014-11-12)
==================

- Added compatibility with Python 3.4.

4.1a1 (2013-05-04)
==================

- Added compatibility with Python 3.2 and 3.3 using the Python reference
  implementation.

- Add Python reference implementation. Used by default on PyPy.

4.0 (2013-02-24)
================

- Added trove classifiers to project metadata.

4.0a1 (2011-12-13)
==================

- Don't create wrappers when retrieving parent pointers.

2.13.2 (2010-06-16)
===================

- LP #587760: Handle tp_basicsize correctly.

2.13.1 (2010-04-03)
===================

- Removed undeclared testing dependency on zope.testing.

- Removed cruft in ``pickle/pickle.c`` related to removed ``__getnewargs__``.

2.13.0 (2010-02-22)
===================

- Avoid defining ``__getnewargs__`` as not to defeat the ZODB persistent
  reference optimization. Refs https://bugs.launchpad.net/zope2/+bug/143657.
  In order to take advantage of this optimization, you need to re-save your
  objects.

2.12.0 (2010-02-14)
===================

- Removed old build artifacts and some metadata cleanup.

- Added support for method cache in ExtensionClass. Patch contributed by
  Yoshinori K. Okuji. See https://bugs.launchpad.net/zope2/+bug/486182.

2.11.3 (2009-08-02)
===================

- Further 64-bit fixes (Python 2.4 compatibility).

2.11.2 (2009-08-02)
===================

- Fixed 64-bit compatibility issues for Python 2.5.x / 2.6.x.  See
  http://www.python.org/dev/peps/pep-0353/ for details.

2.11.1 (2009-02-19)
===================

- Initial egg release.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/zopefoundation/ExtensionClass",
    "name": "ExtensionClass",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "Zope Foundation and Contributors",
    "author_email": "zope-dev@zope.org",
    "download_url": "https://files.pythonhosted.org/packages/6b/71/ca1ba3769ab46437d6bce378157541af9e4974b2eb93fa7630a76cf7b7bd/ExtensionClass-5.0.tar.gz",
    "platform": null,
    "description": "====================================================\n ExtensionClass and ExtensionClass-related packages\n====================================================\n\nExtensionClass\n==============\n\nThis package provides a metaclass that allows classes implemented in\nextension modules to be subclassed in Python.  Unless you need\nExtensionClasses for legacy applications (e.g. Zope), you probably\nwant to use Python's new-style classes (available since Python 2.2).\n\nComputedAttribute\n=================\n\nThis package provides a way to attach attributes to an\n``ExtensionClass`` or instance that are computed by calling a\ncallable.  This works very much like ``property`` known from new-style\nclasses, except that a ``ComputedAttribute`` can also be attached to\nan instance and that it honours ExtensionClass semantics (which is\nuseful for retaining Acquisition wrappers, for example).\n\nMethodObject\n============\n\nThis package lets you attach additional \"methods\" to ExtensionClasses.\nThese \"methods\" are actually implemented by subclassing the\n``MethodObject.Method`` class and implementing the ``__call__`` method\nthere.  Instances of those classes will be bound to the instances\nthey're attached to and will receive that instance object as a first\nparameter (after ``self``).\n\n\n===========\n Changelog\n===========\n\n5.0 (2023-01-19)\n================\n\n- Drop support for Python 2.7, 3.5, 3.6.\n\n- Fix deprecation warning in tests.\n\n\n4.9 (2022-11-17)\n================\n\n- Add support for building arm64 wheels on macOS.\n\n\n4.8 (2022-11-03)\n================\n\n- Update Python 3.11 support to the final release.\n\n\n4.7 (2022-09-16)\n================\n\n- Update Python 3.11 support to rc2.\n\n- Disable unsafe math optimizations in C code.\n  (`#55 <https://github.com/zopefoundation/ExtensionClass/pull/55>`_)\n\n\n4.6 (2022-01-14)\n================\n\n- Add support for Python 3.10 and 3.11 (as of alpha 3).\n\n\n4.5.1 (2021-06-11)\n==================\n\n- Create wheels for Linux (2010, 2014 and aarch) and MacOS.\n\n\n4.5.0 (2020-10-07)\n==================\n\n- Drop support for Python 3.4.\n\n- Add support for Python 3.8 and 3.9.\n\n- Fix accessing ``__parent__`` when it is defined as a class attribute\n  that is ``None`` (e.g., in subclasses of\n  ``zope.conatiner.contained.Contained``). See `issue 24\n  <https://github.com/zopefoundation/ExtensionClass/issues/24>`_.\n\n4.4.0 (2018-10-05)\n==================\n\n- Fail if C extensions couldn't be compiled on compatible platforms.\n\n- Add Appveyor configuration to automate building Windows eggs\n\n- Add support for Python 3.7.\n\n- Fix getting attributes that are data descriptors in the Python\n  implementation.\n\n- Reach and automatically maintain 100% test coverage.\n\n4.3.0 (2017-02-22)\n==================\n\n- Drop support for Python 3.3.\n\n- Remove unused C macro from ``ExtensionClass.h``.\n\n- Fix C compilation under Windows.\n\n4.2.1 (2017-02-02)\n==================\n\n- Fix problems with computed attribute and property wrapping.\n\n4.2.0 (2017-01-18)\n==================\n\n- Port the C extension to Python 3.\n\n- Add support for Python 3.5 and 3.6.\n\n- Drop support for Python 2.6, 3.2.\n\n4.1.2 (2015-04-03)\n==================\n\n- Fix calling of ``__class_init__`` hook by Python implementation.\n\n4.1.1 (2015-03-20)\n==================\n\n- Avoid wrapping ``__parent__`` in pure-Python version.  Matches\n  change made to C version in afb8488.  See issue #3.\n\n4.1 (2014-12-18)\n================\n\n- Housekeeping changes only.\n\n4.1b1 (2014-11-12)\n==================\n\n- Added compatibility with Python 3.4.\n\n4.1a1 (2013-05-04)\n==================\n\n- Added compatibility with Python 3.2 and 3.3 using the Python reference\n  implementation.\n\n- Add Python reference implementation. Used by default on PyPy.\n\n4.0 (2013-02-24)\n================\n\n- Added trove classifiers to project metadata.\n\n4.0a1 (2011-12-13)\n==================\n\n- Don't create wrappers when retrieving parent pointers.\n\n2.13.2 (2010-06-16)\n===================\n\n- LP #587760: Handle tp_basicsize correctly.\n\n2.13.1 (2010-04-03)\n===================\n\n- Removed undeclared testing dependency on zope.testing.\n\n- Removed cruft in ``pickle/pickle.c`` related to removed ``__getnewargs__``.\n\n2.13.0 (2010-02-22)\n===================\n\n- Avoid defining ``__getnewargs__`` as not to defeat the ZODB persistent\n  reference optimization. Refs https://bugs.launchpad.net/zope2/+bug/143657.\n  In order to take advantage of this optimization, you need to re-save your\n  objects.\n\n2.12.0 (2010-02-14)\n===================\n\n- Removed old build artifacts and some metadata cleanup.\n\n- Added support for method cache in ExtensionClass. Patch contributed by\n  Yoshinori K. Okuji. See https://bugs.launchpad.net/zope2/+bug/486182.\n\n2.11.3 (2009-08-02)\n===================\n\n- Further 64-bit fixes (Python 2.4 compatibility).\n\n2.11.2 (2009-08-02)\n===================\n\n- Fixed 64-bit compatibility issues for Python 2.5.x / 2.6.x.  See\n  http://www.python.org/dev/peps/pep-0353/ for details.\n\n2.11.1 (2009-02-19)\n===================\n\n- Initial egg release.\n",
    "bugtrack_url": null,
    "license": "ZPL 2.1",
    "summary": "Metaclass for subclassable extension types",
    "version": "5.0",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5f21c1621673ec53c412bce4630c9f196d37d85eae7f8b05fe5018cbac1bac85",
                "md5": "e32deda3efe9adefd13e33d90e384639",
                "sha256": "ab17d5af2691a874018c24ec0817bdd33a0f88f3a03fff26c96d2035dc5acf8b"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e32deda3efe9adefd13e33d90e384639",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 49200,
            "upload_time": "2023-01-19T07:11:40",
            "upload_time_iso_8601": "2023-01-19T07:11:40.716551Z",
            "url": "https://files.pythonhosted.org/packages/5f/21/c1621673ec53c412bce4630c9f196d37d85eae7f8b05fe5018cbac1bac85/ExtensionClass-5.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "75d2880734fec49c256d788bc4a3e0c7f268938bbc954a19df2d855bdefce1a3",
                "md5": "4ddbd5e6893da1a606af6d50587e7045",
                "sha256": "f13ba8890f9d5ecf4365210fc31177f918819b773d0f91f7d9f9eecc7f12f2ac"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "4ddbd5e6893da1a606af6d50587e7045",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 49979,
            "upload_time": "2023-01-19T07:11:41",
            "upload_time_iso_8601": "2023-01-19T07:11:41.876298Z",
            "url": "https://files.pythonhosted.org/packages/75/d2/880734fec49c256d788bc4a3e0c7f268938bbc954a19df2d855bdefce1a3/ExtensionClass-5.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c1f774a623f665b8bfb9d9f5681b53175331169e2150a415c1d35283de308f00",
                "md5": "321c6e6f30e810b9cb377831ecaec6d6",
                "sha256": "15f8dd27f273b636b5dcb958fbdd2bfc2e82d3a5bd897738ddf36c868d822baa"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "321c6e6f30e810b9cb377831ecaec6d6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 92155,
            "upload_time": "2023-01-19T07:22:06",
            "upload_time_iso_8601": "2023-01-19T07:22:06.269732Z",
            "url": "https://files.pythonhosted.org/packages/c1/f7/74a623f665b8bfb9d9f5681b53175331169e2150a415c1d35283de308f00/ExtensionClass-5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8982f6467e96a4546f4a893a1d7d634ceb098caa7897b1d5bd4e3732676b4b06",
                "md5": "dc5140712c10f1b9d93a0b927d8e6841",
                "sha256": "fd1f41914aa8fbdb83486d7e01d2de0ac74e39546a68f76167476df46ae6a487"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "dc5140712c10f1b9d93a0b927d8e6841",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 86203,
            "upload_time": "2023-01-19T07:12:02",
            "upload_time_iso_8601": "2023-01-19T07:12:02.589363Z",
            "url": "https://files.pythonhosted.org/packages/89/82/f6467e96a4546f4a893a1d7d634ceb098caa7897b1d5bd4e3732676b4b06/ExtensionClass-5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fec7cfe0a048714227d5532bec4420c910ddf7501b95cf7b52132501dfcad52c",
                "md5": "47682d290c97d879edac3acf20b30948",
                "sha256": "ebde95c071ea1656ca714ccfa54bd68e664ff7e8a04ae4d682608b6932677972"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "47682d290c97d879edac3acf20b30948",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 89746,
            "upload_time": "2023-01-19T07:12:52",
            "upload_time_iso_8601": "2023-01-19T07:12:52.408543Z",
            "url": "https://files.pythonhosted.org/packages/fe/c7/cfe0a048714227d5532bec4420c910ddf7501b95cf7b52132501dfcad52c/ExtensionClass-5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e7f4a97bb16bd2903d9a0005f44aeefc6960ae82b9f8ab94d1c6ebfa16fd3ee3",
                "md5": "77488266c1511afa72a4ff354e1bfe79",
                "sha256": "c9bd2781c725447331c1509f5234f2e1c13b783398a608bd588900a3f7445baf"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "77488266c1511afa72a4ff354e1bfe79",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 58217,
            "upload_time": "2023-01-19T07:21:17",
            "upload_time_iso_8601": "2023-01-19T07:21:17.858978Z",
            "url": "https://files.pythonhosted.org/packages/e7/f4/a97bb16bd2903d9a0005f44aeefc6960ae82b9f8ab94d1c6ebfa16fd3ee3/ExtensionClass-5.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3b170a80e504ef60d569ca3039730be5b8d376e1b6efb4646e059fb68e0bc07c",
                "md5": "1bf0d52ced5a118bf7fd5b290d5f91ed",
                "sha256": "9275b021d1cd6ebcdc8eaec7ec54dd550405dde76ad9cfb03651d36f5885bf1e"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1bf0d52ced5a118bf7fd5b290d5f91ed",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 49250,
            "upload_time": "2023-01-19T07:11:30",
            "upload_time_iso_8601": "2023-01-19T07:11:30.727179Z",
            "url": "https://files.pythonhosted.org/packages/3b/17/0a80e504ef60d569ca3039730be5b8d376e1b6efb4646e059fb68e0bc07c/ExtensionClass-5.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3388a30696cb9fa06b7dc307661e1effd7a81227873066809ca0e324f957acbb",
                "md5": "dc4534bc8bea1ecc13dd1545692eb229",
                "sha256": "47bc248b5053adc3b9f1769e44d5bf17b817e3224cde589a74823f0e20c18d15"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "dc4534bc8bea1ecc13dd1545692eb229",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 49991,
            "upload_time": "2023-01-19T07:11:31",
            "upload_time_iso_8601": "2023-01-19T07:11:31.940500Z",
            "url": "https://files.pythonhosted.org/packages/33/88/a30696cb9fa06b7dc307661e1effd7a81227873066809ca0e324f957acbb/ExtensionClass-5.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7c9a95d2a63babe2ffdb35141c424de32781c1df22256a953a7bc369a45c57d6",
                "md5": "2cdf761ea1a99c209843d0925517f6f3",
                "sha256": "7df54f6af60038684cefc4924f8ea823e48b1398bd0cdf873231ac3eeccfd3a5"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2cdf761ea1a99c209843d0925517f6f3",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 94819,
            "upload_time": "2023-01-19T07:22:07",
            "upload_time_iso_8601": "2023-01-19T07:22:07.511375Z",
            "url": "https://files.pythonhosted.org/packages/7c/9a/95d2a63babe2ffdb35141c424de32781c1df22256a953a7bc369a45c57d6/ExtensionClass-5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6e290058b2afeeff527d3a96f6c9c8e9a0d8c0366acfd8921f6722e00610d88b",
                "md5": "53242fd427c6d1f5bf73b101c123af62",
                "sha256": "b2644c87981bbe26a9b83e07bb9a841138b36fe8b65810815f984592c7261ae8"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "53242fd427c6d1f5bf73b101c123af62",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 88823,
            "upload_time": "2023-01-19T07:12:04",
            "upload_time_iso_8601": "2023-01-19T07:12:04.299943Z",
            "url": "https://files.pythonhosted.org/packages/6e/29/0058b2afeeff527d3a96f6c9c8e9a0d8c0366acfd8921f6722e00610d88b/ExtensionClass-5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b5a2d5989bef9157900161ce37811435041ab3607fbe73aa2b3b39fd6871ac64",
                "md5": "c70140de2fdfe1121543d620e654346a",
                "sha256": "b7adfe3281afe37ae7d178926d839cfc6baaf9d76a2d11f455f7dc0a8f6b0714"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c70140de2fdfe1121543d620e654346a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 92560,
            "upload_time": "2023-01-19T07:12:53",
            "upload_time_iso_8601": "2023-01-19T07:12:53.654177Z",
            "url": "https://files.pythonhosted.org/packages/b5/a2/d5989bef9157900161ce37811435041ab3607fbe73aa2b3b39fd6871ac64/ExtensionClass-5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fa34a6b1f255a4cc6f1b3a1c32e966420fe809e4708d936430d1dfc4439c11e3",
                "md5": "b3c7fe08c690d4967b075ef0dda49c9f",
                "sha256": "643d76c9b71f5729dc00f75ebc3477b7bd5c06052410bae4beda9f880c546c50"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b3c7fe08c690d4967b075ef0dda49c9f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 58228,
            "upload_time": "2023-01-19T07:22:53",
            "upload_time_iso_8601": "2023-01-19T07:22:53.132730Z",
            "url": "https://files.pythonhosted.org/packages/fa/34/a6b1f255a4cc6f1b3a1c32e966420fe809e4708d936430d1dfc4439c11e3/ExtensionClass-5.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8b959594f9b94522cdb77e4e43c2618167192abacc5c39f315b4bdb678823f9e",
                "md5": "9d1d5bfcc81584b8880f0a19501bf69d",
                "sha256": "791b575dae81ba913597a4e1d9a9055306774aaddb09abe888b2c8dab7368def"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp37-cp37m-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9d1d5bfcc81584b8880f0a19501bf69d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 49334,
            "upload_time": "2023-01-19T07:12:09",
            "upload_time_iso_8601": "2023-01-19T07:12:09.899456Z",
            "url": "https://files.pythonhosted.org/packages/8b/95/9594f9b94522cdb77e4e43c2618167192abacc5c39f315b4bdb678823f9e/ExtensionClass-5.0-cp37-cp37m-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5bfaee06c8ca9f310c1c085efdd8c2eccd857a4f0b1be2d2cf0fb37e997efc03",
                "md5": "e9961e521b4bcc5e694d63afaf0e19fd",
                "sha256": "44c0ad25556b3ec2447c88a090af8e262aab3981ca140e82b1a465a42756a431"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e9961e521b4bcc5e694d63afaf0e19fd",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 89501,
            "upload_time": "2023-01-19T07:22:09",
            "upload_time_iso_8601": "2023-01-19T07:22:09.139105Z",
            "url": "https://files.pythonhosted.org/packages/5b/fa/ee06c8ca9f310c1c085efdd8c2eccd857a4f0b1be2d2cf0fb37e997efc03/ExtensionClass-5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a32cea36e40465fb87a52832ea9646de3188c35510030d9dcc3f55b34a838489",
                "md5": "b445934d5daa44809cb06264ad6cec43",
                "sha256": "82b9c8caad5a60b6838d972f80cc036f063609a9896dc49e0b4e274c18ecbfd0"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "b445934d5daa44809cb06264ad6cec43",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 84112,
            "upload_time": "2023-01-19T07:12:05",
            "upload_time_iso_8601": "2023-01-19T07:12:05.529946Z",
            "url": "https://files.pythonhosted.org/packages/a3/2c/ea36e40465fb87a52832ea9646de3188c35510030d9dcc3f55b34a838489/ExtensionClass-5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "60f065130903a4aee9ea7a3b962b24191f68d84e3490b7099ff7e8af0aa7aee3",
                "md5": "6fe47c721a407cc1a6604693a56af243",
                "sha256": "bec9a718ded3c2b571bc2781c3b527019406ca722a0444acd81b139cb3dcca2d"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6fe47c721a407cc1a6604693a56af243",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 87099,
            "upload_time": "2023-01-19T07:12:54",
            "upload_time_iso_8601": "2023-01-19T07:12:54.909379Z",
            "url": "https://files.pythonhosted.org/packages/60/f0/65130903a4aee9ea7a3b962b24191f68d84e3490b7099ff7e8af0aa7aee3/ExtensionClass-5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f2133a1c07d13907316a2b369fdc4e0e7e7a51ed6ca600f3c070e2bde36d680b",
                "md5": "7e983bf1fc28abfd8ef8b84943126c81",
                "sha256": "5cf8ffb4aff9543fcee9d1d2057ac82a199eb3d79d6b0cd939d6815dcc4b01bd"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7e983bf1fc28abfd8ef8b84943126c81",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 58119,
            "upload_time": "2023-01-19T07:17:14",
            "upload_time_iso_8601": "2023-01-19T07:17:14.815804Z",
            "url": "https://files.pythonhosted.org/packages/f2/13/3a1c07d13907316a2b369fdc4e0e7e7a51ed6ca600f3c070e2bde36d680b/ExtensionClass-5.0-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0e29ba6347087e65edac73cb85fbd2029731bd070930a874d47b0887064470b",
                "md5": "1d64d5091aef9d0f06335ee0a3133c4a",
                "sha256": "23da733c15d1b8cb78acbbc6b917724f04a3b0d90ce0b187808e0614a69deef9"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1d64d5091aef9d0f06335ee0a3133c4a",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 49179,
            "upload_time": "2023-01-19T07:15:06",
            "upload_time_iso_8601": "2023-01-19T07:15:06.529851Z",
            "url": "https://files.pythonhosted.org/packages/e0/e2/9ba6347087e65edac73cb85fbd2029731bd070930a874d47b0887064470b/ExtensionClass-5.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f281f9fb89505edd52302850d5a975d889acacb7538ea02b5bc5224384f5bd75",
                "md5": "0bfb9f9142519377327ed0c9d33f6e63",
                "sha256": "416e3c592585019bb0bfd41ec6f2a36ea0304e3af19173d58fc6a7cf8a065d62"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0bfb9f9142519377327ed0c9d33f6e63",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 49948,
            "upload_time": "2023-01-19T07:15:07",
            "upload_time_iso_8601": "2023-01-19T07:15:07.669920Z",
            "url": "https://files.pythonhosted.org/packages/f2/81/f9fb89505edd52302850d5a975d889acacb7538ea02b5bc5224384f5bd75/ExtensionClass-5.0-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "860d9b0ab230b803a012c42ba7c25b365ece1bfafb2c0b7ba63de74e2f4806b6",
                "md5": "2da6260b5b10bfd171a9b6c5b47a8d67",
                "sha256": "15171b8b9a2bb55d08214002e0f572e5c92c57c1753c44ca9d78eda6c04ac53c"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2da6260b5b10bfd171a9b6c5b47a8d67",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 93196,
            "upload_time": "2023-01-19T07:22:10",
            "upload_time_iso_8601": "2023-01-19T07:22:10.730618Z",
            "url": "https://files.pythonhosted.org/packages/86/0d/9b0ab230b803a012c42ba7c25b365ece1bfafb2c0b7ba63de74e2f4806b6/ExtensionClass-5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0037e7952fa8f2775310f0ab47780127ee146486348cc2a97f09ec828acc2b33",
                "md5": "5034ed602d7e756568d96770cf7bfdfe",
                "sha256": "69ec678c9b5352ebd1f3354ad745c19df323cc1afa306dbf54466b57d9ec6b6c"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "5034ed602d7e756568d96770cf7bfdfe",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 87470,
            "upload_time": "2023-01-19T07:12:06",
            "upload_time_iso_8601": "2023-01-19T07:12:06.892210Z",
            "url": "https://files.pythonhosted.org/packages/00/37/e7952fa8f2775310f0ab47780127ee146486348cc2a97f09ec828acc2b33/ExtensionClass-5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ae24ab15ddf49f97c93fd3e79d77ede48761b286a9e5a10737fd6e96cb2b0896",
                "md5": "2ac0d7cbddd6b5650cadcd3046ffac26",
                "sha256": "2837b18804786d59bc458523b7dfc0c97e6bd11d8cfe2d9faa83fd769264effc"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2ac0d7cbddd6b5650cadcd3046ffac26",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 91001,
            "upload_time": "2023-01-19T07:12:56",
            "upload_time_iso_8601": "2023-01-19T07:12:56.164207Z",
            "url": "https://files.pythonhosted.org/packages/ae/24/ab15ddf49f97c93fd3e79d77ede48761b286a9e5a10737fd6e96cb2b0896/ExtensionClass-5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "babec457f811193ff2181327ec97c14bdfa72c41da40e614e54ebff69b3b3d63",
                "md5": "d85d101d298da9c80719ae0bc441d9bc",
                "sha256": "0dcad474adef343a0bc1057916ebd2363014ac1d559e0f43a442a7418f2e45dd"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d85d101d298da9c80719ae0bc441d9bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 58189,
            "upload_time": "2023-01-19T07:18:27",
            "upload_time_iso_8601": "2023-01-19T07:18:27.269423Z",
            "url": "https://files.pythonhosted.org/packages/ba/be/c457f811193ff2181327ec97c14bdfa72c41da40e614e54ebff69b3b3d63/ExtensionClass-5.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "32669dff20be1be4acec784e19019c5f4c176bf6465280c1ca206380555b4f69",
                "md5": "d14dbcb93ca35c1ab5d8d393453cc238",
                "sha256": "7be6017afc03a967a331b09d8f90b89d2c7269236a5714e8065f32efd63ce739"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d14dbcb93ca35c1ab5d8d393453cc238",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 49168,
            "upload_time": "2023-01-19T07:12:38",
            "upload_time_iso_8601": "2023-01-19T07:12:38.837194Z",
            "url": "https://files.pythonhosted.org/packages/32/66/9dff20be1be4acec784e19019c5f4c176bf6465280c1ca206380555b4f69/ExtensionClass-5.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "13322b2a706aac4524462bb3e26b566be52288f04d3bc7bd9b7775a426b43e3b",
                "md5": "7382ead805643f24be3c859c85c27480",
                "sha256": "c19229d5f1a2cce9e7f2379eac655cf0723a6fd5dcd89f575191e9104150c7c5"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7382ead805643f24be3c859c85c27480",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 49944,
            "upload_time": "2023-01-19T07:12:40",
            "upload_time_iso_8601": "2023-01-19T07:12:40.048242Z",
            "url": "https://files.pythonhosted.org/packages/13/32/2b2a706aac4524462bb3e26b566be52288f04d3bc7bd9b7775a426b43e3b/ExtensionClass-5.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9845dda221a3e69fc00d5bb12536fde297069335ecb48b300d74b4248f039617",
                "md5": "216f4b2a9735afb106fbd780df79f41d",
                "sha256": "8454d226ca7e41fb3bc3acf3f7bd4d90ab33261921a9358433d4bb4e2864fb47"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "216f4b2a9735afb106fbd780df79f41d",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 91454,
            "upload_time": "2023-01-19T07:22:12",
            "upload_time_iso_8601": "2023-01-19T07:22:12.353239Z",
            "url": "https://files.pythonhosted.org/packages/98/45/dda221a3e69fc00d5bb12536fde297069335ecb48b300d74b4248f039617/ExtensionClass-5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb1ce49f6d07ad08d3c2a41d1e3e705a0fed2baed020351a07f17c032e1d2584",
                "md5": "5c37efad7b67c4097a25f187cea474d9",
                "sha256": "dbe813f69666defe6366a705fb5bf43c3fd0a16bba5c536cb0accf3b2f803e19"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "5c37efad7b67c4097a25f187cea474d9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 85599,
            "upload_time": "2023-01-19T07:12:08",
            "upload_time_iso_8601": "2023-01-19T07:12:08.269655Z",
            "url": "https://files.pythonhosted.org/packages/cb/1c/e49f6d07ad08d3c2a41d1e3e705a0fed2baed020351a07f17c032e1d2584/ExtensionClass-5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf69c2cb16dd0fdb57032a122998018069186cd032c9754d83d9c46711d9affc",
                "md5": "4dbdde4d24266f853ebeee3c9ca8f59c",
                "sha256": "ef2ceb6da454c6b441f6726a0f4e8f81e106942cf54305b8474dc22eebc5d3df"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4dbdde4d24266f853ebeee3c9ca8f59c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 89065,
            "upload_time": "2023-01-19T07:12:57",
            "upload_time_iso_8601": "2023-01-19T07:12:57.715536Z",
            "url": "https://files.pythonhosted.org/packages/bf/69/c2cb16dd0fdb57032a122998018069186cd032c9754d83d9c46711d9affc/ExtensionClass-5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e6868ad38783b97af67b624d8a56f6cdf21db41aed402ab4f85c967c5b3a417d",
                "md5": "cebaecb4a27ef4515dd6c6c0fec2b7e8",
                "sha256": "c1855ba3747d447d2fad9a1e30baca2a5161c888d3202f5554ca76ada55da785"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "cebaecb4a27ef4515dd6c6c0fec2b7e8",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 58202,
            "upload_time": "2023-01-19T07:19:51",
            "upload_time_iso_8601": "2023-01-19T07:19:51.366142Z",
            "url": "https://files.pythonhosted.org/packages/e6/86/8ad38783b97af67b624d8a56f6cdf21db41aed402ab4f85c967c5b3a417d/ExtensionClass-5.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6b71ca1ba3769ab46437d6bce378157541af9e4974b2eb93fa7630a76cf7b7bd",
                "md5": "1c5272d78abc88fad84341e40d61e6dc",
                "sha256": "9abf5b24dc38383c23016c9b681eaf6f75e7316809d86a783ce46bcdfb6bdad4"
            },
            "downloads": -1,
            "filename": "ExtensionClass-5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1c5272d78abc88fad84341e40d61e6dc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 35741,
            "upload_time": "2023-01-19T07:09:28",
            "upload_time_iso_8601": "2023-01-19T07:09:28.419391Z",
            "url": "https://files.pythonhosted.org/packages/6b/71/ca1ba3769ab46437d6bce378157541af9e4974b2eb93fa7630a76cf7b7bd/ExtensionClass-5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-19 07:09:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "zopefoundation",
    "github_project": "ExtensionClass",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "appveyor": true,
    "tox": true,
    "lcname": "extensionclass"
}
        
Elapsed time: 0.03382s