https://github.com/d33p0st/modstore
Basic and Modded Data Structures with rust backend for speed and safety and python's comfortability.
https://github.com/d33p0st/modstore
custom-data-structures custom-data-type data-structures linux modstore python python3 rust unix windows
Last synced: 3 months ago
JSON representation
Basic and Modded Data Structures with rust backend for speed and safety and python's comfortability.
- Host: GitHub
- URL: https://github.com/d33p0st/modstore
- Owner: d33p0st
- License: mit
- Created: 2024-09-18T02:38:58.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-01-04T22:51:31.000Z (6 months ago)
- Last Synced: 2025-03-24T12:39:30.968Z (4 months ago)
- Topics: custom-data-structures, custom-data-type, data-structures, linux, modstore, python, python3, rust, unix, windows
- Language: Python
- Homepage: https://d33p0st.in/docs/modstore/
- Size: 4.78 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
`Badges`
[](https://github.com/d33p0st/modstore/actions/workflows/tests.yml)
[](https://github.com/d33p0st/modstore/actions/workflows/generate_wheels.yml)
[](https://codecov.io/gh/d33p0st/modstore)
[](https://pepy.tech/project/modstore)# Modstore
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.
## Module Pathways for importing.
1. Data Structures
```python
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.
)
```
2. Algorithms```python
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.
)
```
3. Prototype for [modkit](https://pypi.org/project/modkit/).`modkit` is a new lib for programming tools, got more than `51k` downloads in the first week. The prototype for the same can be found under:
```python
from modstore.tools import (
classtools, # aliased as override in modkitCustomBoolean, # aliased as Possibility in modkit
Property, # aliased as the same name in modkit.
)
```## Install from scratch
> Make sure you have cargo installed (Rust) and VS Build Tools for C++ (for windows)
```bash
git clone https://github.com/d33p0st/modstore.git
python -m pip install --upgrade pip
pip install maturin
cd modstore
maturin develop
pip install .
```## Issues
Feel free to submit any issues [here](https://github.com/d33p0st/modstore/issues).
## Pull Requests
Submit pull requests [here](https://github.com/d33p0st/modstore/pulls).