omserv 0.0.0.dev29__py3-none-any.whl → 0.0.0.dev31__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.
omserv/node/models.py CHANGED
@@ -4,7 +4,7 @@ import sqlalchemy as sa
4
4
  import sqlalchemy.dialects.postgresql as sapg
5
5
  import sqlalchemy.orm
6
6
 
7
- from omlish import sql
7
+ from omlish.sql import alchemy as sau
8
8
 
9
9
  from .sql import CREATE_UPDATED_AT_FUNCTION_STATEMENT
10
10
  from .sql import IdMixin
@@ -43,9 +43,9 @@ Nodes = Node.__table__
43
43
  install_updated_at_trigger(Metadata, 'nodes')
44
44
 
45
45
 
46
- async def setup_db(engine: sql.AsyncEngineLike, *, drop: bool = False) -> None:
47
- conn: sql.AsyncConnection
48
- async with sql.async_adapt(engine).connect() as conn:
46
+ async def setup_db(engine: sau.AsyncEngineLike, *, drop: bool = False) -> None:
47
+ conn: sau.AsyncConnection
48
+ async with sau.async_adapt(engine).connect() as conn:
49
49
  async with conn.begin():
50
50
  if drop:
51
51
  await conn.run_sync(Metadata.drop_all)
omserv/node/registry.py CHANGED
@@ -11,8 +11,8 @@ import sqlalchemy as sa
11
11
  from omlish import asyncs as au
12
12
  from omlish import check
13
13
  from omlish import lang
14
- from omlish import sql
15
14
  from omlish.asyncs import anyio as anu
15
+ from omlish.sql import alchemy as sau
16
16
 
17
17
  from .models import Nodes
18
18
  from .models import setup_db
@@ -38,13 +38,13 @@ ExtrasProvider = ta.NewType('ExtrasProvider', lang.Func0[ta.Awaitable[ta.Any]])
38
38
  class NodeRegistrant:
39
39
  def __init__(
40
40
  self,
41
- engine: sql.AsyncEngine,
41
+ engine: sau.AsyncEngine,
42
42
  *,
43
43
  extras: ta.Mapping[str, ExtrasProvider] | None = None,
44
44
  ) -> None:
45
45
  super().__init__()
46
46
 
47
- self._engine = check.isinstance(engine, sql.AsyncEngine)
47
+ self._engine = check.isinstance(engine, sau.AsyncEngine)
48
48
  self._extras = extras
49
49
 
