datatailr 0.1.54__tar.gz → 0.1.56__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.
Potentially problematic release.
This version of datatailr might be problematic. Click here for more details.
- {datatailr-0.1.54/src/datatailr.egg-info → datatailr-0.1.56}/PKG-INFO +1 -1
- {datatailr-0.1.54 → datatailr-0.1.56}/pyproject.toml +1 -1
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/excel.py +2 -1
- {datatailr-0.1.54 → datatailr-0.1.56/src/datatailr.egg-info}/PKG-INFO +1 -1
- {datatailr-0.1.54 → datatailr-0.1.56}/src/sbin/datatailr_run.py +12 -11
- {datatailr-0.1.54 → datatailr-0.1.56}/LICENSE +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/README.md +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/setup.cfg +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/setup.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/__init__.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/acl.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/blob.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/build/__init__.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/build/image.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/dt_json.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/errors.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/group.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/logging.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/scheduler/__init__.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/scheduler/arguments_cache.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/scheduler/base.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/scheduler/batch.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/scheduler/batch_decorator.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/scheduler/constants.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/scheduler/schedule.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/scheduler/utils.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/user.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/utils.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/version.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr/wrapper.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr.egg-info/SOURCES.txt +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr.egg-info/dependency_links.txt +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr.egg-info/entry_points.txt +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr.egg-info/requires.txt +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/datatailr.egg-info/top_level.txt +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/sbin/datatailr_run_app.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/sbin/datatailr_run_batch.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/sbin/datatailr_run_excel.py +0 -0
- {datatailr-0.1.54 → datatailr-0.1.56}/src/sbin/datatailr_run_service.py +0 -0
|
@@ -30,8 +30,6 @@
|
|
|
30
30
|
# DATATAILR_BATCH_RUN_ID - the unique identifier for the batch run.
|
|
31
31
|
# DATATAILR_BATCH_ID - the unique identifier for the batch.
|
|
32
32
|
# DATATAILR_JOB_ID - the unique identifier for the job.
|
|
33
|
-
# Important:
|
|
34
|
-
# Python environment is installed and managed by uv and all installed scripts (datatailr_run, datatailr_run_excel, jupyter etc.) should be invoked with `uv run`.
|
|
35
33
|
|
|
36
34
|
|
|
37
35
|
import subprocess
|
|
@@ -88,13 +86,19 @@ def run_command_as_user(command: str | list, user: str, env_vars: dict):
|
|
|
88
86
|
"""
|
|
89
87
|
Run a command as a specific user with the given environment variables.
|
|
90
88
|
"""
|
|
89
|
+
if os.path.isfile("/etc/python-site-location"):
|
|
90
|
+
with open("/etc/python-site-location") as f:
|
|
91
|
+
python_site = f.read().rstrip()
|
|
92
|
+
else:
|
|
93
|
+
python_site = ""
|
|
94
|
+
|
|
91
95
|
python_libdir = sysconfig.get_config_var("LIBDIR")
|
|
92
96
|
|
|
93
97
|
if isinstance(command, list):
|
|
94
98
|
command = " ".join(command)
|
|
95
99
|
env_vars = {
|
|
96
100
|
"PATH": get_env_var("PATH", ""),
|
|
97
|
-
"PYTHONPATH": get_env_var("PYTHONPATH", ""),
|
|
101
|
+
"PYTHONPATH": get_env_var("PYTHONPATH", "") + ":" + python_site,
|
|
98
102
|
"LD_LIBRARY_PATH": get_env_var("LD_LIBRARY_PATH", "") + ":" + python_libdir,
|
|
99
103
|
} | env_vars
|
|
100
104
|
|
|
@@ -132,7 +136,7 @@ def main():
|
|
|
132
136
|
"DATATAILR_BATCH_ID": batch_id,
|
|
133
137
|
"DATATAILR_BATCH_ENTRYPOINT": entrypoint,
|
|
134
138
|
} | env
|
|
135
|
-
run_command_as_user("
|
|
139
|
+
run_command_as_user("datatailr_run_batch", user, env)
|
|
136
140
|
elif job_type == "service":
|
|
137
141
|
port = get_env_var("DATATAILR_SERVICE_PORT", 8080)
|
|
138
142
|
entrypoint = get_env_var("DATATAILR_ENTRYPOINT")
|
|
@@ -140,13 +144,13 @@ def main():
|
|
|
140
144
|
"DATATAILR_ENTRYPOINT": entrypoint,
|
|
141
145
|
"DATATAILR_SERVICE_PORT": port,
|
|
142
146
|
} | env
|
|
143
|
-
run_command_as_user("
|
|
147
|
+
run_command_as_user("datatailr_run_service", user, env)
|
|
144
148
|
elif job_type == "app":
|
|
145
149
|
entrypoint = get_env_var("DATATAILR_ENTRYPOINT")
|
|
146
150
|
env = {
|
|
147
151
|
"DATATAILR_ENTRYPOINT": entrypoint,
|
|
148
152
|
} | env
|
|
149
|
-
run_command_as_user("
|
|
153
|
+
run_command_as_user("datatailr_run_app", user, env)
|
|
150
154
|
elif job_type == "excel":
|
|
151
155
|
host = get_env_var("DATATAILR_HOST", "")
|
|
152
156
|
local = get_env_var("DATATAILR_LOCAL", "")
|
|
@@ -157,7 +161,7 @@ def main():
|
|
|
157
161
|
"DATATAILR_HOST": host,
|
|
158
162
|
"DATATAILR_LOCAL": local,
|
|
159
163
|
} | env
|
|
160
|
-
run_command_as_user("
|
|
164
|
+
run_command_as_user("datatailr_run_excel", user, env)
|
|
161
165
|
elif job_type == "ide":
|
|
162
166
|
command = [
|
|
163
167
|
"code-server",
|
|
@@ -168,10 +172,7 @@ def main():
|
|
|
168
172
|
run_command_as_user(command, user, env)
|
|
169
173
|
elif job_type == "jupyter":
|
|
170
174
|
command = [
|
|
171
|
-
"
|
|
172
|
-
"run",
|
|
173
|
-
"jupyter",
|
|
174
|
-
"lab",
|
|
175
|
+
"jupyter-lab",
|
|
175
176
|
"--ip='*'",
|
|
176
177
|
"--port=8080",
|
|
177
178
|
"--no-browser",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|