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.
@@ -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.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "git-buckets"
3
- version = "0.2.0"
3
+ version = "0.2.1"
4
4
  description = "Git over S3: clone, fetch and push repositories backed by an S3 bucket."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.14"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "git-buckets"
3
- version = "0.2.0"
3
+ version = "0.2.1"
4
4
  description = "Git over S3: clone, fetch and push repositories backed by an S3 bucket."
5
5
  authors = [
6
6
  { name = 'Full Duplex Media', email = 'contact@fullduplex.media' }
@@ -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`.
@@ -1,5 +0,0 @@
1
- # git-buckets
2
-
3
- Git over S3: clone, fetch and push repositories backed by an S3 bucket.
4
-
5
- The end-user surface lands in Increment 3 of the refactor. See the repo root `README.md`.