git-buckets 0.2.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- git_buckets-0.2.1/PKG-INFO +76 -0
- git_buckets-0.2.1/README.md +61 -0
- {git_buckets-0.2.0 → git_buckets-0.2.1}/pyproject.toml +1 -1
- {git_buckets-0.2.0 → git_buckets-0.2.1}/pyproject.toml.orig +1 -1
- git_buckets-0.2.0/PKG-INFO +0 -20
- git_buckets-0.2.0/README.md +0 -5
- {git_buckets-0.2.0 → git_buckets-0.2.1}/src/git_buckets/__init__.py +0 -0
- {git_buckets-0.2.0 → git_buckets-0.2.1}/src/git_buckets/cli.py +0 -0
- {git_buckets-0.2.0 → git_buckets-0.2.1}/src/git_buckets/keyring/__init__.py +0 -0
- {git_buckets-0.2.0 → git_buckets-0.2.1}/src/git_buckets/keyring/backend.py +0 -0
- {git_buckets-0.2.0 → git_buckets-0.2.1}/src/git_buckets/keyring/proof.py +0 -0
- {git_buckets-0.2.0 → git_buckets-0.2.1}/src/git_buckets/publish.py +0 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: git-buckets
|
|
3
|
+
Version: 0.2.1
|
|
4
|
+
Summary: Git over S3: clone, fetch and push repositories backed by an S3 bucket.
|
|
5
|
+
Author: Full Duplex Media
|
|
6
|
+
Author-email: Full Duplex Media <contact@fullduplex.media>
|
|
7
|
+
License: Apache 2.0
|
|
8
|
+
Requires-Dist: boto3
|
|
9
|
+
Requires-Dist: click
|
|
10
|
+
Requires-Dist: fduplex-git-remote-s3
|
|
11
|
+
Requires-Dist: keyring
|
|
12
|
+
Requires-Dist: packaging
|
|
13
|
+
Requires-Python: >=3.14
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
|
|
16
|
+
# git-buckets
|
|
17
|
+
|
|
18
|
+
The end-user CLI for git-buckets deployments: git repos and Python package registries backed by S3, sitting
|
|
19
|
+
behind a private deployment you don't operate.
|
|
20
|
+
|
|
21
|
+
## Install
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
uv tool install git-buckets
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Gives you `gb`, a `keyring` backend for private package indexes, and a `keyring` CLI.
|
|
28
|
+
|
|
29
|
+
## Private package indexes
|
|
30
|
+
|
|
31
|
+
`uv sync` / `pip install` can reach a private index with no login step: the keyring backend turns your ambient
|
|
32
|
+
AWS profile into a short-lived token, in-process only, never written to disk.
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
export GB_KEYRING_HOSTS=git.example.cloud # comma-separated allowlist, required
|
|
36
|
+
export GB_KEYRING_PROFILE=my-profile # optional: AWS profile to mint with, else AWS_PROFILE / default chain
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```toml
|
|
40
|
+
[tool.uv]
|
|
41
|
+
keyring-provider = "subprocess"
|
|
42
|
+
|
|
43
|
+
[[tool.uv.index]]
|
|
44
|
+
name = "tools"
|
|
45
|
+
url = "https://gb@git.example.cloud/packages/tools/pypi/"
|
|
46
|
+
explicit = true
|
|
47
|
+
|
|
48
|
+
[tool.uv.sources]
|
|
49
|
+
my-package = { index = "tools" }
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The `gb@` in the URL is load-bearing: uv only does keyring discovery when the index URL carries a username.
|
|
53
|
+
|
|
54
|
+
Print a token by hand:
|
|
55
|
+
|
|
56
|
+
```sh
|
|
57
|
+
keyring get https://git.example.cloud/packages/tools/pypi/ gb
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Publishing
|
|
61
|
+
|
|
62
|
+
```sh
|
|
63
|
+
gb publish
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Publishes built distributions (`dist/*` by default) to the package index of the repo behind your project's
|
|
67
|
+
`origin` remote. See `gb publish --help` for `--bucket`, `--repo`, `--profile`, and `--dry-run`.
|
|
68
|
+
|
|
69
|
+
## Troubleshooting
|
|
70
|
+
|
|
71
|
+
Set `GB_KEYRING_DEBUG=1` to have the backend print one line to stderr explaining why a lookup declined (wrong
|
|
72
|
+
username, host not allowlisted, mint failure).
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
`git-buckets-keyring` is deprecated; its backend is merged into this package.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# git-buckets
|
|
2
|
+
|
|
3
|
+
The end-user CLI for git-buckets deployments: git repos and Python package registries backed by S3, sitting
|
|
4
|
+
behind a private deployment you don't operate.
|
|
5
|
+
|
|
6
|
+
## Install
|
|
7
|
+
|
|
8
|
+
```sh
|
|
9
|
+
uv tool install git-buckets
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Gives you `gb`, a `keyring` backend for private package indexes, and a `keyring` CLI.
|
|
13
|
+
|
|
14
|
+
## Private package indexes
|
|
15
|
+
|
|
16
|
+
`uv sync` / `pip install` can reach a private index with no login step: the keyring backend turns your ambient
|
|
17
|
+
AWS profile into a short-lived token, in-process only, never written to disk.
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
export GB_KEYRING_HOSTS=git.example.cloud # comma-separated allowlist, required
|
|
21
|
+
export GB_KEYRING_PROFILE=my-profile # optional: AWS profile to mint with, else AWS_PROFILE / default chain
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
```toml
|
|
25
|
+
[tool.uv]
|
|
26
|
+
keyring-provider = "subprocess"
|
|
27
|
+
|
|
28
|
+
[[tool.uv.index]]
|
|
29
|
+
name = "tools"
|
|
30
|
+
url = "https://gb@git.example.cloud/packages/tools/pypi/"
|
|
31
|
+
explicit = true
|
|
32
|
+
|
|
33
|
+
[tool.uv.sources]
|
|
34
|
+
my-package = { index = "tools" }
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The `gb@` in the URL is load-bearing: uv only does keyring discovery when the index URL carries a username.
|
|
38
|
+
|
|
39
|
+
Print a token by hand:
|
|
40
|
+
|
|
41
|
+
```sh
|
|
42
|
+
keyring get https://git.example.cloud/packages/tools/pypi/ gb
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Publishing
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
gb publish
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Publishes built distributions (`dist/*` by default) to the package index of the repo behind your project's
|
|
52
|
+
`origin` remote. See `gb publish --help` for `--bucket`, `--repo`, `--profile`, and `--dry-run`.
|
|
53
|
+
|
|
54
|
+
## Troubleshooting
|
|
55
|
+
|
|
56
|
+
Set `GB_KEYRING_DEBUG=1` to have the backend print one line to stderr explaining why a lookup declined (wrong
|
|
57
|
+
username, host not allowlisted, mint failure).
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
`git-buckets-keyring` is deprecated; its backend is merged into this package.
|
git_buckets-0.2.0/PKG-INFO
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: git-buckets
|
|
3
|
-
Version: 0.2.0
|
|
4
|
-
Summary: Git over S3: clone, fetch and push repositories backed by an S3 bucket.
|
|
5
|
-
Author: Full Duplex Media
|
|
6
|
-
Author-email: Full Duplex Media <contact@fullduplex.media>
|
|
7
|
-
License: Apache 2.0
|
|
8
|
-
Requires-Dist: boto3
|
|
9
|
-
Requires-Dist: click
|
|
10
|
-
Requires-Dist: fduplex-git-remote-s3
|
|
11
|
-
Requires-Dist: keyring
|
|
12
|
-
Requires-Dist: packaging
|
|
13
|
-
Requires-Python: >=3.14
|
|
14
|
-
Description-Content-Type: text/markdown
|
|
15
|
-
|
|
16
|
-
# git-buckets
|
|
17
|
-
|
|
18
|
-
Git over S3: clone, fetch and push repositories backed by an S3 bucket.
|
|
19
|
-
|
|
20
|
-
The end-user surface lands in Increment 3 of the refactor. See the repo root `README.md`.
|
git_buckets-0.2.0/README.md
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|