Repository navigation
Expand file tree
/
Copy pathpixi.toml
More file actions
55 lines (50 loc) · 2.17 KB
/
Copy pathpixi.toml
File metadata and controls
55 lines (50 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[workspace]
name = "opengateway"
channels = ["conda-forge", "https://conda.modular.com/max-nightly"]
platforms = ["linux-64", "osx-arm64"]
preview = ["pixi-build"]
[dependencies]
python = ">=3.11,<3.14"
[pypi-dependencies]
fastapi = ">=0.115,<0.120"
uvicorn = { version = ">=0.34,<0.35", extras = ["standard"] }
pydantic = ">=2.10,<2.11"
pydantic-settings = ">=2.7,<2.8"
httpx = { version = ">=0.28,<0.29", extras = ["http2"] }
structlog = ">=25.1,<26.0"
redis = ">=5.2,<6.0"
asyncpg = ">=0.30,<0.31"
prometheus-client = ">=0.21,<0.22"
python-dotenv = ">=1.0,<2.0"
pytest = ">=8.3,<9.0"
pytest-asyncio = ">=0.25,<0.26"
ruff = ">=0.9,<1.0"
mypy = ">=1.14,<2.0"
[feature.mojo.dependencies]
# Pinned to commit edf3f22 ("feat(tls): non-blocking server TLS reactor +
# HTTPS/1.1 serve_tls") rather than v0.9.0 — pulls the reactor-side TLS
# serving into opengateway so the in-binary stdlib-ssl proxy is no
# longer needed. This SHA is the last commit on Mojo 1.0.0b2 before
# flare migrated to 1.0.0rc0 in a86b0a5; bumping to rc0 would require
# a parallel Mojo toolchain bump in opengateway.
flare = { git = "https://github.com/ehsanmok/flare.git", rev = "edf3f22a2f67eb2662c76c813d918113313cf0eb" }
# cargo + rustc are needed to build flare's rustls QUIC cdylib when
# enabling HTTP/3 (follow-up ADR-003 #6). flare's pixi activation
# scripts detect cargo via PATH; declaring it as a mojo-env dep makes
# the rustls cdylib build succeed on a clean `pixi install`.
rust = ">=1.83,<2"
[feature.mojo.tasks]
format = "mojo format opengateway/mojo/"
test = "mojo test opengateway/mojo/"
build = "mojo build opengateway/mojo/main.mojo -O3 -D ASSERT=none -o dist-mojo/opengateway-mojo"
serve = "mojo run opengateway/mojo/main.mojo"
# Builds flare's rustls QUIC cdylib (libflare_rustls_quic.so / .dylib)
# into the pixi env's lib dir. Runs flare's own build_rustls.sh, which
# the activation hook in flare's own pixi.toml invokes but our conda-
# built flare package omits. Required before HTTP/3 can link.
# Idempotent — cargo's incremental build + the script's atomic install
# make re-runs cheap.
rustls-build = "bash .pixi/envs/mojo/lib/mojo/flare/tls/ffi/build_rustls.sh"
[environments]
mojo = ["mojo"]
default = []