Lightweight DSA utilities for Python
Project description
AlgoNest
AlgoNest is a Python algorithms and data structures library with a unified, iterable-first API. It is designed for interview prep, education, and production utility code where correctness and readability matter. The package provides reusable implementations with consistent naming and behavior across modules.
Key Features
- Unified API exposed from package root (
from algonest import ...) - Broad coverage: arrays, search, sort, trees, graphs, dynamic programming, strings, math, and utilities
- Iterable-first function contracts for flexible inputs
- Stable behavior with explicit validation and predictable error handling
- Lightweight package footprint with no required runtime dependencies
Installation
pip install algonest
Quick Usage Examples
Search: binary_search
from algonest import binary_search
index = binary_search([1, 3, 5, 7, 9], 7)
print(index) # 3
Arrays: max_subarray_sum (Kadane)
from algonest import max_subarray_sum
best = max_subarray_sum([-2, 1, -3, 4, -1, 2, 1, -5, 4])
print(best) # 6
Sort: merge_sort
from algonest import merge_sort
sorted_values = merge_sort([5, 2, 9, 1])
print(sorted_values) # [1, 2, 5, 9]
Supported Data Types
AlgoNest APIs are built around iterable inputs and internal list conversion.
list: fully supportedtuple: fully supported- NumPy arrays: supported when NumPy is installed, because arrays are iterable
- Custom nodes and data structures: provided for linked lists and trees (
ListNode,DoublyListNode,TreeNode)
Project Structure
AlgoNest/
|-- algonest/
| |-- arrays/
| |-- search/
| |-- sort/
| |-- linked_list/
| |-- stack_queue/
| |-- heap/
| |-- trees/
| |-- graphs/
| |-- dynamic_programming/
| |-- strings/
| |-- math/
| `-- utils/
|-- tests/
|-- benchmarks/
|-- docs/
|-- API_GUIDE.md
`-- pyproject.toml
Design Principles
- Consistency: common naming and predictable return behavior
- Reusability: modular algorithms and data structures that compose well
- Simplicity: clear function contracts and minimal API friction
- Performance: practical implementations with documented complexity
Roadmap
- Phase 1: Core algorithms (search, sort, arrays)
- Phase 2: Core data structures (linked lists, stack/queue, heap)
- Phase 3: Advanced algorithms (trees, graphs, dynamic programming)
- Phase 4: Specialized modules (strings, math, utilities)
- Phase 5: Ecosystem quality (packaging, docs, tests, CI)
Contributing
Contributions are welcome. See CONTRIBUTING.md for setup, test commands, and pull request guidelines.
License
AlgoNest is released under the MIT License. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file algonest-0.1.1.tar.gz.
File metadata
- Download URL: algonest-0.1.1.tar.gz
- Upload date:
- Size: 30.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1b40495b103cae99d41f5dfdb4dab1ec7ab152d655de553055b263e44f32c42
|
|
| MD5 |
97c32855298d76d235a244c564083890
|
|
| BLAKE2b-256 |
67405a45d770a0e917c30fe1f5684da711e9b40710afb3ebecc5a43daf034eb6
|
File details
Details for the file algonest-0.1.1-py3-none-any.whl.
File metadata
- Download URL: algonest-0.1.1-py3-none-any.whl
- Upload date:
- Size: 50.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eacb64b124500a8841cfc3d4e244f0aae2e9d704ddbb3a32d4c80d28720954a0
|
|
| MD5 |
fd296736415ec523d657275b480b6c58
|
|
| BLAKE2b-256 |
36a9f2228c67a3c168b6e9b594bfca7c9b3a7a1b0d546a5a1522c934683f447d
|