futurehouse-client 0.3.18.dev109__tar.gz → 0.3.18.dev110__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 (29) hide show
  1. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/PKG-INFO +1 -1
  2. futurehouse_client-0.3.18.dev110/futurehouse_client/utils/__init__.py +7 -0
  3. futurehouse_client-0.3.18.dev110/futurehouse_client/utils/context.py +45 -0
  4. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client.egg-info/PKG-INFO +1 -1
  5. futurehouse_client-0.3.18.dev109/futurehouse_client/utils/__init__.py +0 -3
  6. futurehouse_client-0.3.18.dev109/futurehouse_client/utils/context.py +0 -16
  7. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/LICENSE +0 -0
  8. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/README.md +0 -0
  9. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/docs/__init__.py +0 -0
  10. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/docs/client_notebook.ipynb +0 -0
  11. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/__init__.py +0 -0
  12. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/clients/__init__.py +0 -0
  13. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/clients/job_client.py +0 -0
  14. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/clients/rest_client.py +0 -0
  15. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/models/__init__.py +0 -0
  16. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/models/app.py +0 -0
  17. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/models/client.py +0 -0
  18. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/models/rest.py +0 -0
  19. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/utils/general.py +0 -0
  20. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/utils/module_utils.py +0 -0
  21. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client/utils/monitoring.py +0 -0
  22. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client.egg-info/SOURCES.txt +0 -0
  23. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client.egg-info/dependency_links.txt +0 -0
  24. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client.egg-info/requires.txt +0 -0
  25. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/futurehouse_client.egg-info/top_level.txt +0 -0
  26. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/pyproject.toml +0 -0
  27. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/setup.cfg +0 -0
  28. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/tests/test_rest.py +0 -0
  29. {futurehouse_client-0.3.18.dev109 → futurehouse_client-0.3.18.dev110}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: futurehouse-client
3
- Version: 0.3.18.dev109
3
+ Version: 0.3.18.dev110
4
4
  Summary: A client for interacting with endpoints of the FutureHouse service.
5
5
  Author-email: FutureHouse technical staff <hello@futurehouse.org>
6
6
  Classifier: Operating System :: OS Independent
@@ -0,0 +1,7 @@
1
+ from .context import JOB_ID_CONTEXT_KEY, USER_JWT_CONTEXT_KEY, RequestContext
2
+
3
+ __all__ = [
4
+ "JOB_ID_CONTEXT_KEY",
5
+ "USER_JWT_CONTEXT_KEY",
6
+ "RequestContext",
7
+ ]
@@ -0,0 +1,45 @@
1
+ from typing import Any, ClassVar
2
+
3
+ USER_JWT_CONTEXT_KEY = "user_jwt"
4
+ JOB_ID_CONTEXT_KEY = "job_id"
5
+
6
+
7
+ class RequestContext:
8
+ """A context manager for storing information from the initial request."""
9
+
10
+ _context: ClassVar[dict[str, Any]] = {}
11
+
12
+ @classmethod
13
+ def set(cls, key: str, value: Any) -> None:
14
+ """Set a context variable.
15
+
16
+ Args:
17
+ key: The context variable name
18
+ value: The value to store
19
+ """
20
+ cls._context[key] = value
21
+
22
+ @classmethod
23
+ def get(cls, key: str) -> Any:
24
+ """Get a context variable.
25
+
26
+ Args:
27
+ key: The context variable name
28
+ default: Default value if key doesn't exist
29
+
30
+ Returns:
31
+ The stored value or default if not found
32
+ """
33
+ return cls._context.get(key, None)
34
+
35
+ @classmethod
36
+ def clear(cls, key: str | None = None) -> None:
37
+ """Clear a specific context variable or all variables.
38
+
39
+ Args:
40
+ key: Specific key to clear, or None to clear all
41
+ """
42
+ if key is None:
43
+ cls._context.clear()
44
+ elif key in cls._context:
45
+ del cls._context[key]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: futurehouse-client
3
- Version: 0.3.18.dev109
3
+ Version: 0.3.18.dev110
4
4
  Summary: A client for interacting with endpoints of the FutureHouse service.
5
5
  Author-email: FutureHouse technical staff <hello@futurehouse.org>
6
6
  Classifier: Operating System :: OS Independent
@@ -1,3 +0,0 @@
1
- from .context import UserContext
2
-
3
- __all__ = ["UserContext"]
@@ -1,16 +0,0 @@
1
- class UserContext:
2
- """A context manager for storing user information from the initial request."""
3
-
4
- _user_jwt = None
5
-
6
- @classmethod
7
- def set_user_jwt(cls, jwt: str) -> None:
8
- cls._user_jwt = jwt
9
-
10
- @classmethod
11
- def get_user_jwt(cls) -> str | None:
12
- return cls._user_jwt
13
-
14
- @classmethod
15
- def clear_user_jwt(cls) -> None:
16
- cls._user_jwt = None