sovereign 1.0.0b109__tar.gz → 1.0.0b122__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.

Potentially problematic release.


This version of sovereign might be problematic. Click here for more details.

Files changed (66) hide show
  1. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/PKG-INFO +1 -1
  2. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/pyproject.toml +1 -1
  3. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/server.py +2 -2
  4. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/statistics.py +6 -1
  5. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/worker.py +7 -2
  6. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/LICENSE.txt +0 -0
  7. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/README.md +0 -0
  8. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/__init__.py +0 -0
  9. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/app.py +0 -0
  10. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/cache.py +0 -0
  11. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/constants.py +0 -0
  12. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/context.py +0 -0
  13. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/dynamic_config/__init__.py +0 -0
  14. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/dynamic_config/deser.py +0 -0
  15. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/dynamic_config/loaders.py +0 -0
  16. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/error_info.py +0 -0
  17. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/logging/access_logger.py +0 -0
  18. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/logging/application_logger.py +0 -0
  19. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/logging/base_logger.py +0 -0
  20. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/logging/bootstrapper.py +0 -0
  21. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/logging/types.py +0 -0
  22. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/middlewares.py +0 -0
  23. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/modifiers/__init__.py +0 -0
  24. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/modifiers/lib.py +0 -0
  25. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/rendering.py +0 -0
  26. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/response_class.py +0 -0
  27. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/schemas.py +0 -0
  28. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/sources/__init__.py +0 -0
  29. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/sources/file.py +0 -0
  30. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/sources/inline.py +0 -0
  31. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/sources/lib.py +0 -0
  32. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/sources/poller.py +0 -0
  33. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/static/node_expression.js +0 -0
  34. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/static/panel.js +0 -0
  35. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/static/sass/style.scss +0 -0
  36. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/static/style.css +0 -0
  37. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/templates/base.html +0 -0
  38. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/templates/err.html +0 -0
  39. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/templates/resources.html +0 -0
  40. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/testing/loaders.py +0 -0
  41. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/testing/modifiers.py +0 -0
  42. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/tracing.py +0 -0
  43. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/__init__.py +0 -0
  44. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/auth.py +0 -0
  45. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/crypto/__init__.py +0 -0
  46. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/crypto/crypto.py +0 -0
  47. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/crypto/suites/__init__.py +0 -0
  48. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/crypto/suites/aes_gcm_cipher.py +0 -0
  49. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/crypto/suites/base_cipher.py +0 -0
  50. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/crypto/suites/disabled_cipher.py +0 -0
  51. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/crypto/suites/fernet_cipher.py +0 -0
  52. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/dictupdate.py +0 -0
  53. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/eds.py +0 -0
  54. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/entry_point_loader.py +0 -0
  55. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/mock.py +0 -0
  56. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/resources.py +0 -0
  57. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/templates.py +0 -0
  58. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/timer.py +0 -0
  59. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/version_info.py +0 -0
  60. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/utils/weighted_clusters.py +0 -0
  61. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/views/__init__.py +0 -0
  62. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/views/api.py +0 -0
  63. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/views/crypto.py +0 -0
  64. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/views/discovery.py +0 -0
  65. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/views/healthchecks.py +0 -0
  66. {sovereign-1.0.0b109 → sovereign-1.0.0b122}/src/sovereign/views/interface.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sovereign
3
- Version: 1.0.0b109
3
+ Version: 1.0.0b122
4
4
  Summary: Envoy Proxy control-plane written in Python
5
5
  Home-page: https://pypi.org/project/sovereign/
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "sovereign"
3
- version = "1.0.0b109"
3
+ version = "1.0.0b122"
4
4
  description = "Envoy Proxy control-plane written in Python"
5
5
  license = "Apache-2.0"
6
6
  packages = [
@@ -72,13 +72,13 @@ def write_supervisor_conf() -> Path:
72
72
  "socket": f"tcp://{asgi_config.host}:{asgi_config.port}",
73
73
  "numprocs": str(asgi_config.workers),
74
74
  "process_name": "%(program_name)s-%(process_num)02d",
75
- "command": "sovereign-web",
75
+ "command": "sovereign-web", # default niceness, higher CPU priority
76
76
  }
77
77
 
78
78
  conf["program:data"] = worker = {
79
79
  **base,
80
80
  "numprocs": "1",
81
- "command": "sovereign-worker",
81
+ "command": "nice -n 10 sovereign-worker", # run worker with reduced CPU priority (higher niceness value)
82
82
  }
83
83
 
84
84
  if user := asgi_config.user:
@@ -19,10 +19,13 @@ class StatsDProxy:
19
19
  return self.do_nothing
20
20
 
21
21
  def do_nothing(self, *args: Any, **kwargs: Any) -> None:
22
- k = args[0]
22
+ _ = args[0]
23
23
 
24
24
 
25
25
  class StatsdNoop:
26
+ def __init__(self, *args, **kwargs):
27
+ pass
28
+
26
29
  def __enter__(self): # type: ignore
27
30
  return self
28
31
 
@@ -33,6 +36,7 @@ class StatsdNoop:
33
36
  @wraps(func)
34
37
  def wrapped(*args: Any, **kwargs: Any): # type: ignore
35
38
  return func(*args, **kwargs)
39
+
36
40
  return wrapped
37
41
 
38
42
 
@@ -42,6 +46,7 @@ def configure_statsd() -> StatsDProxy:
42
46
  config = sovereign_config.statsd
43
47
  try:
44
48
  from datadog import DogStatsd
49
+
45
50
  module: Optional[DogStatsd]
46
51
  module = DogStatsd()
47
52
  if config.enabled and module:
@@ -62,12 +62,17 @@ if config.sources is not None:
62
62
 
63
63
  def render(job: rendering.RenderJob):
64
64
  log.debug(f"Spawning render process for {job.id}")
65
- Process(target=rendering.generate, args=[job]).start()
65
+ process = Process(target=rendering.generate, args=[job])
66
+ process.start()
67
+ return process
66
68
 
67
69
 
68
70
  async def submit_render(job: rendering.RenderJob):
69
71
  async with RENDER_SEMAPHORE:
70
- render(job)
72
+ process = render(job)
73
+ # Wait for the process to complete to ensure semaphore is held
74
+ # until the actual rendering work is done
75
+ await asyncio.get_event_loop().run_in_executor(None, process.join)
71
76
 
72
77
 
73
78
  async def render_on_event():
File without changes
File without changes