frozenlist ========== A list-like structure which implements :class:`collections.abc.MutableSequence`. The list is *mutable* until :meth:`~frozenlist.FrozenList.freeze` is called, after which list modifications raise :exc:`RuntimeError`. A :class:`~frozenlist.FrozenList` instance is hashable, but only when frozen. Attempts to hash a non-frozen instance will result in a :exc:`RuntimeError` exception. API --- .. class:: frozenlist.FrozenList(items) Construct a new *non-frozen* list from *items* iterable. The list implements all :class:`collections.abc.MutableSequence` methods plus two additional APIs. .. attribute:: frozen A read-only property, ``True`` is the list is *frozen* (modifications are forbidden). .. method:: freeze() Freeze the list. There is no way to *thaw* it back. Installation ------------ .. code-block:: bash $ 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 `_ 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. Authors and License =================== The ``frozenlist`` package was originally part of the :doc:`aiohttp project `, written by Nikolay Kim and Andrew Svetlov. It is now being maintained by Martijn Pieters. It's *Apache 2* licensed and freely available. Feel free to improve this package and send a pull request to GitHub_. .. toctree:: :maxdepth: 2 .. toctree:: :caption: What's new changes .. toctree:: :caption: Contributing contributing/guidelines .. toctree:: :caption: Maintenance contributing/release_guide Indices and tables ================== * :ref:`genindex` * :ref:`search` .. _GitHub: https://github.com/aio-libs/frozenlist