loongson/pypi/: frozenlist-1.4.0 metadata and description

Homepage Simple index

A list-like structure which implements collections.abc.MutableSequence

classifiers
  • License :: OSI Approved :: Apache Software License
  • Intended Audience :: Developers
  • Programming Language :: Python
  • Programming Language :: Python :: 3
  • Programming Language :: Python :: 3.8
  • Programming Language :: Python :: 3.9
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Development Status :: 5 - Production/Stable
  • Operating System :: POSIX
  • Operating System :: MacOS :: MacOS X
  • Operating System :: Microsoft :: Windows
description_content_type text/x-rst
license Apache 2
maintainer aiohttp team <team@aiohttp.org>
maintainer_email team@aiohttp.org
project_urls
  • Chat: Matrix, https://matrix.to/#/#aio-libs:matrix.org
  • Chat: Matrix Space, https://matrix.to/#/#aio-libs-space:matrix.org
  • CI: Github Actions, https://github.com/aio-libs/frozenlist/actions
  • Code of Conduct, https://github.com/aio-libs/.github/blob/master/CODE_OF_CONDUCT.md
  • Coverage: codecov, https://codecov.io/github/aio-libs/frozenlist
  • Docs: Changelog, https://github.com/aio-libs/frozenlist/blob/master/CHANGES.rst#changelog
  • Docs: RTD, https://frozenlist.aio-libs.org
  • GitHub: issues, https://github.com/aio-libs/frozenlist/issues
  • GitHub: repo, https://github.com/aio-libs/frozenlist
requires_python >=3.8

Because this project isn't in the mirror_whitelist, no releases from root/pypi are included.

File Tox results History
frozenlist-1.4.0-cp38-cp38-linux_loongarch64.whl
Size
221 KB
Type
Python Wheel
Python
3.8
GitHub status for master branch codecov.io status for master branch frozenlist @ PyPI Read The Docs build status badge Matrix Room — #aio-libs:matrix.org 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.

Communication channels

We have a Matrix Space #aio-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 if you have found a bug or have some suggestions to improve the library.