Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

concon (CONstrained CONtainers) provides usefully constrained container subtypes:

  • frozenlist

  • frozendict

  • frozenset - (Note this is a synonym for the builtin frozenset for completeness.)

  • appendonlylist

  • appendonlydict

  • appendonlyset

Examples

>>> import concon
>>> d = concon.appendonlydict()
>>> d['foo'] = 'bar'
>>> d.items()
[('foo', 'bar')]
>>> d['foo'] = 'quz'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/n/virtualenvs/default/lib/python2.7/site-packages/concon.py", line 102, in setitem_without_overwrite
    raise OverwriteError(key, value, d[key])
concon.OverwriteError: Attempted overwrite of key 'foo' with new value 'quz' overwriting old value 'bar'
>>> l = concon.frozenlist(['a', 'b', 'c'])
>>> l[1]
'b'
>>> l.append(42)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/n/virtualenvs/default/lib/python2.7/site-packages/concon.py", line 37, in blocked_method
    raise cls(self, method.__name__, a, kw)
concon.ConstraintError: Attempt to call ['a', 'b', 'c'].append (42,) {} violates constraint.
>>> l[2] = 42
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/n/virtualenvs/default/lib/python2.7/site-packages/concon.py", line 37, in blocked_method
    raise cls(self, method.__name__, a, kw)
concon.ConstraintError: Attempt to call ['a', 'b', 'c'].__setitem__ (2, 42) {} violates constraint.

Metadata

Release files for concon 1.39f12a0e86e50b0895d998c8c5b8d00e80d7abb6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for concon 1.39f12a0e86e50b0895d998c8c5b8d00e80d7abb6
File Size Uploaded
concon-1.39f12a0e86e50b0895d998c8c5b8d00e80d7abb6.tar.gz 4.5 kB Details

Release files / concon-1.39f12a0e86e50b0895d998c8c5b8d00e80d7abb6.tar.gz

Download URL concon-1.39f12a0e86e50b0895d998c8c5b8d00e80d7abb6.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f6a2f832a0707c2ab2b253681cbd1dc422aae646c4553fb4ea8456b81a4c2746
BLAKE2b-256 checksum
How to use checksums
864339236f8d7d4d2c2682978fed8fee765be5e81130a3befb721c870f936373
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

2.0.1

2 release files

2.0

1 release file

0.2

1 release file

0.1

1 release file

0.0.0

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page