Polished and well engineered. Punching above its star count.

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.

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