METADATA 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. Metadata-Version: 2.4
  2. Name: propcache
  3. Version: 0.3.1
  4. Summary: Accelerated property cache
  5. Home-page: https://github.com/aio-libs/propcache
  6. Author: Andrew Svetlov
  7. Author-email: andrew.svetlov@gmail.com
  8. Maintainer: aiohttp team <team@aiohttp.org>
  9. Maintainer-email: team@aiohttp.org
  10. License: Apache-2.0
  11. Project-URL: Chat: Matrix, https://matrix.to/#/#aio-libs:matrix.org
  12. Project-URL: Chat: Matrix Space, https://matrix.to/#/#aio-libs-space:matrix.org
  13. Project-URL: CI: GitHub Workflows, https://github.com/aio-libs/propcache/actions?query=branch:master
  14. Project-URL: Code of Conduct, https://github.com/aio-libs/.github/blob/master/CODE_OF_CONDUCT.md
  15. Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/propcache
  16. Project-URL: Docs: Changelog, https://propcache.readthedocs.io/en/latest/changes/
  17. Project-URL: Docs: RTD, https://propcache.readthedocs.io
  18. Project-URL: GitHub: issues, https://github.com/aio-libs/propcache/issues
  19. Project-URL: GitHub: repo, https://github.com/aio-libs/propcache
  20. Keywords: cython,cext,propcache
  21. Classifier: Development Status :: 5 - Production/Stable
  22. Classifier: Intended Audience :: Developers
  23. Classifier: License :: OSI Approved :: Apache Software License
  24. Classifier: Programming Language :: Cython
  25. Classifier: Programming Language :: Python
  26. Classifier: Programming Language :: Python :: 3
  27. Classifier: Programming Language :: Python :: 3.9
  28. Classifier: Programming Language :: Python :: 3.10
  29. Classifier: Programming Language :: Python :: 3.11
  30. Classifier: Programming Language :: Python :: 3.12
  31. Classifier: Programming Language :: Python :: 3.13
  32. Classifier: Topic :: Internet :: WWW/HTTP
  33. Classifier: Topic :: Software Development :: Libraries :: Python Modules
  34. Requires-Python: >=3.9
  35. Description-Content-Type: text/x-rst
  36. License-File: LICENSE
  37. License-File: NOTICE
  38. Dynamic: license-file
  39. propcache
  40. =========
  41. The module provides a fast implementation of cached properties for Python 3.9+.
  42. .. image:: https://github.com/aio-libs/propcache/actions/workflows/ci-cd.yml/badge.svg
  43. :target: https://github.com/aio-libs/propcache/actions?query=workflow%3ACI
  44. :align: right
  45. .. image:: https://codecov.io/gh/aio-libs/propcache/branch/master/graph/badge.svg
  46. :target: https://codecov.io/gh/aio-libs/propcache
  47. .. image:: https://badge.fury.io/py/propcache.svg
  48. :target: https://badge.fury.io/py/propcache
  49. .. image:: https://readthedocs.org/projects/propcache/badge/?version=latest
  50. :target: https://propcache.readthedocs.io
  51. .. image:: https://img.shields.io/pypi/pyversions/propcache.svg
  52. :target: https://pypi.python.org/pypi/propcache
  53. .. image:: https://img.shields.io/matrix/aio-libs:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat
  54. :target: https://matrix.to/#/%23aio-libs:matrix.org
  55. :alt: Matrix Room — #aio-libs:matrix.org
  56. .. image:: https://img.shields.io/matrix/aio-libs-space:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs-space%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat
  57. :target: https://matrix.to/#/%23aio-libs-space:matrix.org
  58. :alt: Matrix Space — #aio-libs-space:matrix.org
  59. Introduction
  60. ------------
  61. The API is designed to be nearly identical to the built-in ``functools.cached_property`` class,
  62. except for the additional ``under_cached_property`` class which uses ``self._cache``
  63. instead of ``self.__dict__`` to store the cached values and prevents ``__set__`` from being called.
  64. For full documentation please read https://propcache.readthedocs.io.
  65. Installation
  66. ------------
  67. ::
  68. $ pip install propcache
  69. The library is Python 3 only!
  70. PyPI contains binary wheels for Linux, Windows and MacOS. If you want to install
  71. ``propcache`` on another operating system where wheels are not provided,
  72. the the tarball will be used to compile the library from
  73. the source code. It requires a C compiler and and Python headers installed.
  74. To skip the compilation you must explicitly opt-in by using a PEP 517
  75. configuration setting ``pure-python``, or setting the ``PROPCACHE_NO_EXTENSIONS``
  76. environment variable to a non-empty value, e.g.:
  77. .. code-block:: console
  78. $ pip install propcache --config-settings=pure-python=false
  79. Please note that the pure-Python (uncompiled) version is much slower. However,
  80. PyPy always uses a pure-Python implementation, and, as such, it is unaffected
  81. by this variable.
  82. API documentation
  83. ------------------
  84. The documentation is located at https://propcache.readthedocs.io.
  85. Source code
  86. -----------
  87. The project is hosted on GitHub_
  88. Please file an issue on the `bug tracker
  89. <https://github.com/aio-libs/propcache/issues>`_ if you have found a bug
  90. or have some suggestion in order to improve the library.
  91. Discussion list
  92. ---------------
  93. *aio-libs* google group: https://groups.google.com/forum/#!forum/aio-libs
  94. Feel free to post your questions and ideas here.
  95. Authors and License
  96. -------------------
  97. The ``propcache`` package is derived from ``yarl`` which is written by Andrew Svetlov.
  98. It's *Apache 2* licensed and freely available.
  99. .. _GitHub: https://github.com/aio-libs/propcache
  100. =========
  101. Changelog
  102. =========
  103. ..
  104. You should *NOT* be adding new change log entries to this file, this
  105. file is managed by towncrier. You *may* edit previous change logs to
  106. fix problems like typo corrections or such.
  107. To add a new change log entry, please see
  108. https://pip.pypa.io/en/latest/development/#adding-a-news-entry
  109. we named the news folder "changes".
  110. WARNING: Don't drop the next directive!
  111. .. towncrier release notes start
  112. 0.3.1
  113. =====
  114. *(2025-03-25)*
  115. Bug fixes
  116. ---------
  117. - Improved typing annotations, fixing some type errors under correct usage
  118. and improving typing robustness generally -- by `@Dreamsorcerer <https://github.com/sponsors/Dreamsorcerer>`__.
  119. *Related issues and pull requests on GitHub:*
  120. `#103 <https://github.com/aio-libs/propcache/issues/103>`__.
  121. ----
  122. 0.3.0
  123. =====
  124. *(2025-02-20)*
  125. Features
  126. --------
  127. - Implemented support for the free-threaded build of CPython 3.13 -- by `@lysnikolaou <https://github.com/sponsors/lysnikolaou>`__.
  128. *Related issues and pull requests on GitHub:*
  129. `#84 <https://github.com/aio-libs/propcache/issues/84>`__.
  130. Packaging updates and notes for downstreams
  131. -------------------------------------------
  132. - Started building wheels for the free-threaded build of CPython 3.13 -- by `@lysnikolaou <https://github.com/sponsors/lysnikolaou>`__.
  133. *Related issues and pull requests on GitHub:*
  134. `#84 <https://github.com/aio-libs/propcache/issues/84>`__.
  135. Contributor-facing changes
  136. --------------------------
  137. - GitHub Actions CI/CD is now configured to manage caching pip-ecosystem
  138. dependencies using `re-actors/cache-python-deps`_ -- an action by
  139. `@webknjaz <https://github.com/sponsors/webknjaz>`__ that takes into account ABI stability and the exact
  140. version of Python runtime.
  141. .. _`re-actors/cache-python-deps`:
  142. https://github.com/marketplace/actions/cache-python-deps
  143. *Related issues and pull requests on GitHub:*
  144. `#93 <https://github.com/aio-libs/propcache/issues/93>`__.
  145. ----
  146. 0.2.1
  147. =====
  148. *(2024-12-01)*
  149. Bug fixes
  150. ---------
  151. - Stopped implicitly allowing the use of Cython pre-release versions when
  152. building the distribution package -- by `@ajsanchezsanz <https://github.com/sponsors/ajsanchezsanz>`__ and
  153. `@markgreene74 <https://github.com/sponsors/markgreene74>`__.
  154. *Related commits on GitHub:*
  155. `64df0a6 <https://github.com/aio-libs/propcache/commit/64df0a6>`__.
  156. - Fixed ``wrapped`` and ``func`` not being accessible in the Cython versions of ``propcache.api.cached_property`` and ``propcache.api.under_cached_property`` decorators -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  157. *Related issues and pull requests on GitHub:*
  158. `#72 <https://github.com/aio-libs/propcache/issues/72>`__.
  159. Removals and backward incompatible breaking changes
  160. ---------------------------------------------------
  161. - Removed support for Python 3.8 as it has reached end of life -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  162. *Related issues and pull requests on GitHub:*
  163. `#57 <https://github.com/aio-libs/propcache/issues/57>`__.
  164. Packaging updates and notes for downstreams
  165. -------------------------------------------
  166. - Stopped implicitly allowing the use of Cython pre-release versions when
  167. building the distribution package -- by `@ajsanchezsanz <https://github.com/sponsors/ajsanchezsanz>`__ and
  168. `@markgreene74 <https://github.com/sponsors/markgreene74>`__.
  169. *Related commits on GitHub:*
  170. `64df0a6 <https://github.com/aio-libs/propcache/commit/64df0a6>`__.
  171. ----
  172. 0.2.0
  173. =====
  174. *(2024-10-07)*
  175. Bug fixes
  176. ---------
  177. - Fixed loading the C-extensions on Python 3.8 -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  178. *Related issues and pull requests on GitHub:*
  179. `#26 <https://github.com/aio-libs/propcache/issues/26>`__.
  180. Features
  181. --------
  182. - Improved typing for the ``propcache.api.under_cached_property`` decorator -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  183. *Related issues and pull requests on GitHub:*
  184. `#38 <https://github.com/aio-libs/propcache/issues/38>`__.
  185. Improved documentation
  186. ----------------------
  187. - Added API documentation for the ``propcache.api.cached_property`` and ``propcache.api.under_cached_property`` decorators -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  188. *Related issues and pull requests on GitHub:*
  189. `#16 <https://github.com/aio-libs/propcache/issues/16>`__.
  190. Packaging updates and notes for downstreams
  191. -------------------------------------------
  192. - Moved ``propcache.api.under_cached_property`` and ``propcache.api.cached_property`` to `propcache.api` -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  193. Both decorators remain importable from the top-level package, however importing from `propcache.api` is now the recommended way to use them.
  194. *Related issues and pull requests on GitHub:*
  195. `#19 <https://github.com/aio-libs/propcache/issues/19>`__, `#24 <https://github.com/aio-libs/propcache/issues/24>`__, `#32 <https://github.com/aio-libs/propcache/issues/32>`__.
  196. - Converted project to use a src layout -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  197. *Related issues and pull requests on GitHub:*
  198. `#22 <https://github.com/aio-libs/propcache/issues/22>`__, `#29 <https://github.com/aio-libs/propcache/issues/29>`__, `#37 <https://github.com/aio-libs/propcache/issues/37>`__.
  199. ----
  200. 0.1.0
  201. =====
  202. *(2024-10-03)*
  203. Features
  204. --------
  205. - Added ``armv7l`` wheels -- by `@bdraco <https://github.com/sponsors/bdraco>`__.
  206. *Related issues and pull requests on GitHub:*
  207. `#5 <https://github.com/aio-libs/propcache/issues/5>`__.
  208. ----
  209. 0.0.0
  210. =====
  211. *(2024-10-02)*
  212. - Initial release.