Skip to main content

repodb

Keep a SQLite database of git project clone URLs, and clone from it.

Each project is stored as (owner, name, url), keyed by (owner, name). The owner is the first path component after the host (alice in github.com/alice/r or git@gitlab.com:alice/r), for any host.

Install

uv tool install git+https://github.com/shakfu/repodb

This installs repodb.

Usage

repodb scan ~/src                         # add origin URLs of local projects
repodb github USER [--source] [--ssh]     # add USER's GitHub repos (needs gh)
repodb list [-g] [-u] [--owner USER]      # names, grouped by owner, or URLs
repodb export [-g] [--owner USER] -o projects.json
repodb import projects.json
repodb clone DEST [-g] [--owner USER | --json projects.json]
repodb remove OWNER/NAME [NAME ...] | --owner USER --all
repodb info                               # format, counts, hosts; read-only
  • The JSON form is {name: url}, or with -g {owner: {name: url}}. Both round-trip byte for byte.

  • clone writes DEST/<name>, or with -g DEST/<owner>/<name>, and skips targets that exist.

  • The flat forms refuse a name held by two owners, ignoring case; use -g.

  • The database defaults to ~/.local/share/repodb/repos.sqlite; override with --db.

Development

make qa     # ruff lint and format check, mypy, pytest

Metadata

Release files for repodb 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for repodb 0.1.1
File Size Uploaded Provenance
repodb-0.1.1.tar.gz 16.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for repodb 0.1.1
File Interpreter ABI Platform
repodb-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 25.8 kB

Release files / repodb-0.1.1.tar.gz

Download URL repodb-0.1.1.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a9ea8e9ff44911fc6d41269cc0446a5540ae21b2a755bb456b2d26f4bcbf76a2
BLAKE2b-256 checksum
How to use checksums
e9c15aea57c4359f81deff5e1d9fce8678cd32de0fcddcf5c9c71b030df79faf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / repodb-0.1.1-py3-none-any.whl

Download URL repodb-0.1.1-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e613f860407c9655e8afe7d584ef50d4c850bb7f8822782848c0e339992e3d7
BLAKE2b-256 checksum
How to use checksums
99b6bdaafcc74801cd7e78e6b5d75ab3fcedd9dfd47a1fcc6e540654e7b0a2d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for repodb 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page