Personal algorithm and data structure implementations grouped by language. The repository is organized as a small multi-language workspace for practice, reference, and cross-language implementation notes.
python/- Python package source and tests, managed withuv.rust/- Rust crate source, tests, and Cargo metadata.typescript/- TypeScript package source and tests, managed with npm.Makefile- root entry points for build, lint, and test workflows.
Language versions are pinned with project-local version files where applicable.
makeuv- Rust toolchain with Cargo, rustfmt, and Clippy
- Node.js 24 or newer with npm
Install TypeScript dependencies before running the root commands for the first time:
cd typescript
npm installPython dependencies are resolved by uv when the Python commands run.
Run all project checks from the repo root:
make build
make lint
make testThe root commands delegate to each language workspace:
make buildcompiles or builds the Python, Rust, and TypeScript projects.make lintruns formatting, linting, and type-checking checks.make testruns the language-specific test suites.
Use these when working in a single workspace.
cd python
uv run python src/main.py
uv run pytest
uv run ruff check .
uv run ruff format --check .cd rust
cargo build --locked
cargo test --locked
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warningscd typescript
npm install
npm run build
npm test
npm run typecheck