devnomads 0.4.1__tar.gz → 0.6.0__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.
Files changed (40) hide show
  1. devnomads-0.4.1/README.md → devnomads-0.6.0/PKG-INFO +33 -1
  2. devnomads-0.4.1/PKG-INFO → devnomads-0.6.0/README.md +15 -19
  3. devnomads-0.6.0/openapi.json +8500 -0
  4. {devnomads-0.4.1 → devnomads-0.6.0}/pyproject.toml +1 -1
  5. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/acme/client.py +30 -1
  6. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/api/__init__.py +2 -1
  7. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/api/_services.py +610 -14
  8. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/api/client.py +54 -7
  9. {devnomads-0.4.1 → devnomads-0.6.0}/tests/test_acme_client.py +49 -0
  10. {devnomads-0.4.1 → devnomads-0.6.0}/tests/test_client.py +39 -0
  11. {devnomads-0.4.1 → devnomads-0.6.0}/tests/test_services.py +6 -0
  12. {devnomads-0.4.1 → devnomads-0.6.0}/tools/generate.py +17 -2
  13. {devnomads-0.4.1 → devnomads-0.6.0}/uv.lock +1 -1
  14. devnomads-0.4.1/openapi.json +0 -3769
  15. {devnomads-0.4.1 → devnomads-0.6.0}/.flake8 +0 -0
  16. {devnomads-0.4.1 → devnomads-0.6.0}/.gitignore +0 -0
  17. {devnomads-0.4.1 → devnomads-0.6.0}/.gitlab-ci.yml +0 -0
  18. {devnomads-0.4.1 → devnomads-0.6.0}/Makefile +0 -0
  19. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/__init__.py +0 -0
  20. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/acme/__init__.py +0 -0
  21. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/acme/challenge_server.py +0 -0
  22. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/acme/dns01.py +0 -0
  23. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/acme/errors.py +0 -0
  24. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/acme/http01.py +0 -0
  25. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/acme/keys.py +0 -0
  26. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/acme/verify.py +0 -0
  27. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/api/credentials.py +0 -0
  28. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/api/errors.py +0 -0
  29. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/dns/__init__.py +0 -0
  30. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/dns/errors.py +0 -0
  31. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/dns/names.py +0 -0
  32. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/dns/zones.py +0 -0
  33. {devnomads-0.4.1 → devnomads-0.6.0}/src/devnomads/py.typed +0 -0
  34. {devnomads-0.4.1 → devnomads-0.6.0}/tests/conftest.py +0 -0
  35. {devnomads-0.4.1 → devnomads-0.6.0}/tests/test_acme_challenges.py +0 -0
  36. {devnomads-0.4.1 → devnomads-0.6.0}/tests/test_acme_keys.py +0 -0
  37. {devnomads-0.4.1 → devnomads-0.6.0}/tests/test_credentials.py +0 -0
  38. {devnomads-0.4.1 → devnomads-0.6.0}/tests/test_dns.py +0 -0
  39. {devnomads-0.4.1 → devnomads-0.6.0}/tests/test_names.py +0 -0
  40. {devnomads-0.4.1 → devnomads-0.6.0}/tools/bump_version.py +0 -0
@@ -1,3 +1,21 @@
1
+ Metadata-Version: 2.5
2
+ Name: devnomads
3
+ Version: 0.6.0
4
+ Summary: Python client library for the DevNomads API (transport, DNS, ACME)
5
+ Project-URL: Homepage, https://devnomads.nl
6
+ Author-email: DevNomads <support@devnomads.nl>
7
+ License: MIT
8
+ Keywords: acme,api,devnomads,dns,powerdns
9
+ Requires-Python: >=3.10
10
+ Requires-Dist: httpx>=0.27
11
+ Provides-Extra: acme
12
+ Requires-Dist: acme>=2.11; extra == 'acme'
13
+ Requires-Dist: cryptography>=42; extra == 'acme'
14
+ Requires-Dist: dnspython>=2.6; extra == 'acme'
15
+ Requires-Dist: josepy>=1.14; extra == 'acme'
16
+ Requires-Dist: requests>=2.31; extra == 'acme'
17
+ Description-Content-Type: text/markdown
18
+
1
19
  # devnomads
2
20
 
