devhelm 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.
Files changed (49) hide show
  1. {devhelm-0.2.0 → devhelm-0.2.1}/PKG-INFO +1 -1
  2. {devhelm-0.2.0 → devhelm-0.2.1}/pyproject.toml +1 -1
  3. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/__init__.py +2 -0
  4. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/incidents.py +1 -5
  5. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/status_pages.py +14 -0
  6. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/types.py +2 -0
  7. {devhelm-0.2.0 → devhelm-0.2.1}/tests/run_sdk.py +6 -3
  8. {devhelm-0.2.0 → devhelm-0.2.1}/uv.lock +1 -1
  9. {devhelm-0.2.0 → devhelm-0.2.1}/.github/workflows/ci.yml +0 -0
  10. {devhelm-0.2.0 → devhelm-0.2.1}/.github/workflows/release.yml +0 -0
  11. {devhelm-0.2.0 → devhelm-0.2.1}/.github/workflows/spec-check.yml +0 -0
  12. {devhelm-0.2.0 → devhelm-0.2.1}/.gitignore +0 -0
  13. {devhelm-0.2.0 → devhelm-0.2.1}/LICENSE +0 -0
  14. {devhelm-0.2.0 → devhelm-0.2.1}/Makefile +0 -0
  15. {devhelm-0.2.0 → devhelm-0.2.1}/README.md +0 -0
  16. {devhelm-0.2.0 → devhelm-0.2.1}/docs/openapi/monitoring-api.json +0 -0
  17. {devhelm-0.2.0 → devhelm-0.2.1}/scripts/inject_strict_config.py +0 -0
  18. {devhelm-0.2.0 → devhelm-0.2.1}/scripts/regen-from.sh +0 -0
  19. {devhelm-0.2.0 → devhelm-0.2.1}/scripts/release.sh +0 -0
  20. {devhelm-0.2.0 → devhelm-0.2.1}/scripts/typegen.sh +0 -0
  21. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/_errors.py +0 -0
  22. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/_generated.py +0 -0
  23. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/_http.py +0 -0
  24. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/_pagination.py +0 -0
  25. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/_validation.py +0 -0
  26. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/client.py +0 -0
  27. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/py.typed +0 -0
  28. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/__init__.py +0 -0
  29. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/alert_channels.py +0 -0
  30. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/api_keys.py +0 -0
  31. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/dependencies.py +0 -0
  32. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/deploy_lock.py +0 -0
  33. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/environments.py +0 -0
  34. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/monitors.py +0 -0
  35. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/notification_policies.py +0 -0
  36. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/resource_groups.py +0 -0
  37. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/secrets.py +0 -0
  38. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/status.py +0 -0
  39. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/tags.py +0 -0
  40. {devhelm-0.2.0 → devhelm-0.2.1}/src/devhelm/resources/webhooks.py +0 -0
  41. {devhelm-0.2.0 → devhelm-0.2.1}/tests/__init__.py +0 -0
  42. {devhelm-0.2.0 → devhelm-0.2.1}/tests/test_client.py +0 -0
  43. {devhelm-0.2.0 → devhelm-0.2.1}/tests/test_errors.py +0 -0
  44. {devhelm-0.2.0 → devhelm-0.2.1}/tests/test_http.py +0 -0
  45. {devhelm-0.2.0 → devhelm-0.2.1}/tests/test_negative_validation.py +0 -0
  46. {devhelm-0.2.0 → devhelm-0.2.1}/tests/test_schemas.py +0 -0
  47. {devhelm-0.2.0 → devhelm-0.2.1}/tests/test_spec_parity.py +0 -0
  48. {devhelm-0.2.0 → devhelm-0.2.1}/tests/test_typing.py +0 -0
  49. {devhelm-0.2.0 → devhelm-0.2.1}/tests/test_validation_helpers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devhelm
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: DevHelm SDK for Python — typed client for monitors, incidents, alerting, and more
5
5
  Project-URL: Homepage, https://github.com/devhelmhq/sdk-python
6
6
  Project-URL: Repository, https://github.com/devhelmhq/sdk-python.git
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "devhelm"
3
- version = "0.2.0"
3
+ version = "0.2.1"
4
4
  description = "DevHelm SDK for Python — typed client for monitors, incidents, alerting, and more"
5
5
  authors = [{ name = "DevHelm", email = "hello@devhelm.io" }]
6
6
  license = "MIT"
