Skip to main content

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 supported
  • tuple: 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

algonest-0.1.1.tar.gz (30.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

algonest-0.1.1-py3-none-any.whl (50.1 kB view details)

Uploaded Python 3

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

Hashes for algonest-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b1b40495b103cae99d41f5dfdb4dab1ec7ab152d655de553055b263e44f32c42
MD5 97c32855298d76d235a244c564083890
BLAKE2b-256 67405a45d770a0e917c30fe1f5684da711e9b40710afb3ebecc5a43daf034eb6

See more details on using hashes here.

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

Hashes for algonest-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eacb64b124500a8841cfc3d4e244f0aae2e9d704ddbb3a32d4c80d28720954a0
MD5 fd296736415ec523d657275b480b6c58
BLAKE2b-256 36a9f2228c67a3c168b6e9b594bfca7c9b3a7a1b0d546a5a1522c934683f447d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page