sovereign 1.0.0b127.post6__py3-none-any.whl → 1.0.0b129__py3-none-any.whl

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.

sovereign/app.py CHANGED
@@ -101,7 +101,7 @@ def init_app() -> FastAPI:
101
101
 
102
102
  @application.get("/static/{filename}", summary="Return a static asset")
103
103
  async def static(filename: str) -> Response:
104
- return FileResponse(get_package_file("sovereign", f"static/{filename}")) # type: ignore[arg-type]
104
+ return FileResponse(get_package_file("sovereign-files", f"static/{filename}")) # type: ignore[arg-type]
105
105
 
106
106
  @application.get(
107
107
  "/admin/xds_dump",
sovereign/rendering.py CHANGED
@@ -7,8 +7,8 @@ Functions used to render and return discovery responses to Envoy proxies.
7
7
  The templates are configurable. `todo See ref:Configuration#Templates`
8
8
  """
9
9
 
10
- import threading
11
- from multiprocessing import Process, Semaphore, cpu_count
10
+ from concurrent.futures import ThreadPoolExecutor
11
+ from multiprocessing import Process, cpu_count
12
12
  from typing import Any, Dict, List
13
13
 
14
14
  import yaml
@@ -30,7 +30,7 @@ from sovereign.schemas import (
30
30
  )
31
31
 
32
32
  # limit render jobs to number of cores
33
- RENDER_SEMAPHORE = Semaphore(cpu_count())
33
+ POOL = ThreadPoolExecutor(max_workers=cpu_count())
34
34
 
35
35
  type_urls = {
36
36
  "v2": {
@@ -59,14 +59,12 @@ class RenderJob(pydantic.BaseModel):
59
59
  context: dict[str, Any]
60
60
 
61
61
  def spawn(self):
62
- t = threading.Thread(target=self._run)
63
- t.start()
62
+ POOL.submit(self._run)
64
63
 
65
64
  def _run(self):
66
- with RENDER_SEMAPHORE:
67
- proc = Process(target=generate, args=[self])
68
- proc.start()
69
- proc.join()
65
+ proc = Process(target=generate, args=[self])
66
+ proc.start()
67
+ proc.join()
70
68
 
71
69
 
72
70
  def generate(job: RenderJob) -> None:
sovereign/server.py CHANGED
@@ -6,16 +6,15 @@ from pathlib import Path
6
6
  import uvicorn
7
7
 
8
8
  from sovereign import application_logger as log
9
- from sovereign.app import app
10
- from sovereign.worker import worker as worker_app
11
9
  from sovereign.schemas import SovereignAsgiConfig, SupervisordConfig
12
10
 
13
-
14
11
  asgi_config = SovereignAsgiConfig()
15
12
  supervisord_config = SupervisordConfig()
16
13
 
17
14
 
18
15
  def web() -> None:
16
+ from sovereign.app import app
17
+
19
18
  log.debug("Starting web server")
20
19
  uvicorn.run(
21
20
  app,
@@ -30,6 +29,8 @@ def web() -> None:
30
29
 
31
30
 
32
31
  def worker():
32
+ from sovereign.worker import worker as worker_app
33
+
33
34
  log.debug("Starting worker")
34
35
  uvicorn.run(
35
36
  worker_app,
@@ -1,8 +1,7 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: sovereign
3
- Version: 1.0.0b127.post6
3
+ Version: 1.0.0b129
4
4
  Summary: Envoy Proxy control-plane written in Python
5
- Home-page: https://pypi.org/project/sovereign/
6
5
  License: Apache-2.0
7
6
  Keywords: envoy,envoyproxy,control-plane,management,server
8
7
  Author: Vasili Syrakis
@@ -20,6 +19,7 @@ Classifier: Programming Language :: Python :: 3
20
19
  Classifier: Programming Language :: Python :: 3.11
21
20
  Classifier: Programming Language :: Python :: 3.12
22
21
  Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
23
23
  Classifier: Programming Language :: Python :: 3.10
24
24
  Classifier: Programming Language :: Python :: 3.8
25
25
  Classifier: Programming Language :: Python :: 3.9
@@ -49,7 +49,6 @@ Requires-Dist: jmespath (>=1.0.1,<2.0.0)
49
49
  Requires-Dist: orjson (>=3.9.15,<4.0.0) ; extra == "orjson"
50
50
  Requires-Dist: pydantic (>=2.7.2,<3.0.0)
51
51
  Requires-Dist: pydantic-settings (<2.6.0)
52
- Requires-Dist: redis (<=5.0.0)
53
52
  Requires-Dist: requests (>=2.32.4,<3.0.0)
54
53
  Requires-Dist: sentry-sdk (>=2.14.0,<3.0.0) ; extra == "sentry"
55
54
  Requires-Dist: starlette (>=0.47.2,<0.48.0)
@@ -60,6 +59,7 @@ Requires-Dist: ujson (>=5.8.0,<6.0.0) ; extra == "ujson"
60
59
  Requires-Dist: uvicorn (>=0.23.2,<0.24.0)
61
60
  Requires-Dist: uvloop (>=0.19.0,<0.20.0)
62
61
  Project-URL: Documentation, https://developer.atlassian.com/platform/sovereign/
62
+ Project-URL: Homepage, https://pypi.org/project/sovereign/
63
63
  Project-URL: Repository, https://bitbucket.org/atlassian/sovereign/src/master/
64
64
  Description-Content-Type: text/markdown
65
65
 
@@ -1,5 +1,5 @@
1
1
  sovereign/__init__.py,sha256=m8MVzaMSW4AvAqHvUAsXFdp8Oas5oQ8X7BcVt7Hfcik,1431
2
- sovereign/app.py,sha256=fsf4Jgni2G4EYJO0oQSWfGRZVDBvE2Yfick4n2YR6K4,4876
2
+ sovereign/app.py,sha256=wEvPbXwhArGrBrn2PrGLlBpah-9GNhAZ4p3pkTNuk2Y,4882
3
3
  sovereign/cache.py,sha256=f7d-x5ksRmd_tbSgdl5xKFXmwgUsMWECg98S5DZYc3w,5333
4
4
  sovereign/constants.py,sha256=qdWD1lTvkaW5JGF7TmZhfksQHlRAJFVqbG7v6JQA9k8,46
5
5
  sovereign/context.py,sha256=aoGJ5k1n8ytCk7jggQ6XTx6Hx_ocy7cEkvGOFS3gzzc,8912
@@ -15,23 +15,15 @@ sovereign/logging/types.py,sha256=rGqJAEVvgvzHy4aPfvEH6yQ-yblXNkEcWG7G8l9ALEA,28
15
15
  sovereign/middlewares.py,sha256=6w4JpvtNGvQA4rocQsYQjuu-ckhpKT6gKYA16T-kiqA,3082
16
16
  sovereign/modifiers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  sovereign/modifiers/lib.py,sha256=Cx0VrpTKbSjb3YmHyG4Jy6YEaPlrwpeqNaom3zu1_hw,2885
18
- sovereign/rendering.py,sha256=hxlu_K7h1fVNYRLVA4-YM_KY4rhaEOzHq-4dCVwgdWE,5688
18
+ sovereign/rendering.py,sha256=zMaUMpH0oezFt1hXVuGTUrkGc5aI9W7RQ_SX-8pxfCU,5642
19
19
  sovereign/response_class.py,sha256=beMAFV-4L6DwyWzJzy71GkEW4gb7fzH1jd8-Tul13cU,427
20
20
  sovereign/schemas.py,sha256=Jf_w2mAX1b31eCAtJuxSZgy9KMVRKntmnEbbCZGZCxQ,38067
21
- sovereign/server.py,sha256=uviXN0mX-Wbhv36xjWlHiybzIlZrJsCwRf4xyRnibXQ,2970
21
+ sovereign/server.py,sha256=GAuBj73fpfZH760dDgVZFfI_2aKj3QHFv1JaVm4Eqow,2979
22
22
  sovereign/sources/__init__.py,sha256=g9hEpFk8j5i1ApHQpbc9giTyJW41Ppgsqv5P9zGxOJk,78
23
23
  sovereign/sources/file.py,sha256=prUThsDCSPNwZaZpkKXhAm-GVRZWbBoGKGU0It4HHXs,690
24
24
  sovereign/sources/inline.py,sha256=pP77m7bHjqE3sSoqZthcuw1ARVMf9gooVwbz4B8OAek,1003
25
25
  sovereign/sources/lib.py,sha256=0hk_G6mKJrB65WokVZnqF5kdJ3vsQZMNPuJqJO0mBsI,1031
26
26
  sovereign/sources/poller.py,sha256=zpNUhQft-NoJbbxO1kCFp6jJSRSkBmf181xodnF_TiI,18469
27
- sovereign/static/darkmode.js,sha256=3ip-eKGctDvNhN7UgmaHhzls7r5qIY-Jvh2EpefHbQ0,1449
28
- sovereign/static/node_expression.js,sha256=GKxKTSRc_96IbL3H4L_31ueJFXq4N7scm5R1RNqxP24,1489
29
- sovereign/static/panel.js,sha256=i5mGExjv-I4Gtt9dQiTyFwPZa8pg5rXeuTeidXNUiTE,2695
30
- sovereign/static/resources.css,sha256=Rt_ir_FkoI-VIAOqPhk0vILy8kB2egAYbQU26SOs1io,4500
31
- sovereign/static/resources.js,sha256=-TaXZ6tohyKA1SkX5YwrTcV5M8mOZ68cvEXpvZWznTo,24506
32
- sovereign/static/sass/style.scss,sha256=LdGXXuHi_tyMc7XhijIOrlIxyfLt827AAs2Z7DYpFpg,990
33
- sovereign/static/style.css,sha256=kmvkJ2820RKehWxhddkucbgFkvnpUgBMteOtpEuXjvQ,601347
34
- sovereign/static/style.css.map,sha256=h1ufjfDVX-8z-FuJqFG2-U9AVdi66U-e8uyiGdUZjDw,66576
35
27
  sovereign/statistics.py,sha256=QhDB0bs5kZDGjy248AOIv_bzNbz_c2U7xmJ0hoUNOmw,2033
36
28
  sovereign/templates/base.html,sha256=MMhhvvClTixKibYfhXm8Ezx6ttu6Sqki44niciCPMO4,2990
37
29
  sovereign/templates/err.html,sha256=a3cEzOqyqWOIe3YxfTEjkxbTfxBxq1knD6GwzEFljfs,603
@@ -64,7 +56,16 @@ sovereign/views/discovery.py,sha256=B_D1ckfbN1dSKBvuFCTyfB79GUUriCADTB53OwZ8D4Q,
64
56
  sovereign/views/healthchecks.py,sha256=TaXbxkX679jyQ8v5FxtBa2Qa0Z7KuqQ10WgAqfuVGUc,1743
65
57
  sovereign/views/interface.py,sha256=o6DaOqoh2M09_SsZrCOxr9rCVxMUZHXRXj4TNq800Ho,6999
66
58
  sovereign/worker.py,sha256=Y4le54cZU1Enj8scu1G1sM_KPVPUmZ7vmTuxpd59X2Q,5855
67
- sovereign-1.0.0b127.post6.dist-info/METADATA,sha256=hpa3Z9VRRb17W23iRWYirqwdNe6z0JiLCyKsX8fVJTU,6310
68
- sovereign-1.0.0b127.post6.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
69
- sovereign-1.0.0b127.post6.dist-info/entry_points.txt,sha256=VKJdnnN_HNL8xYQMXsFXfFmN6QkdXMEk5S964avxQJI,1404
70
- sovereign-1.0.0b127.post6.dist-info/RECORD,,
59
+ sovereign-files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ sovereign-files/static/darkmode.js,sha256=3ip-eKGctDvNhN7UgmaHhzls7r5qIY-Jvh2EpefHbQ0,1449
61
+ sovereign-files/static/node_expression.js,sha256=GKxKTSRc_96IbL3H4L_31ueJFXq4N7scm5R1RNqxP24,1489
62
+ sovereign-files/static/panel.js,sha256=i5mGExjv-I4Gtt9dQiTyFwPZa8pg5rXeuTeidXNUiTE,2695
63
+ sovereign-files/static/resources.css,sha256=Rt_ir_FkoI-VIAOqPhk0vILy8kB2egAYbQU26SOs1io,4500
64
+ sovereign-files/static/resources.js,sha256=-TaXZ6tohyKA1SkX5YwrTcV5M8mOZ68cvEXpvZWznTo,24506
65
+ sovereign-files/static/sass/style.scss,sha256=LdGXXuHi_tyMc7XhijIOrlIxyfLt827AAs2Z7DYpFpg,990
66
+ sovereign-files/static/style.css,sha256=kmvkJ2820RKehWxhddkucbgFkvnpUgBMteOtpEuXjvQ,601347
67
+ sovereign-files/static/style.css.map,sha256=h1ufjfDVX-8z-FuJqFG2-U9AVdi66U-e8uyiGdUZjDw,66576
68
+ sovereign-1.0.0b129.dist-info/METADATA,sha256=b5VqWN9o3SbkhpkxcCBDt0X2FyMbWu06sOoflmVoeYs,6336
69
+ sovereign-1.0.0b129.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
70
+ sovereign-1.0.0b129.dist-info/entry_points.txt,sha256=VKJdnnN_HNL8xYQMXsFXfFmN6QkdXMEk5S964avxQJI,1404
71
+ sovereign-1.0.0b129.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.1
2
+ Generator: poetry-core 2.2.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
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