
Security News
Software Engineering Daily Podcast: Feross on AI, Open Source, and Supply Chain Risk
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.
cllist
Advanced tools
cllist is an extension module for CPython providing basic linked list data structures.
Collections implemented in the llist module perform well in problems which rely on fast insertions, pops, and removal of elements in the middle of a sequence.
For this kind of workload, they can be significantly faster than collections.deque or standard Python lists.
This project was forked from https://github.com/ajakubek/python-llist
and adds many features and enhancements to the original, under a new name "cllist".
The cllist version now lives at https://github.com/kata198/python-cllist
If you were using the previous module, you can change to this new module, it is completely backwards (but not forwards) compatible.
Singly linked lists are provided by the "sllist" module. This is your basic single-linked list, and might be useful for some scenarios.
A single linked list is far less efficient at everything than the double-linked list implementation.
A double-linked list is provided by the "dllist" module.
This provides great performance when doing pops and insertions at random (in the middle), or at either end.
This implementation has been enhanced by implementing a "middle" marker.
This "middle" marker is used when the list size exceeds 10 elements, and is used in all operations which involve walking the list,
which ensures that AT MOST N/4 elements will need to be walked (so the shortest distance from either start, middle, or end is calculated, and walked from there).
This additional feature makes this linked list much more efficient on larger data sets than a standard double-linked list implementation.
A linked list should be used when you are going to be adding or removing elements in the middle of the dataset. A standard python list forces the entire list to be reallocated and copied when such happens, whereas this can do so without reallocating.
Documentation can be found at: https://pythonhosted.org/cllist/
FAQs
C-implemented linked-list module for Python
We found that cllist demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.

Security News
GitHub has revoked npm classic tokens for publishing; maintainers must migrate, but OpenJS warns OIDC trusted publishing still has risky gaps for critical projects.

Security News
Rust’s crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.