3
21
  Python client library for the [DevNomads](https://devnomads.nl) API:
@@ -172,6 +190,11 @@ JSON and:
172
190
  resource reads as absence;
173
191
  - raises `AuthError` on `401`/`403` and `ApiError` on any other `4xx`.
174
192
 
193
+ `send(method, path, *, params=None, json_body=None, timeout=None)` does
194
+ the same but returns a `Response` with `status`, `headers` and `data`,
195
+ and treats every non-2xx status as an error, a `404` included.
196
+ `timeout` overrides the client's request timeout for that call.
197
+
175
198
  ## Services
176
199
 
177
200
  Beyond the curated DNS and ACME helpers, the `Client` exposes the rest
@@ -194,9 +217,18 @@ with Client.from_environment() as client:
194
217
 
195
218
  The top-level resources are `servers`, `databases`, `emails`, `spams`,
196
219
  `containers`, `proxies`, `sites`, `buckets`, `domains`, `forwards`,
197
- `searches`, `apps`, and `handles`. (DNS stays the curated
220
+ `searches`, `apps`, `handles`, `keys`, `jobs`, `clients`, `invoices`,
221
+ `products`, and `services` (operations on any service, such as
222
+ `client.services.jobs.list(service_id)`). (DNS stays the curated
198
223
  `devnomads.dns` interface and is not generated here.)
199
224
 
225
+ Many create, update and delete calls run in the background: they
226
+ answer `202` with the list of queued jobs, all in one batch. Follow it
227
+ with `client.jobs.batches.show(batch_id)` until every job's `status`
228
+ is `completed`, `failed` or `cancelled`. Use `client.send(...)` instead
229
+ of `request` when you also need the status code or the `Location`
230
+ header that points at the batch.
231
+
200
232
  ### Conventions
201
233
 
202
234
  - **Path parameters** are positional, in URL order, snake-cased from
@@ -1,21 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: devnomads
3
- Version: 0.4.1
4
- Summary: Python client library for the DevNomads API (transport, DNS, ACME)
5
- Project-URL: Homepage, https://devnomads.nl
6
- Author-email: DevNomads <support@devnomads.nl>
7
- License: MIT
8
- Keywords: acme,api,devnomads,dns,powerdns
9
- Requires-Python: >=3.10
10
- Requires-Dist: httpx>=0.27
11
- Provides-Extra: acme
12
- Requires-Dist: acme>=2.11; extra == 'acme'
13
- Requires-Dist: cryptography>=42; extra == 'acme'
14
- Requires-Dist: dnspython>=2.6; extra == 'acme'
15
- Requires-Dist: josepy>=1.14; extra == 'acme'
16
- Requires-Dist: requests>=2.31; extra == 'acme'
17
- Description-Content-Type: text/markdown
18
-
19
1
  # devnomads
20
2
 
21
3
  Python client library for the [DevNomads](https://devnomads.nl) API:
@@ -190,6 +172,11 @@ JSON and:
190
172
  resource reads as absence;
191
173
  - raises `AuthError` on `401`/`403` and `ApiError` on any other `4xx`.
192
174
 
175
+ `send(method, path, *, params=None, json_body=None, timeout=None)` does
176
+ the same but returns a `Response` with `status`, `headers` and `data`,
177
+ and treats every non-2xx status as an error, a `404` included.
178
+ `timeout` overrides the client's request timeout for that call.
179
+
193
180
  ## Services
194
181
 
195
182
  Beyond the curated DNS and ACME helpers, the `Client` exposes the rest
@@ -212,9 +199,18 @@ with Client.from_environment() as client:
212
199
 
213
200
  The top-level resources are `servers`, `databases`, `emails`, `spams`,
214
201
  `containers`, `proxies`, `sites`, `buckets`, `domains`, `forwards`,
215
- `searches`, `apps`, and `handles`. (DNS stays the curated
202
+ `searches`, `apps`, `handles`, `keys`, `jobs`, `clients`, `invoices`,
203
+ `products`, and `services` (operations on any service, such as
204
+ `client.services.jobs.list(service_id)`). (DNS stays the curated
216
205
  `devnomads.dns` interface and is not generated here.)
217
206
 
207
+ Many create, update and delete calls run in the background: they
208
+ answer `202` with the list of queued jobs, all in one batch. Follow it
209
+ with `client.jobs.batches.show(batch_id)` until every job's `status`
210
+ is `completed`, `failed` or `cancelled`. Use `client.send(...)` instead
211
+ of `request` when you also need the status code or the `Location`
212
+ header that points at the batch.
213
+
218
214
  ### Conventions
219
215
 
220
216
  - **Path parameters** are positional, in URL order, snake-cased from