omserv 0.0.0.dev29__tar.gz → 0.0.0.dev31__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 (59) hide show
  1. {omserv-0.0.0.dev29/omserv.egg-info → omserv-0.0.0.dev31}/PKG-INFO +2 -2
  2. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/node/models.py +4 -4
  3. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/node/registry.py +4 -4
  4. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/__init__.py +1 -1
  5. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31/omserv.egg-info}/PKG-INFO +2 -2
  6. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv.egg-info/SOURCES.txt +0 -2
  7. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv.egg-info/requires.txt +1 -1
  8. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/pyproject.toml +2 -2
  9. omserv-0.0.0.dev29/omserv/dbs.py +0 -24
  10. omserv-0.0.0.dev29/omserv/secrets.py +0 -12
  11. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/LICENSE +0 -0
  12. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/MANIFEST.in +0 -0
  13. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/README.rst +0 -0
  14. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/.manifests.json +0 -0
  15. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/__about__.py +0 -0
  16. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/__init__.py +0 -0
  17. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/apps/__init__.py +0 -0
  18. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/apps/base.py +0 -0
  19. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/apps/inject.py +0 -0
  20. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/apps/markers.py +0 -0
  21. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/apps/routes.py +0 -0
  22. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/apps/sessions.py +0 -0
  23. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/apps/templates.py +0 -0
  24. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/nginx/__init__.py +0 -0
  25. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/nginx/build.py +0 -0
  26. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/nginx/configs.py +0 -0
  27. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/nginx/patches/__init__.py +0 -0
  28. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/nginx/patches/nginx-1.27.1_http_status.patch +0 -0
  29. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/nginx/stubstatus.py +0 -0
  30. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/node/__init__.py +0 -0
  31. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/node/sql.py +0 -0
  32. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/LICENSE +0 -0
  33. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/config.py +0 -0
  34. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/debug.py +0 -0
  35. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/events.py +0 -0
  36. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/headers.py +0 -0
  37. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/lifespans.py +0 -0
  38. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/multiprocess.py +0 -0
  39. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/protocols/__init__.py +0 -0
  40. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/protocols/h11.py +0 -0
  41. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/protocols/h2.py +0 -0
  42. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/protocols/protocols.py +0 -0
  43. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/protocols/types.py +0 -0
  44. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/resources/__init__.py +0 -0
  45. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/resources/favicon.ico +0 -0
  46. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/sockets.py +0 -0
  47. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/ssl.py +0 -0
  48. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/streams/__init__.py +0 -0
  49. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/streams/httpstream.py +0 -0
  50. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/streams/utils.py +0 -0
  51. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/streams/wsstream.py +0 -0
  52. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/taskspawner.py +0 -0
  53. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/tcpserver.py +0 -0
  54. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/types.py +0 -0
  55. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/workercontext.py +0 -0
  56. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv/server/workers.py +0 -0
  57. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv.egg-info/dependency_links.txt +0 -0
  58. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/omserv.egg-info/top_level.txt +0 -0
  59. {omserv-0.0.0.dev29 → omserv-0.0.0.dev31}/setup.cfg +0 -0
@@ -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"
@@ -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)
@@ -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(
@@ -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"
@@ -5,8 +5,6 @@ pyproject.toml
5
5
  omserv/.manifests.json
6
6
  omserv/__about__.py
7
7
  omserv/__init__.py
8
- omserv/dbs.py
9
- omserv/secrets.py
10
8
  omserv.egg-info/PKG-INFO
11
9
  omserv.egg-info/SOURCES.txt
12
10
  omserv.egg-info/dependency_links.txt
@@ -1,4 +1,4 @@
1
- omlish==0.0.0.dev29
1
+ omlish==0.0.0.dev31
2
2
 
3
3
  [all]
4
4
  h11~=0.14
@@ -12,7 +12,7 @@ authors = [
12
12
  urls = {source = 'https://github.com/wrmsr/omlish'}
13
13
  license = {text = 'BSD-3-Clause'}
14
14
  requires-python = '~=3.12'
15
- version = '0.0.0.dev29'
15
+ version = '0.0.0.dev31'
16
16
  classifiers = [
17
17
  'License :: OSI Approved :: BSD License',
18
18
  'Development Status :: 2 - Pre-Alpha',
@@ -22,7 +22,7 @@ classifiers = [
22
22
  ]
23
23
  description = 'omserv'
24
24
  dependencies = [
25
- 'omlish == 0.0.0.dev29',
25
+ 'omlish == 0.0.0.dev31',
26
26
  ]
27
27
 
28
28
  [project.optional-dependencies]
@@ -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()
@@ -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)
File without changes
File without changes
File without changes
File without changes