@@ -82,6 +82,7 @@ from devhelm.types import (
82
82
  NotificationPolicyDto,
83
83
  PublishIncidentStatus,
84
84
  ReorderComponentsRequest,
85
+ ReorderPageLayoutRequest,
85
86
  ResolveIncidentRequest,
86
87
  ResourceGroupDto,
87
88
  ResourceGroupHealthStatus,
@@ -204,6 +205,7 @@ __all__ = [
204
205
  "AddCustomDomainRequest",
205
206
  "AdminAddSubscriberRequest",
206
207
  "ReorderComponentsRequest",
208
+ "ReorderPageLayoutRequest",
207
209
  "CreateMonitorRequest",
208
210
  "UpdateMonitorRequest",
209
211
  "CreateManualIncidentRequest",
@@ -8,7 +8,7 @@ from devhelm._generated import (
8
8
  IncidentDto,
9
9
  ResolveIncidentRequest,
10
10
  )
11
- from devhelm._http import api_delete, api_get, api_post, path_param
11
+ from devhelm._http import api_get, api_post, path_param
12
12
  from devhelm._pagination import Page, fetch_all_pages, fetch_page
13
13
  from devhelm._validation import RequestBody, parse_single, validate_request
14
14
 
@@ -57,7 +57,3 @@ class Incidents:
57
57
  api_post(self._client, f"/api/v1/incidents/{path_param(id)}/resolve", body),
58
58
  f"POST /api/v1/incidents/{id}/resolve",
59
59
  )
60
-
61
- def delete(self, id: int | str) -> None:
62
- """Delete an incident."""
63
- api_delete(self._client, f"/api/v1/incidents/{path_param(id)}")
@@ -11,6 +11,7 @@ from devhelm._generated import (
11
11
  CreateStatusPageIncidentUpdateRequest,
12
12
  CreateStatusPageRequest,
13
13
  ReorderComponentsRequest,
14
+ ReorderPageLayoutRequest,
14
15
  StatusPageComponentDto,
15
16
  StatusPageComponentGroupDto,
16
17
  StatusPageCustomDomainDto,
@@ -392,3 +393,16 @@ class StatusPages:
392
393
  def delete(self, id: int | str) -> None:
393
394
  """Delete a status page."""
394
395
  api_delete(self._client, _page_path(id))
396
+
397
+ def reorder_layout(
398
+ self, id: int | str, body: RequestBody[ReorderPageLayoutRequest]
399
+ ) -> None:
400
+ """Batch-reorder the page layout: top-level sections (groups +
401
+ ungrouped components) and, optionally, within-group component ordering.
402
+
403
+ Returns 204 No Content on success.
404
+ """
405
+ body = validate_request(
406
+ ReorderPageLayoutRequest, body, "statusPages.reorderLayout"
407
+ )
408
+ api_put(self._client, f"{_page_path(id)}/layout/reorder", body)
@@ -81,6 +81,7 @@ from devhelm._generated import (
81
81
  PublishStatusPageIncidentRequest,
82
82
  RecordType,
83
83
  ReorderComponentsRequest,
84
+ ReorderPageLayoutRequest,
84
85
  ResolutionReason,
85
86
  ResolveIncidentRequest,
86
87
  ResourceGroupDto,
@@ -250,6 +251,7 @@ __all__ = [
250
251
  "NotificationPolicyDto",
251
252
  "PublishStatusPageIncidentRequest",
252
253
  "ReorderComponentsRequest",
254
+ "ReorderPageLayoutRequest",
253
255
  "ResolveIncidentRequest",
254
256
  "ResourceGroupDto",
255
257
  "ResourceGroupMemberDto",
@@ -39,6 +39,7 @@ from devhelm import (
39
39
  Devhelm,
40
40
  DevhelmError,
41
41
  ReorderComponentsRequest,
42
+ ReorderPageLayoutRequest,
42
43
  ResolveIncidentRequest,
43
44
  UpdateAlertChannelRequest,
44
45
  UpdateEnvironmentRequest,
@@ -137,9 +138,6 @@ def run(client: Devhelm, resource: str, action: str, rest: list[str]) -> Any: #
137
138
  else None
138
139
  )
139
140
  return client.incidents.resolve(rest[0], body)
140
- if op == "incidents.delete":
141
- client.incidents.delete(rest[0])
142
- return None
143
141
 
144
142
  # -- Alert Channels --
145
143
  if op == "alert-channels.list":
@@ -311,6 +309,11 @@ def run(client: Devhelm, resource: str, action: str, rest: list[str]) -> Any: #
311
309
  if op == "status-pages.delete":
312
310
  client.status_pages.delete(rest[0])
313
311
  return None
312
+ if op == "status-pages.reorder-layout":
313
+ client.status_pages.reorder_layout(
314
+ rest[0], _parse(ReorderPageLayoutRequest, rest[1])
315
+ )
316
+ return None
314
317
 
315
318
  # -- Status Page Components --
316
319
  if op == "status-pages.components.list":
@@ -315,7 +315,7 @@ wheels = [
315
315
 
316
316
  [[package]]
317
317
  name = "devhelm"
318
- version = "0.2.0"
318
+ version = "0.2.1"
319
319
  source = { editable = "." }
320
320
  dependencies = [
321
321
  { name = "httpx" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes