Algoflex
Sharpen your algorithm skills — right from the terminal.
Algoflex is a lightweight, terminal-based platform for practicing algorithms and improving problem-solving skills. It provides a curated collection of coding problems, fast feedback, and progress tracking — all without leaving your command line.
Features
- Lightweight & offline-first — Practice algorithms without relying on an internet connection.
- Cross-platform — Runs on Linux, macOS, and Windows.
- Curated problem set — A focused collection of algorithm and data structure problems designed to strengthen fundamental problem-solving skills.
- Keyboard-driven interface — Navigate quickly and efficiently without a mouse. Mouse input is supported as well.
- Progress tracking — Track your performance, compare solve times, and identify areas for improvement.
- Multiple languages — Solve problems using Python or Rust.
Algorithm & Data Structures
Algoflex's curated problem set covers a range of fundamental algorithms and data structures, including:
- Arrays & Strings
- Linked Lists
- Stacks & Queues
- Hashing
- Trees & Binary Search Trees
- Heaps & Priority Queues
- Graphs
- Searching & Sorting
- Greedy Algorithms
- Dynamic Programming
- Backtracking
- Recursion
- Intervals
- Bit Manipulation
The problem set is designed to reinforce core concepts, develop problem-solving patterns, and provide progressively challenging practice.
Installation
Algoflex requires Python 3.12 or later and runs on Linux, macOS, and Windows.
To solve problems in Rust, you must also have Rust 1.97 or later installed on your system. See the official Rust installation guide for instructions.
Using uv
Install Algoflex as a standalone tool with Astral's uv:
uv tool install algoflex
Using pip
Alternatively, install Algoflex with pip:
pip install algoflex
Getting Started
Once installed, launch Algoflex from your terminal:
algoflex
Choose a problem, write your solution, run the tests, and review your results.
Supported Languages
Algoflex currently supports:
- Python 3.12+
- Rust 1.97+
Screenshots
Attempt Screen
Search
Dashboard
Development
Algoflex uses uv for project management. Make sure you have installed uv.
To set up Algoflex for local development, clone the repo, install dependencies and set up git pre commit hooks using:
git clone https://github.com/ndero/algoflex.git
cd algoflex
make setup
Run the test suite with:
make test
Build and run algoflex locally with:
make run
License
Algoflex is licensed under the MIT License.
See the LICENSE file for the full license text.
Metadata
Release files for algoflex 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| algoflex-1.1.1.tar.gz | 124.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| algoflex-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 359.6 kB
Release files / algoflex-1.1.1.tar.gz
| Download URL | algoflex-1.1.1.tar.gz |
|---|---|
| Size | 124.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8ae4ad6e9e68e3ba37559f2e0b69b0092d4b3a2aaedfe579fe90f311c8733e33
|
|
BLAKE2b-256 checksum How to use checksums |
22e9f246d9dd1e81801bee96505fced799775f95ae50b9ab78f42f2ee66bc313
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / algoflex-1.1.1-py3-none-any.whl
| Download URL | algoflex-1.1.1-py3-none-any.whl |
|---|---|
| Size | 235.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49820cbee605d17b66b419a1736f0aa0c68bd0a22732692feee6f8f6dd25eb3d
|
|
BLAKE2b-256 checksum How to use checksums |
8b1d0ebc51e0828711e52e96ddc4610c4f24d8054f2e0309d0392b147806d86a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|