datatailr 0.1.48__tar.gz → 0.1.49__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.48/src/datatailr.egg-info → datatailr-0.1.49}/PKG-INFO +1 -1
- {datatailr-0.1.48 → datatailr-0.1.49}/pyproject.toml +1 -1
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/scheduler/arguments_cache.py +2 -3
- {datatailr-0.1.48 → datatailr-0.1.49/src/datatailr.egg-info}/PKG-INFO +1 -1
- {datatailr-0.1.48 → datatailr-0.1.49}/src/sbin/datatailr_run.py +10 -1
- {datatailr-0.1.48 → datatailr-0.1.49}/src/sbin/datatailr_run_app.py +7 -3
- {datatailr-0.1.48 → datatailr-0.1.49}/LICENSE +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/README.md +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/setup.cfg +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/setup.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/__init__.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/acl.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/blob.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/build/__init__.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/build/image.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/dt_json.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/errors.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/excel.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/group.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/logging.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/scheduler/__init__.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/scheduler/base.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/scheduler/batch.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/scheduler/batch_decorator.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/scheduler/constants.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/scheduler/schedule.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/scheduler/utils.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/user.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/utils.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/version.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr/wrapper.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr.egg-info/SOURCES.txt +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr.egg-info/dependency_links.txt +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr.egg-info/entry_points.txt +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr.egg-info/requires.txt +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/datatailr.egg-info/top_level.txt +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/sbin/datatailr_run_batch.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/sbin/datatailr_run_excel.py +0 -0
- {datatailr-0.1.48 → datatailr-0.1.49}/src/sbin/datatailr_run_service.py +0 -0
|
@@ -115,11 +115,10 @@ class ArgumentsCache:
|
|
|
115
115
|
:param job: Name of the job.
|
|
116
116
|
:param result: Result of the batch job.
|
|
117
117
|
"""
|
|
118
|
-
path = f"/tmp/datatailr/batch/results/{batch_run_id}
|
|
118
|
+
path = f"/tmp/datatailr/batch/results/{batch_run_id}_{job}.pkl"
|
|
119
119
|
if self.use_persistent_cache and isinstance(job, str):
|
|
120
120
|
self._add_to_persistent_cache(path, result)
|
|
121
121
|
else:
|
|
122
|
-
os.makedirs(os.path.dirname(path), exist_ok=True)
|
|
123
122
|
with open(path, "wb") as f:
|
|
124
123
|
pickle.dump(result, f)
|
|
125
124
|
|
|
@@ -131,7 +130,7 @@ class ArgumentsCache:
|
|
|
131
130
|
:param job: Name of the job.
|
|
132
131
|
:return: Result of the batch job.
|
|
133
132
|
"""
|
|
134
|
-
path = f"/tmp/datatailr/batch/results/{batch_run_id}
|
|
133
|
+
path = f"/tmp/datatailr/batch/results/{batch_run_id}_{job}.pkl"
|
|
135
134
|
if self.use_persistent_cache and isinstance(job, str):
|
|
136
135
|
return self._get_from_persistent_cache(path)
|
|
137
136
|
else:
|
|
@@ -85,11 +85,20 @@ def run_command_as_user(command: str | list, user: str, env_vars: dict):
|
|
|
85
85
|
"""
|
|
86
86
|
Run a command as a specific user with the given environment variables.
|
|
87
87
|
"""
|
|
88
|
+
if os.path.isfile("/etc/python-site-location"):
|
|
89
|
+
with open("/etc/python-site-location") as f:
|
|
90
|
+
python_site = f.read().rstrip()
|
|
91
|
+
else:
|
|
92
|
+
# make this empty string once file creation is merged into build/Dockerfile
|
|
93
|
+
python_site = (
|
|
94
|
+
"/opt/cpython-3.12.11-linux-x86_64-gnu/lib/python3.12/site-packages"
|
|
95
|
+
)
|
|
96
|
+
|
|
88
97
|
if isinstance(command, list):
|
|
89
98
|
command = " ".join(command)
|
|
90
99
|
env_vars = {
|
|
91
100
|
"PATH": get_env_var("PATH", ""),
|
|
92
|
-
"PYTHONPATH": get_env_var("PYTHONPATH", ""),
|
|
101
|
+
"PYTHONPATH": get_env_var("PYTHONPATH", "") + ":" + python_site,
|
|
93
102
|
} | env_vars
|
|
94
103
|
|
|
95
104
|
env_kv = [f"{k}={v}" for k, v in env_vars.items()]
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
import os
|
|
14
14
|
import sys
|
|
15
15
|
import runpy
|
|
16
|
-
|
|
16
|
+
import inspect
|
|
17
|
+
import importlib
|
|
17
18
|
|
|
18
19
|
from datatailr.logging import DatatailrLogger
|
|
19
20
|
|
|
@@ -29,9 +30,12 @@ def run():
|
|
|
29
30
|
"Environment variable 'DATATAILR_ENTRYPOINT' is not in the format 'module_name:file_name'."
|
|
30
31
|
)
|
|
31
32
|
|
|
32
|
-
module_name,
|
|
33
|
+
module_name, func_name = entrypoint.split(":")
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
# consider using ast
|
|
36
|
+
module = importlib.import_module(module_name)
|
|
37
|
+
function = getattr(module, func_name)
|
|
38
|
+
script = inspect.getfile(function)
|
|
35
39
|
sys.argv = ["streamlit", "run", str(script), *sys.argv[1:]]
|
|
36
40
|
logger.info(f"Running entrypoint: {entrypoint}")
|
|
37
41
|
runpy.run_module("streamlit", run_name="__main__")
|
|
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
|