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. -
clonewritesDEST/<name>, or with-gDEST/<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.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| repodb-0.1.2.tar.gz | 16.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| repodb-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.2 kB
Release files / repodb-0.1.2.tar.gz
| Download URL | repodb-0.1.2.tar.gz |
|---|---|
| Size | 16.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b6d984e79d5bb8708c2fd70f2a85d3ff3b6adebaeabbb7f16d83a16e3ea962e
|
|
BLAKE2b-256 checksum How to use checksums |
1885cfe0f58fde0275319e2d1576d94e6fb89edb2bcf647b42573bf08f612a46
|
| 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.2-py3-none-any.whl
| Download URL | repodb-0.1.2-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1dfb83deb6675a61ead841823ea28b8b0a4d6d11186930a5b7f41fdf2192ed54
|
|
BLAKE2b-256 checksum How to use checksums |
7a96d89a5804bd3669236a3eedaea23669aa6d7efaec245522282847b61b4007
|
| 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.2
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.