Add self-contained GraalPy native executable
Build the app to a single native binary with graalpy's 'standalone native' command (Dockerfile.native). granian/rloop cannot be bundled into a standalone binary, so the executable serves the app over ASGI with Hypercorn via native/entrypoint.py, which also works around GraalPy standalone quirks (socket.listen, str response bodies, signal handling). Adds docker-compose.native.yml, a -native CI job, and README docs.
This commit is contained in:
1 parent
609d9e22a8
commit
4fa6c0cf2e
8 files changed
+326
-3
No files matched your search
@@ -0,0 +1,38 @@
|
||||
#
|
||||
# Runtime dependencies for the GraalPy native standalone executable
|
||||
# (Dockerfile.native). Unlike requirements.txt this deliberately excludes
|
||||
# granian, rloop and kaya-rsgi: the standalone binary serves the app over ASGI
|
||||
# with Hypercorn, because those compiled extensions cannot be bundled into a
|
||||
# native executable.
|
||||
#
|
||||
--index-url https://gitea.woggioni.net/api/packages/woggioni/pypi/simple
|
||||
--extra-index-url https://pypi.org/simple
|
||||
|
||||
hypercorn==0.18.0
|
||||
# via pyfconfig (native)
|
||||
h11==0.16.0
|
||||
# via hypercorn
|
||||
h2==4.4.1
|
||||
# via hypercorn
|
||||
hpack==4.2.0
|
||||
# via h2
|
||||
hyperframe==6.1.0
|
||||
# via h2
|
||||
priority==2.0.0
|
||||
# via hypercorn
|
||||
wsproto==1.3.2
|
||||
# via hypercorn
|
||||
kaya-core==0.0.3
|
||||
# via
|
||||
# kaya-forwarded
|
||||
# pyfconfig (pyproject.toml)
|
||||
kaya-forwarded==0.0.3
|
||||
# via pyfconfig (pyproject.toml)
|
||||
pwo==0.1.2
|
||||
# via
|
||||
# kaya-core
|
||||
# pyfconfig (pyproject.toml)
|
||||
typing-extensions==4.16.0
|
||||
# via
|
||||
# kaya-core
|
||||
# pwo
|
||||
Reference in new issue
Block a user