Spaces:
				
			
			
	
			
			
		Runtime error
		
	
	
	
			
			
	
	
	
	
		
		
		Runtime error
		
	| Metadata-Version: 2.1 | |
| Name: frozenlist | |
| Version: 1.4.0 | |
| Summary: A list-like structure which implements collections.abc.MutableSequence | |
| Home-page: https://github.com/aio-libs/frozenlist | |
| Maintainer: aiohttp team <[email protected]> | |
| Maintainer-email: [email protected] | |
| License: Apache 2 | |
| Project-URL: Chat: Matrix, https://matrix.to/#/#aio-libs:matrix.org | |
| Project-URL: Chat: Matrix Space, https://matrix.to/#/#aio-libs-space:matrix.org | |
| Project-URL: CI: Github Actions, https://github.com/aio-libs/frozenlist/actions | |
| Project-URL: Code of Conduct, https://github.com/aio-libs/.github/blob/master/CODE_OF_CONDUCT.md | |
| Project-URL: Coverage: codecov, https://codecov.io/github/aio-libs/frozenlist | |
| Project-URL: Docs: Changelog, https://github.com/aio-libs/frozenlist/blob/master/CHANGES.rst#changelog | |
| Project-URL: Docs: RTD, https://frozenlist.aio-libs.org | |
| Project-URL: GitHub: issues, https://github.com/aio-libs/frozenlist/issues | |
| Project-URL: GitHub: repo, https://github.com/aio-libs/frozenlist | |
| Classifier: License :: OSI Approved :: Apache Software License | |
| Classifier: Intended Audience :: Developers | |
| Classifier: Programming Language :: Python | |
| Classifier: Programming Language :: Python :: 3 | |
| Classifier: Programming Language :: Python :: 3.8 | |
| Classifier: Programming Language :: Python :: 3.9 | |
| Classifier: Programming Language :: Python :: 3.10 | |
| Classifier: Programming Language :: Python :: 3.11 | |
| Classifier: Development Status :: 5 - Production/Stable | |
| Classifier: Operating System :: POSIX | |
| Classifier: Operating System :: MacOS :: MacOS X | |
| Classifier: Operating System :: Microsoft :: Windows | |
| Requires-Python: >=3.8 | |
| Description-Content-Type: text/x-rst | |
| License-File: LICENSE | |
| ========== | |
| frozenlist | |
| ========== | |
| .. image:: https://github.com/aio-libs/frozenlist/workflows/CI/badge.svg | |
| :target: https://github.com/aio-libs/frozenlist/actions | |
| :alt: GitHub status for master branch | |
| .. image:: https://codecov.io/gh/aio-libs/frozenlist/branch/master/graph/badge.svg | |
| :target: https://codecov.io/gh/aio-libs/frozenlist | |
| :alt: codecov.io status for master branch | |
| .. image:: https://img.shields.io/pypi/v/frozenlist.svg?logo=Python&logoColor=white | |
| :target: https://pypi.org/project/frozenlist | |
| :alt: frozenlist @ PyPI | |
| .. image:: https://readthedocs.org/projects/frozenlist/badge/?version=latest | |
| :target: https://frozenlist.aio-libs.org | |
| :alt: Read The Docs build status badge | |
| .. 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 | |
| :target: https://matrix.to/#/%23aio-libs:matrix.org | |
| :alt: Matrix Room β #aio-libs:matrix.org | |
| .. 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 | |
| :target: https://matrix.to/#/%23aio-libs-space:matrix.org | |
| :alt: Matrix Space β #aio-libs-space:matrix.org | |
| Introduction | |
| ============ | |
| ``frozenlist.FrozenList`` is a list-like structure which implements | |
| ``collections.abc.MutableSequence``. The list is *mutable* until ``FrozenList.freeze`` | |
| is called, after which list modifications raise ``RuntimeError``: | |
| >>> from frozenlist import FrozenList | |
| >>> fl = FrozenList([17, 42]) | |
| >>> fl.append('spam') | |
| >>> fl.append('Vikings') | |
| >>> fl | |
| <FrozenList(frozen=False, [17, 42, 'spam', 'Vikings'])> | |
| >>> fl.freeze() | |
| >>> fl | |
| <FrozenList(frozen=True, [17, 42, 'spam', 'Vikings'])> | |
| >>> fl.frozen | |
| True | |
| >>> fl.append("Monty") | |
| Traceback (most recent call last): | |
| File "<stdin>", line 1, in <module> | |
| File "frozenlist/_frozenlist.pyx", line 97, in frozenlist._frozenlist.FrozenList.append | |
| self._check_frozen() | |
| File "frozenlist/_frozenlist.pyx", line 19, in frozenlist._frozenlist.FrozenList._check_frozen | |
| raise RuntimeError("Cannot modify frozen list.") | |
| RuntimeError: Cannot modify frozen list. | |
| FrozenList is also hashable, but only when frozen. Otherwise it also throws a RuntimeError: | |
| >>> fl = FrozenList([17, 42, 'spam']) | |
| >>> hash(fl) | |
| Traceback (most recent call last): | |
| File "<stdin>", line 1, in <module> | |
| File "frozenlist/_frozenlist.pyx", line 111, in frozenlist._frozenlist.FrozenList.__hash__ | |
| raise RuntimeError("Cannot hash unfrozen list.") | |
| RuntimeError: Cannot hash unfrozen list. | |
| >>> fl.freeze() | |
| >>> hash(fl) | |
| 3713081631934410656 | |
| >>> dictionary = {fl: 'Vikings'} # frozen fl can be a dict key | |
| >>> dictionary | |
| {<FrozenList(frozen=True, [1, 2])>: 'Vikings'} | |
| Installation | |
| ------------ | |
| :: | |
| $ pip install frozenlist | |
| The library requires Python 3.8 or newer. | |
| Documentation | |
| ============= | |
| https://frozenlist.aio-libs.org | |
| Communication channels | |
| ====================== | |
| We have a *Matrix Space* `#aio-libs-space:matrix.org | |
| <https://matrix.to/#/%23aio-libs-space:matrix.org>`_ which is | |
| also accessible via Gitter. | |
| Requirements | |
| ============ | |
| - Python >= 3.8 | |
| License | |
| ======= | |
| ``frozenlist`` is offered under the Apache 2 license. | |
| Source code | |
| =========== | |
| The project is hosted on GitHub_ | |
| Please file an issue in the `bug tracker | |
| <https://github.com/aio-libs/frozenlist/issues>`_ if you have found a bug | |
| or have some suggestions to improve the library. | |
| .. _GitHub: https://github.com/aio-libs/frozenlist | |