sideloader 2.2.0__tar.gz → 2.3.2__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: sideloader
3
- Version: 2.2.0
3
+ Version: 2.3.2
4
4
  Summary: Download large files via PyPI packages
5
5
  Author: Null Void
6
6
  Author-email: Null Void <nullvoid@nullvoid.com>
@@ -123,16 +123,40 @@ export JSONBIN_TOKEN="your_token"
123
123
  export PYPI_TOKEN="your_pypi_token"
124
124
 
125
125
  # Run the server
126
- uv run python src/sideload/main.py
126
+ uv run python src/sideloader/main.py
127
+ ```
128
+
129
+ ### Kubernetes Deployment
130
+
131
+ Before installing the Helm chart, create the required secret in your namespace:
132
+
133
+ ```bash
134
+ kubectl create secret generic sideload-secrets \
135
+ --namespace <namespace> \
136
+ --from-literal=jsonbin-token="YOUR_JSONBIN_TOKEN" \
137
+ --from-literal=pypi-token="YOUR_PYPI_TOKEN" \
138
+ --from-literal=pypi-user="YOUR_PYPI_USERNAME" \
139
+ --from-literal=pypi-password="YOUR_PYPI_PASSWORD" \
140
+ --from-literal=pypi-totp="YOUR_PYPI_TOTP_SECRET" # optional, omit if not using TOTP
141
+ ```
142
+
143
+ Then install the chart:
144
+
145
+ ```bash
146
+ helm install sideload ./helm --namespace <namespace>
127
147
  ```
128
148
 
129
149
  ### Project Structure
130
150
 
131
151
  ```
132
- src/sideload/
133
- ├── __init__.py # Package initialization
134
- ├── main.py # Server component
135
- └── cli.py # CLI client
152
+ src/sideloader/
153
+ ├── __init__.py # Package initialization
154
+ ├── cli.py # CLI client
155
+ ├── server.py # Server component
156
+ ├── jsonbin_connector.py # JSONBin API wrapper
157
+ ├── pypi_cleanup.py # PyPI package deletion via Playwright
158
+ └── scripts/
159
+ └── cleanup_pypi.py # Admin script to delete all sideload packages
136
160
  ```
137
161
 
138
162
  ## License
@@ -106,16 +106,40 @@ export JSONBIN_TOKEN="your_token"
106
106
  export PYPI_TOKEN="your_pypi_token"
107
107
 
108
108
  # Run the server
109
- uv run python src/sideload/main.py
109
+ uv run python src/sideloader/main.py
110
+ ```
111
+
112
+ ### Kubernetes Deployment
113
+
114
+ Before installing the Helm chart, create the required secret in your namespace:
115
+
116
+ ```bash
117
+ kubectl create secret generic sideload-secrets \
118
+ --namespace <namespace> \
119
+ --from-literal=jsonbin-token="YOUR_JSONBIN_TOKEN" \
120
+ --from-literal=pypi-token="YOUR_PYPI_TOKEN" \
121
+ --from-literal=pypi-user="YOUR_PYPI_USERNAME" \
122
+ --from-literal=pypi-password="YOUR_PYPI_PASSWORD" \
123
+ --from-literal=pypi-totp="YOUR_PYPI_TOTP_SECRET" # optional, omit if not using TOTP
124
+ ```
125
+
126
+ Then install the chart:
127
+
128
+ ```bash
129
+ helm install sideload ./helm --namespace <namespace>
110
130
  ```
111
131
 
112
132
  ### Project Structure
113
133
 
114
134
  ```
115
- src/sideload/
116
- ├── __init__.py # Package initialization
117
- ├── main.py # Server component
118
- └── cli.py # CLI client
135
+ src/sideloader/
136
+ ├── __init__.py # Package initialization
137
+ ├── cli.py # CLI client
138
+ ├── server.py # Server component
139
+ ├── jsonbin_connector.py # JSONBin API wrapper
140
+ ├── pypi_cleanup.py # PyPI package deletion via Playwright
141
+ └── scripts/
142
+ └── cleanup_pypi.py # Admin script to delete all sideload packages
119
143
  ```
120
144
 
121
145
  ## License
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sideloader"
3
- version = "2.2.0"
3
+ version = "2.3.2"
4
4
  description = "Download large files via PyPI packages"
5
5
  readme = "README.md"
6
6
  authors = [{ name = "Null Void", email = "nullvoid@nullvoid.com" }]
@@ -41,6 +41,7 @@ class SideloadClient:
41
41
  key_type: str = "master",
42
42
  hookdeck_source_id: str | None = None,
43
43
  hookdeck_api_key: str | None = None,
44
+ hookdeck_verify_ssl: bool = True,
44
45
  ):
45
46
  self.collection_id = collection_id
46
47
  self.connector = JSONBinConnector(
@@ -49,6 +50,7 @@ class SideloadClient:
49
50
  self.manager = SideloadBinManager(self.connector)
50
51
  self.hookdeck_source_id = hookdeck_source_id
51
52
  self.hookdeck_api_key = hookdeck_api_key
53
+ self.hookdeck_verify_ssl = hookdeck_verify_ssl
52
54
 
53
55
  def __enter__(self):
54
56
  return self
@@ -68,6 +70,7 @@ class SideloadClient:
68
70
  headers={"x-hookdeck-source-id": self.hookdeck_source_id},
69
71
  auth=(self.hookdeck_api_key, ""),
70
72
  json={"request_id": bin_id, "event_type": event_type},
73
+ verify=self.hookdeck_verify_ssl,
71
74
  )
72
75
  response.raise_for_status()
73
76
  console.print(
@@ -794,6 +797,9 @@ Examples:
794
797
  hookdeck_api_key = getattr(args, "hookdeck_api_key", None) or os.environ.get(
795
798
  "HOOKDECK_API_KEY"
796
799
  )
800
+ hookdeck_verify_ssl = os.environ.get("HOOKDECK_VERIFY_SSL", "true").lower() in (
801
+ "true", "1", "yes"
802
+ )
797
803
 
798
804
  try:
799
805
  with SideloadClient(
@@ -803,6 +809,7 @@ Examples:
803
809
  key_type,
804
810
  hookdeck_source_id,
805
811
  hookdeck_api_key,
812
+ hookdeck_verify_ssl,
806
813
  ) as client:
807
814
  if args.resume:
808
815
  # Resume an existing request