-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
lift.toml
48 lines (41 loc) · 1.67 KB
/
lift.toml
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
[lift]
# Name can be over-ridden with `science lift --app-name ...` which we do when producing "fat" scies.
name = "science"
# We do this here and dogfood ourself!
description = "Ship your interpreted executables using science."
[[lift.interpreters]]
id = "cpython"
provider = "PythonBuildStandalone"
# N.B.: When updating these, update the corresponding PBS_* constants in noxfile.py.
release = "20241002"
version = "3.12.7"
flavor = "install_only_stripped"
# By default science ships as a "thin" scie that fetches CPython 3.12 on first run.
# We use `science lift --invert-lazy cpython ...` when producing "fat" scies.
lazy = true
[[lift.files]]
# This is pointed at the output of the sphinx htm doc gen to produce a zip of the static html site
# using `science lift --file docsite=docs/build/html ...`.
name = "docsite"
[[lift.files]]
# The nox build emits this at `dist/science.pyz` and so our packaging process maps that path using
# `science lift --file science.pyz=dist/science.pyz ...`.
name = "science.pyz"
[[lift.commands]]
# This selects the `python` binary from within the CPython 3.12 interpreter distribution
# (a tarball) provided by PythonBuildStandalone above.
exe = "#{cpython:python}"
args = [
"{science.pyz}",
]
[lift.commands.env]
# We strip any ambient SHIV_* env vars and set the SHIV_ROOT to ensure hermetic operation. Although
# `science` is a Python 3.12 shiv zipapp application under the covers; this should be opaque to the
# end user. For their puposes `science` is just a native binary.
remove_re = [
"SHIV_.*",
]
[lift.commands.env.replace]
SHIV_ROOT = "{scie.bindings}/shiv_root"
SCIENCE_DOC_LOCAL = "{docsite}"
__SCIENCE_CURRENT_PLATFORM__ = "{scie.platform}"