meterbase 0.1.2__tar.gz → 0.1.4__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 (41) hide show
  1. {meterbase-0.1.2 → meterbase-0.1.4}/PKG-INFO +8 -5
  2. {meterbase-0.1.2 → meterbase-0.1.4}/README.md +7 -4
  3. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_http.py +1 -1
  4. meterbase-0.1.4/src/meterbase/_version.py +1 -0
  5. meterbase-0.1.2/src/meterbase/_version.py +0 -1
  6. {meterbase-0.1.2 → meterbase-0.1.4}/.gitignore +0 -0
  7. {meterbase-0.1.2 → meterbase-0.1.4}/LICENSE +0 -0
  8. {meterbase-0.1.2 → meterbase-0.1.4}/pyproject.toml +0 -0
  9. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/__init__.py +0 -0
  10. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/__init__.py +0 -0
  11. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/_io.py +0 -0
  12. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/_transport.py +0 -0
  13. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/client.py +0 -0
  14. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/resources/__init__.py +0 -0
  15. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/resources/customer_allowances.py +0 -0
  16. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/resources/customer_periods.py +0 -0
  17. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/resources/customer_plan.py +0 -0
  18. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/resources/customers.py +0 -0
  19. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/resources/meters.py +0 -0
  20. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_async/resources/plans.py +0 -0
  21. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_json.py +0 -0
  22. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_keys.py +0 -0
  23. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_models.py +0 -0
  24. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_not_given.py +0 -0
  25. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/__init__.py +0 -0
  26. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/_io.py +0 -0
  27. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/_transport.py +0 -0
  28. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/client.py +0 -0
  29. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/resources/__init__.py +0 -0
  30. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/resources/customer_allowances.py +0 -0
  31. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/resources/customer_periods.py +0 -0
  32. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/resources/customer_plan.py +0 -0
  33. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/resources/customers.py +0 -0
  34. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/resources/meters.py +0 -0
  35. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_sync/resources/plans.py +0 -0
  36. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/_time.py +0 -0
  37. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/errors.py +0 -0
  38. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/py.typed +0 -0
  39. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/resources.py +0 -0
  40. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/types.py +0 -0
  41. {meterbase-0.1.2 → meterbase-0.1.4}/src/meterbase/webhooks.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: meterbase
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: Python SDK for the Meterbase engine
5
5
  Project-URL: Homepage, https://meterbase.tech
6
6
  Project-URL: Documentation, https://meterbase.tech/docs
@@ -72,8 +72,10 @@ meterbase.track(
72
72
  )
73
73
  ```
74
74
 
75
- An API key names its own workspace, so there is no workspace to pass. Create
76
- one client and reuse it: it keeps a pool of connections open, and
75
+ An API key names its own workspace, so there is no workspace to pass. A
76
+ sandbox's keys start `mb_sk_test_` and act on the sandbox alone, so give
77
+ development, CI and staging one of those: nothing else in your code changes.
78
+ Create one client and reuse it: it keeps a pool of connections open, and
77
79
  `meterbase.close()` — or a `with` block — closes them.
78
80
 
79
81
  `check` is the gate, and the only call that ever refuses. It never raises for a
@@ -776,7 +778,7 @@ SDK would raise for a response, for realistic errors in your own tests.
776
778
  Meterbase(
777
779
  api_key="mb_sk_live_…",
778
780
  base_url="https://api.meterbase.dev",
779
- timeout=10.0, # seconds, per attempt
781
+ timeout=35.0, # seconds, per attempt
780
782
  max_retries=2,
781
783
  http_client=httpx.Client(proxy="http://localhost:8030"), # yours to close
782
784
  )
@@ -886,7 +888,8 @@ schedule, cancel and re-anchor as documented; and — reading each model's
886
888
  annotations — that the engine's fields still match the SDK's types exactly, in
887
889
  both directions.
888
890
 
889
- > **It creates and deletes real data.** Point it at a test workspace. It only
891
+ > **It creates and deletes real data.** Point it at a sandbox, with an
892
+ > `mb_sk_test_` key. It only
890
893
  > touches resources it created, tagging each with a per-run id, and cleans up
891
894
  > afterwards; soft-deleted customers and archived meters and plans remain, as
892
895
  > the engine intends. It is outside `make test` on purpose — a mutating suite
@@ -45,8 +45,10 @@ meterbase.track(
45
45
  )
46
46
  ```
47
47
 
48
- An API key names its own workspace, so there is no workspace to pass. Create
49
- one client and reuse it: it keeps a pool of connections open, and
48
+ An API key names its own workspace, so there is no workspace to pass. A
49
+ sandbox's keys start `mb_sk_test_` and act on the sandbox alone, so give
50
+ development, CI and staging one of those: nothing else in your code changes.
51
+ Create one client and reuse it: it keeps a pool of connections open, and
50
52
  `meterbase.close()` — or a `with` block — closes them.
51
53
 
52
54
  `check` is the gate, and the only call that ever refuses. It never raises for a
@@ -749,7 +751,7 @@ SDK would raise for a response, for realistic errors in your own tests.
749
751
  Meterbase(
750
752
  api_key="mb_sk_live_…",
751
753
  base_url="https://api.meterbase.dev",
752
- timeout=10.0, # seconds, per attempt
754
+ timeout=35.0, # seconds, per attempt
753
755
  max_retries=2,
754
756
  http_client=httpx.Client(proxy="http://localhost:8030"), # yours to close
755
757
  )
@@ -859,7 +861,8 @@ schedule, cancel and re-anchor as documented; and — reading each model's
859
861
  annotations — that the engine's fields still match the SDK's types exactly, in
860
862
  both directions.
861
863
 
862
- > **It creates and deletes real data.** Point it at a test workspace. It only
864
+ > **It creates and deletes real data.** Point it at a sandbox, with an
865
+ > `mb_sk_test_` key. It only
863
866
  > touches resources it created, tagging each with a per-run id, and cleans up
864
867
  > afterwards; soft-deleted customers and archived meters and plans remain, as
865
868
  > the engine intends. It is outside `make test` on purpose — a mutating suite
@@ -23,7 +23,7 @@ from ._version import __version__
23
23
  from .errors import APIError, MeterbaseError, error_from_response
24
24
 
25
25
  DEFAULT_BASE_URL = "https://api.meterbase.tech"
26
- DEFAULT_TIMEOUT = 10.0
26
+ DEFAULT_TIMEOUT = 35.0
27
27
  DEFAULT_MAX_RETRIES = 2
28
28
  MAX_BACKOFF = 8.0
29
29
 
@@ -0,0 +1 @@
1
+ __version__ = "0.1.4"
@@ -1 +0,0 @@
1
- __version__ = "0.1.2"
File without changes
File without changes
File without changes