File: control

package info (click to toggle)
frozenlist 1.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 308 kB
  • sloc: python: 854; makefile: 150
file content (65 lines) | stat: -rw-r--r-- 2,523 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Source: frozenlist
Section: python
Priority: optional
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Uploaders: Piotr Ożarowski <piotr@debian.org>
Build-Depends: debhelper-compat (= 13), dh-python,
               cython3,
               pybuild-plugin-pyproject,
               python3-all-dev,
               python3-expandvars,
               python3-pytest,
               python3-pytest-cov,
               python3-setuptools,
               python3-sphinx,
Standards-Version: 4.6.2
Homepage: https://github.com/aio-libs/frozenlist
Vcs-Git: https://salsa.debian.org/python-team/packages/frozenlist.git
Vcs-Browser: https://salsa.debian.org/python-team/packages/frozenlist
Testsuite: autopkgtest-pkg-pybuild

Package: python3-frozenlist
Architecture: any
Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
Recommends: ${python3:Recommends}
Suggests: ${python3:Suggests}
Description: list-like structure which implements collections.abc.MutableSequence
 `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'}