90/ 100 · A
A landmark open source project with strong engineering quality.
All Algorithms implemented in Python
Python222,020 starsMITupdated 16d ago
DocumentationREADME, setup, examples, license
EngineeringTests, CI, linting, lockfiles
Project healthDescription, activity, stars, deps
What to fix first
The highest-impact improvements for this repo.
- 1TestsEngineeringIssue
Wire your tests to a documented command (e.g. a test script in your build config) so the suite is reproducible.
- 2CI/CDEngineeringInfo
Add `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.
- 3CI/CDEngineeringInfo
Upload coverage to Codecov, Coveralls, or report it with `--coverage` flags.
Detailed breakdown
Documentation
81- README58
- README is present.
- README has some structure (−7 pts). 2–3 headings earns partial credit; 4+ earns the full +15 pts.Add more sections (Overview, Install, Usage, Contributing) using ## headings.
- No screenshots or images in the README (−20 pts).Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.
- README has no code examples (−15 pts).Show a quick-start snippet so contributors can see what using your project looks like.
- README links to a live demo or deployed app.
- README includes status badges.
- Install and run instructions90
- README documents how to install the project.
- README documents how to run the project.
- No .env.example found (−10 pts).Add a .env.example listing all required environment variables so contributors know what to set up.
- License100
- Licensed under MIT.
- Contributing guide100
- Contributing guide is detailed and thorough.
- Contributing guide includes setup/install instructions.
- Contributing guide describes code style expectations.
- Contributing guide explains how to run tests.
- Contributing guide describes the PR/review workflow.
- Contributing guide includes code examples.
- Optional: add a Code of Conduct.A CODE_OF_CONDUCT.md signals that your project is welcoming. GitHub has a template you can add in one click.
Engineering
94- Tests85
- Test files detected (data_structures/hashing/tests).
- Pytest referenced in pyproject.toml and test files present.
- Test files detected (85/100) but no test runner configured (−15 pts). Without a documented test command the suite cannot be verified by contributors.Wire your tests to a documented command (e.g. a test script in your build config) so the suite is reproducible.
- CI/CD100
Not applicable?
- CI is configured (.github/workflows/build.yml).
- CI workflow runs tests.
- CI runs on pull requests, not just on pushes to main.
- CI workflow runs a lint or format check.
- Optional: add type checking to CI.Add `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.
- Optional: report test coverage in CI.Upload coverage to Codecov, Coveralls, or report it with `--coverage` flags.
- Linting and formatting100
- Linter or formatter configured ([tool.ruff] / [tool.black] in pyproject.toml).
- Reproducibility92
- Lockfile present (uv.lock). Installs are reproducible.
- Environment pinned via .devcontainer/Dockerfile.
- Dependabot configured for github-actions.
- Dependabot only covers one ecosystem (−8 pts). Covering 2+ ecosystems earns the full +20 pts.Add additional package-ecosystem entries (especially github-actions) to keep all dependencies current.
- Issue and PR templates100
- Issue or PR templates present.
- Optional: add a SECURITY.md.A SECURITY.md explains how to responsibly disclose vulnerabilities. Worth adding once the project has real users.
Project health
96- Dependency manifest86
- Dependency manifest found (pyproject.toml).
- pyproject.toml has a [project] table with package metadata.
- pyproject.toml includes a description.
- pyproject.toml specifies requires-python, preventing installs on incompatible versions.
- pyproject.toml has no project URLs (−7 pts).Add a [project.urls] table (Homepage, Repository) so PyPI links back to your project.
- pyproject.toml has no [build-system] table (−7 pts).Add a [build-system] table (e.g. setuptools or hatchling) so the package can be built and published.
- Repository metadata100
- Repository has a description.
- Primary language detected: Python.
- Activity100
- Actively maintained (pushed within the last month).
- 222,020 stars.
- Housekeeping100
- .gitignore present.
Repository files59 root entries
- .devcontainerGood: Environment pinned via .devcontainer/Dockerfile.
- .githubGood: CI is configured (.github/workflows/build.yml).Good: Dependabot configured for github-actions.Good: Issue or PR templates present.
- .vscode
- audio_filters
- backtracking
- bit_manipulation
- blockchain
- boolean_algebra
- cellular_automata
- ciphers
- computer_vision
- conversions
- data_compression
- data_structuresGood: Test files detected (data_structures/hashing/tests).
- digital_image_processing
- divide_and_conquer
- docs
- dynamic_programming
- electronics
- file_transfer
- financial
- fractals
- fuzzy_logic
- genetic_algorithm
- geodesy
- geometry
- graphics
- graphs
- greedy_methods
- hashes
- knapsack
- linear_algebra
- linear_programming
- machine_learning
- maths
- matrix
- networking_flow
- neural_network
- other
- physics
- project_euler
- quantum
- scheduling
- scripts
- searches
- sorts
- strings
- web_programming
- .gitattributes
- .gitignoreGood: .gitignore present.
- .gitpod.yml
- .pre-commit-config.yaml
- CONTRIBUTING.mdGood: Contributing guide is detailed and thorough.Good: Contributing guide includes setup/install instructions.Good: Contributing guide describes code style expectations.Good: Contributing guide explains how to run tests.Good: Contributing guide describes the PR/review workflow.Good: Contributing guide includes code examples.
- DIRECTORY.md
- index.md
- LICENSE.mdGood: Licensed under MIT.
- pyproject.tomlGood: Dependency manifest found (pyproject.toml).
- README.mdGood: README is present.Issue: README has some structure (−7 pts). 2–3 headings earns partial credit; 4+ earns the full +15 pts.Fix: Add more sections (Overview, Install, Usage, Contributing) using ## headings.Issue: No screenshots or images in the README (−20 pts).Fix: Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.Issue: README has no code examples (−15 pts).Fix: Show a quick-start snippet so contributors can see what using your project looks like.Good: README links to a live demo or deployed app.Good: README includes status badges.Good: README documents how to install the project.Good: README documents how to run the project.
- uv.lockGood: Lockfile present (uv.lock). Installs are reproducible.