Badges
This is a one stop library for all your data structure and algorithm needs. Modstore
provides several python and rust (leveraging it's speed and reliability) based data-structures and algorithms. The Data Structures
offered by modstore
are custom built and well-written to simulate the
structure rules.
Due to increasing code base, A proper README is in the works. For Convenience, all instructions are added in the docstrings of the classes and functions.
-
Data Structures
from modstore.datastructures import ( # HashTable HashMap, # Normal Key-Value Pair Type HashTable. AutoHashMap, # Uses hash function for keys, user provides values. # Built-in upgrade List, # Modified List. # New, Stack Stack, # Actual Stack. # New, Queue Queue, # Queue (supports dequeue, circular implementation for definite capacity) PriorityQueue, # (supports dequeue, circular implementation for definite capacity) priority, # A class for extended PriorityQueue customization. # New, Singly Linked List SingleLinkNode, # Node class for Singly Linked List LinkedListOne, # Singly Linked List # New, LRU Cache (implemented using singly linked list) LRUCache, # New, Doubly Linked List DoubleLinkNode, # Node class for doubly linked list LinkedListTwo, # Doubly Linked List # New, Blockchain BlockChain, # Blockchain data structure Block, # Block class, cannot be initialized, only for internal purposes. # New, Directed Acyclic Graphs (DAG) DAG, # Coming soon MultiLinkNode, # node class for multi nodes LinkedListMulti, # Multi linked list BinaryNode, # Node class for Binary Tree BinaryTree, # BinaryTree class. )
-
Algorithms
from modstore.algorithms.searching import ( Search, # A class that contains static methods for searching SearchObject, # A class to define one object that can be searched using different algorithms, ) from modstore.algorithms.sorting import ( Sort, # A class that contains static methods for sorting SortObject, # A class to define one object that can be sorted using different algorithms. )
-
Prototype for modkit.
modkit
is a new lib for programming tools, got more than51k
downloads in the first week. The prototype for the same can be found under:from modstore.tools import ( classtools, # aliased as override in modkit CustomBoolean, # aliased as Possibility in modkit Property, # aliased as the same name in modkit. )
Make sure you have cargo installed (Rust) and VS Build Tools for C++ (for windows)
git clone https://github.com/d33p0st/modstore.git
python -m pip install --upgrade pip
pip install maturin
cd modstore
maturin develop
pip install .
Feel free to submit any issues here.
Submit pull requests here.