nocaselist - A case-insensitive list for Python
Overview
Class NocaseList is a case-insensitive list that preserves the lexical case of its items.
Example:
$ python
>>> from nocaselist import NocaseList
>>> list1 = NocaseList(['Alpha', 'Beta'])
>>> print(list1) # Any access is case-preserving
['Alpha', 'Beta']
>>> 'ALPHA' in list1 # Any lookup or comparison is case-insensitive
True
The NocaseList class supports the functionality of the built-in list class of Python 3.14 on all Python versions it supports (except for being case-insensitive, of course).
The case-insensitivity is achieved by matching any key values as their casefolded values. By default, the casefolding is performed with str.casefold() for unicode string keys and with bytes.lower() for byte string keys. The default casefolding can be overridden with a user-defined casefold method.
Installation
To install the latest released version of the nocaselist package into your active Python environment:
$ pip install nocaselist
The nocaselist package has no prerequisite Python packages.
For more details and alternative ways to install, see Installation.
Documentation
Change History
Contributing
For information on how to contribute to the nocaselist project, see Contributing.
License
The nocaselist project is provided under the Apache Software License 2.0.
Release files for nocaselist 2.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nocaselist-2.2.1.tar.gz | 112.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nocaselist-2.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:125.6 kB
Release files / nocaselist-2.2.1.tar.gz
| Download URL | nocaselist-2.2.1.tar.gz |
|---|---|
| Size | 112.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bade0e96a104ac8ddae49c261aa7c27b5ae8d9434661c6cd8ec16f3cd5c677a1
|
|
BLAKE2b-256 checksum How to use checksums |
9842a98a7140f144937880cd839b2c3055c1aace3804b34f352af28afd6ac6fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 31, 2026.
Transparency logRelease files / nocaselist-2.2.1-py3-none-any.whl
| Download URL | nocaselist-2.2.1-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0853202259f4d8b15a18abd89466eb26eaf3c7e889c9c99f87f5298e2dc315e7
|
|
BLAKE2b-256 checksum How to use checksums |
cd167039116f632e64d25f0362bbdcfb8458201623410289cddf0c8afa9c9c9d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 31, 2026.
Transparency log