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
81
EngineeringTests, CI, linting, lockfiles
94
Project healthDescription, activity, stars, deps
96

What to fix first

The highest-impact improvements for this repo.

  1. 1
    Tests
    EngineeringIssue

    Wire your tests to a documented command (e.g. a test script in your build config) so the suite is reproducible.

  2. 2
    CI/CD
    EngineeringInfo

    Add `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.

  3. 3
    CI/CD
    EngineeringInfo

    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
  • .devcontainer
    Good: Environment pinned via .devcontainer/Dockerfile.
  • .github
    Good: 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_structures
    Good: 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
  • .gitignore
    Good: .gitignore present.
  • .gitpod.yml
  • .pre-commit-config.yaml
  • CONTRIBUTING.md
    Good: 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.md
    Good: Licensed under MIT.
  • pyproject.toml
    Good: Dependency manifest found (pyproject.toml).
  • README.md
    Good: 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.lock
    Good: Lockfile present (uv.lock). Installs are reproducible.