0

/ 100

GradeB

Polished and well engineered. Punching above its star count.

Top 22% of 5,156 graded repos

This tool has been designed to Interact and Manage different Photo Services such as Google Photos, Synology Photos, Immich Photos, NextCloud Photos, Google Takeout & Apple iCloud Takeout. The Tool supports multiple accounts per service, so you can migrate your assets between different accounts of the same service.

Top fixes

Highest-impact changes first, ranked by point weight

10 to address
  1. 1
    Tests18pt

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

  2. 2
    CI/CD14pt

    Add a lint step to catch style issues automatically.

  3. 3
    CI/CD14pt

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

  4. 4
    CI/CD14pt

    Upload coverage to Codecov, Coveralls, or report it with `--coverage` flags.

Working through the fixes? Let every push regrade itself.

The free GitHub App rescans this repo on every push and posts the grade as a commit check, so the score climbs without coming back to rescan by hand.

Install the GitHub App

Scorecard

Every check, grouped by category and sorted worst-first

Documentation

97

Install and run instructions9pt90

README documents how to install the project.

Contributing guide5pt97

Contributing guide is detailed and thorough.

README12pt100

README is present.

License6pt100

Licensed under GPL-3.0.

Engineering

76

Linting and formatting5pt0

No linter or formatter configured.

Add [tool.ruff] to pyproject.toml. Ruff handles linting and formatting in one tool and replaces flake8, isort, and black.

Tests18pt80

Test files detected (pytest.ini).

Reproducibility6pt80

Lockfile present (requirements.txt). Installs are reproducible.

CI/CD14pt85

CI is configured (.github/workflows/build_all.yml).

Issue and PR templates6pt100

Issue or PR templates present.

Project health

91

Housekeeping3pt60

.gitignore present.

Dependency manifest6pt93

Dependency manifest found (pyproject.toml).

Repository metadata5pt100

Repository has a description.

Activity5pt100

Actively maintained (pushed within the last month).

Repository health signals

Activity, community, and responsiveness at scan time

Activity

  • -
    Commits (30d / 90d)
  • 16
    Forks
  • 40
    Releaseslatest 1y ago

Community

  • -
    Community health
  • -
    authors own >50% of commits
  • 202
    Watchers

Responsiveness

  • <1h
    Median issue response
  • <1h
    Median PR merge time
  • 0
    Open issues
Repository files25 root entries
  • .github
    Good: CI is configured (.github/workflows/build_all.yml).
    Good: Issue or PR templates present.
  • .idea
    Issue: Build artifacts or local files may be committed (.idea/PhotoMigrator.iml) (−40 pts).Fix: Remove them and add to .gitignore.
  • assets
  • docker-cli
  • docker-web
    Good: Environment pinned via docker-web/docker-compose.yml.
  • exif_tool
  • gpth_tool
  • help
  • src
  • tests
  • tools
  • .dockerignore
  • .gitignore
    Good: .gitignore present.
  • CHANGELOG.md
  • CODE_OF_CONDUCT.md
    Good: Code of conduct present.
  • Config.ini
  • CONTRIBUTING.md
    Good: Contributing guide is detailed and thorough.
    Good: Contributing guide includes setup/install instructions.
    Good: Contributing guide describes code style expectations.
    Issue: Contributing guide lacks a testing section (−8 pts).Fix: Show contributors how to run the test suite (e.g. npm test, pytest, cargo test).
    Good: Contributing guide describes the PR/review workflow.
    Good: Contributing guide includes code examples.
  • DOWNLOAD.md
  • LICENSE
    Good: Licensed under GPL-3.0.
  • pyproject.toml
    Good: Dependency manifest found (pyproject.toml).
  • pytest.ini
    Good: Test files detected (pytest.ini).
  • README.md
    Good: README is present.
    Good: README is well structured with multiple sections.
    Good: README includes screenshots or visuals. Great for first impressions.
    Good: README has code examples.
    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.
  • requirements.txt
    Good: Lockfile present (requirements.txt). Installs are reproducible.
  • ROADMAP.md
  • setup.py
RepoGrade badge preview

Add this badge to your README

It updates automatically each time the repo is re-graded.

[![RepoGrade](https://www.repo-grade.com/api/badge/jaimetur/photomigrator)](https://www.repo-grade.com/report/jaimetur/photomigrator)

More graded Python repos