50
50
  self._info = NodeInfo(
@@ -74,7 +74,7 @@ class NodeRegistrant:
74
74
  await self._update_info()
75
75
 
76
76
  async with contextlib.AsyncExitStack() as aes:
77
- conn: sql.AsyncConnection = await aes.enter_async_context(self._engine.connect()) # noqa
77
+ conn: sau.AsyncConnection = await aes.enter_async_context(self._engine.connect()) # noqa
78
78
 
79
79
  async with conn.begin():
80
80
  rows = (await conn.execute(
omserv/server/__init__.py CHANGED
@@ -9,7 +9,7 @@ TODO:
9
9
  - lifecycle / otp-ify
10
10
  - configify
11
11
 
12
- Lookit:
12
+ See:
13
13
  - https://github.com/davidbrochart/anycorn
14
14
  - https://github.com/encode/starlette
15
15
  - https://github.com/tiangolo/fastapi
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: omserv
3
- Version: 0.0.0.dev29
3
+ Version: 0.0.0.dev31
4
4
  Summary: omserv
5
5
  Author: wrmsr
6
6
  License: BSD-3-Clause
@@ -12,7 +12,7 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Operating System :: POSIX
13
13
  Requires-Python: ~=3.12
14
14
  License-File: LICENSE
15
- Requires-Dist: omlish ==0.0.0.dev29
15
+ Requires-Dist: omlish ==0.0.0.dev31
16
16
  Provides-Extra: all
17
17
  Requires-Dist: h11 ~=0.14 ; extra == 'all'
18
18
  Requires-Dist: h2 ~=4.1 ; extra == 'all'
@@ -1,8 +1,6 @@
1
1
  omserv/.manifests.json,sha256=N1F-Xz3GaBn2H1p7uKzhkhKCQV8QVR0t76XD6wmFtXA,3
2
2
  omserv/__about__.py,sha256=Jq3euIDPxnlPJtzRKXwdeUuDLrKJOYurvsYAOieXVKQ,695
3
3
  omserv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- omserv/dbs.py,sha256=RLXwNmENmM9MLsjFqDho_R8ibMjOKAxWUn4zhzTlP9Y,756
5
- omserv/secrets.py,sha256=ja0VsCB01MHxYwn5OHjFeXV9cRah9AQl-0uJzZELpic,256
6
4
  omserv/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
5
  omserv/apps/base.py,sha256=KSwxbC0_fY87_DucvpEOHG6gZ2wL78D-N3We8RTEU4Q,385
8
6
  omserv/apps/inject.py,sha256=xtcn-C3A4yCdHfnAaejxrC_UGMVBYmWtSxeESIkorP0,2697
@@ -17,11 +15,11 @@ omserv/nginx/stubstatus.py,sha256=_VnXZdXxSA7jIelYSwJLf9mOnt_UOvpWghAPWtlWSLw,18
17
15
  omserv/nginx/patches/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
16
  omserv/nginx/patches/nginx-1.27.1_http_status.patch,sha256=bEDSczpBLcdjcBp_X1m73oxvt8KPeons7v_sUxqBSXM,4335
19
17
  omserv/node/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- omserv/node/models.py,sha256=XsfAI-LjlRkRfK0_ofh-gai5IUq_g357UfThK9dZ0UM,1258
21
- omserv/node/registry.py,sha256=0hodmyQn3POOZJBG8zTr9ojR80-ZNmIwJpQbchJg8EM,3459
18
+ omserv/node/models.py,sha256=EOaq-aW1rbGOzHTmTULhbVwV5j_burL07qh2QO9smdM,1273
19
+ omserv/node/registry.py,sha256=y-2I0TDriNORuOGLJshhPlzp820YEL-bDmGa1Xrs_E4,3474
22
20
  omserv/node/sql.py,sha256=vy7RP50JiH3jQHMVa7Hxk0pFJK3QcbGeTvyNppB1W4I,2826
23
21
  omserv/server/LICENSE,sha256=VKPNmbyrS9wcwcx20hBlVtLP01brb2dByHrWHeNLPag,1050
24
- omserv/server/__init__.py,sha256=K8l4nfv9c_5o8dph-SyadW_19CdTC2FGlikyHMU5lAU,375
22
+ omserv/server/__init__.py,sha256=7c9pUvoC-3lByJeGoQfAcp78JCZ9oA5wP0Bzpm87D7Y,372
25
23
  omserv/server/config.py,sha256=oGWL1kuk45bJ6sVr8n3ow5Q-1nz9EqByjoykU2iOHIY,1189
26
24
  omserv/server/debug.py,sha256=N7RI0Jj-ttmys3DJD0RREmGG5XZpTCp6y9Yu0x98Agg,299
27
25
  omserv/server/events.py,sha256=VMr_rArsVjJYnyH9SqLWtOLUg18vSu1O0ep9gNBGR_c,1369
@@ -46,8 +44,8 @@ omserv/server/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
46
44
  omserv/server/streams/httpstream.py,sha256=0DeiAPLGbEGNa0fHTs8lUpi_CFZs4M5_QB-TiS8mobQ,8015
47
45
  omserv/server/streams/utils.py,sha256=aMOrqWIg_Hht5W4kLg3y7oR5AEkVvMrZhyjzo6U5owE,1527
48
46
  omserv/server/streams/wsstream.py,sha256=3Vyzox7dCE1tDSXjb6xBubWo41ZF9d38Hrsrlj6h1J8,15482
49
- omserv-0.0.0.dev29.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
50
- omserv-0.0.0.dev29.dist-info/METADATA,sha256=e030SrUeCat2kciwk03zPlc_USubI2XUd7LumCKdW7s,1003
51
- omserv-0.0.0.dev29.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
52
- omserv-0.0.0.dev29.dist-info/top_level.txt,sha256=HXehpnxeKscKNULzKNzZ27oNawBrsh1PaNAirbX-XNA,7
53
- omserv-0.0.0.dev29.dist-info/RECORD,,
47
+ omserv-0.0.0.dev31.dist-info/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
48
+ omserv-0.0.0.dev31.dist-info/METADATA,sha256=h1W3vmhDqDSNvMf5QwfeZrrUjq9QYMO65118DvdWM20,1003
49
+ omserv-0.0.0.dev31.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
50
+ omserv-0.0.0.dev31.dist-info/top_level.txt,sha256=HXehpnxeKscKNULzKNzZ27oNawBrsh1PaNAirbX-XNA,7
51
+ omserv-0.0.0.dev31.dist-info/RECORD,,
omserv/dbs.py DELETED
@@ -1,24 +0,0 @@
1
- import os
2
-
3
- from .secrets import load_secrets # noqa
4
-
5
-
6
- def get_secret_db_url() -> str:
7
- cfg = load_secrets()
8
- return f'postgresql+asyncpg://{cfg["postgres_user"]}:{cfg["postgres_pass"]}@{cfg["postgres_host"]}:5432'
9
-
10
-
11
- def get_docker_db_url() -> str:
12
- from omlish import docker
13
- cc = docker.ComposeConfig('omlish-', file_path='docker/compose.yml')
14
- svc = cc.get_services()['postgres']
15
- port = docker.get_compose_port(svc, 5432)
16
- env = svc['environment']
17
- return f'postgresql+asyncpg://{env["POSTGRES_USER"]}:{env["POSTGRES_PASSWORD"]}@127.0.0.1:{port}'
18
-
19
-
20
- def get_db_url() -> str:
21
- if os.environ.get('PROD', '').lower() in ('1', 'true'): # FIXME: lol
22
- return get_secret_db_url()
23
- else:
24
- return get_docker_db_url()
omserv/secrets.py DELETED
@@ -1,12 +0,0 @@
1
- import os.path
2
- import typing as ta
3
-
4
- import yaml
5
-
6
-
7
- SECRETS_PATH = os.getenv('SECRETS_PATH', os.path.expanduser('~/Dropbox/.dotfiles/secrets.yml'))
8
-
9
-
10
- def load_secrets() -> dict[str, ta.Any]:
11
- with open(SECRETS_PATH) as f:
12
- return yaml.safe_load(f)