datatailr 0.1.56__py3-none-any.whl → 0.1.58__py3-none-any.whl

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.

@@ -1,6 +1,8 @@
1
+ # type: ignore
2
+
1
3
  try:
2
- from dt.excel import Addin # noqa: F401
3
- from dt.excel import Queue # noqa: F401
4
+ from dt.excel import Addin
5
+ from dt.excel import Queue
4
6
  except ImportError:
5
7
 
6
8
  class DummyAddin:
@@ -17,4 +19,15 @@ except ImportError:
17
19
  def run(self):
18
20
  pass
19
21
 
22
+ class DummyQueue:
23
+ def __init__(self) -> None:
24
+ pass
25
+
26
+ def push(self, value) -> None:
27
+ pass
28
+
20
29
  Addin = DummyAddin
30
+ Queue = DummyQueue
31
+
32
+
33
+ __all__ = ["Addin", "Queue"]
@@ -30,6 +30,8 @@
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`.
33
35
 
34
36
 
35
37
  import subprocess
@@ -86,19 +88,13 @@ def run_command_as_user(command: str | list, user: str, env_vars: dict):
86
88
  """
87
89
  Run a command as a specific user with the given environment variables.
88
90
  """
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
-
95
91
  python_libdir = sysconfig.get_config_var("LIBDIR")
96
92
 
97
93
  if isinstance(command, list):
98
94
  command = " ".join(command)
99
95
  env_vars = {
100
96
  "PATH": get_env_var("PATH", ""),
101
- "PYTHONPATH": get_env_var("PYTHONPATH", "") + ":" + python_site,
97
+ "PYTHONPATH": get_env_var("PYTHONPATH", ""),
102
98
  "LD_LIBRARY_PATH": get_env_var("LD_LIBRARY_PATH", "") + ":" + python_libdir,
103
99
  } | env_vars
104
100
 
@@ -136,7 +132,7 @@ def main():
136
132
  "DATATAILR_BATCH_ID": batch_id,
137
133
  "DATATAILR_BATCH_ENTRYPOINT": entrypoint,
138
134
  } | env
139
- run_command_as_user("datatailr_run_batch", user, env)
135
+ run_command_as_user("uv run datatailr_run_batch", user, env)
140
136
  elif job_type == "service":
141
137
  port = get_env_var("DATATAILR_SERVICE_PORT", 8080)
142
138
  entrypoint = get_env_var("DATATAILR_ENTRYPOINT")
@@ -144,13 +140,13 @@ def main():
144
140
  "DATATAILR_ENTRYPOINT": entrypoint,
145
141
  "DATATAILR_SERVICE_PORT": port,
146
142
  } | env
147
- run_command_as_user("datatailr_run_service", user, env)
143
+ run_command_as_user("uv run datatailr_run_service", user, env)
148
144
  elif job_type == "app":
149
145
  entrypoint = get_env_var("DATATAILR_ENTRYPOINT")
150
146
  env = {
151
147
  "DATATAILR_ENTRYPOINT": entrypoint,
152
148
  } | env
153
- run_command_as_user("datatailr_run_app", user, env)
149
+ run_command_as_user("uv run datatailr_run_app", user, env)
154
150
  elif job_type == "excel":
155
151
  host = get_env_var("DATATAILR_HOST", "")
156
152
  local = get_env_var("DATATAILR_LOCAL", "")
@@ -161,7 +157,7 @@ def main():
161
157
  "DATATAILR_HOST": host,
162
158
  "DATATAILR_LOCAL": local,
163
159
  } | env
164
- run_command_as_user("datatailr_run_excel", user, env)
160
+ run_command_as_user("uv run datatailr_run_excel", user, env)
165
161
  elif job_type == "ide":
166
162
  command = [
167
163
  "code-server",
@@ -172,7 +168,10 @@ def main():
172
168
  run_command_as_user(command, user, env)
173
169
  elif job_type == "jupyter":
174
170
  command = [
175
- "jupyter-lab",
171
+ "uv",
172
+ "run",
173
+ "jupyter",
174
+ "lab",
176
175
  "--ip='*'",
177
176
  "--port=8080",
178
177
  "--no-browser",
@@ -317,6 +317,7 @@ class Batch(Job):
317
317
  run_as: Optional[Union[str, User]] = None,
318
318
  resources: Resources = Resources(memory="100m", cpu=1),
319
319
  acl: Optional[ACL] = None,
320
+ python_version: str = "3.12",
320
321
  local_run: bool = False,
321
322
  python_requirements: str = "",
322
323
  build_script_pre: str = "",
@@ -330,6 +331,7 @@ class Batch(Job):
330
331
  run_as=run_as,
331
332
  resources=resources,
332
333
  acl=acl,
334
+ python_version=python_version,
333
335
  python_requirements=python_requirements,
334
336
  build_script_pre=build_script_pre,
335
337
  build_script_post=build_script_post,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datatailr
3
- Version: 0.1.56
3
+ Version: 0.1.58
4
4
  Summary: Ready-to-Use Platform That Drives Business Insights
5
5
  Author-email: Datatailr <info@datatailr.com>
6
6
  License-Expression: MIT
@@ -3,7 +3,6 @@ datatailr/acl.py,sha256=tlDy6VlHinSy5W1FbVxcNQNi7FliWUXy3ssIbzaPp28,4157
3
3
  datatailr/blob.py,sha256=9lKZKm4eRKVE4_t2zy3hh6Z_Ov4iaTA3-tJFjnQKezg,3313
4
4
  datatailr/dt_json.py,sha256=3xmTqDBk68oPl2UW8UVOYPaBw4lAsVg6nDLwcen5nuo,2252
5
5
  datatailr/errors.py,sha256=p_e4ao3sFEfz1g4LvEDqw6bVzHJPJSINLjJ8H6_PqOo,751
6
- datatailr/excel.py,sha256=r59mL80PKkLNAeXA-Hi48z8rvzhaJMq5Xkf8AQPSNYk,468
7
6
  datatailr/group.py,sha256=AC0nCA44eEWZCJCq2klPqkFg_995mS3C_wu5uSFFLtU,4426
8
7
  datatailr/logging.py,sha256=msr0vzIaOtXmKjxsPpMw0Zl7jX9C_W0IuUwNjmqhhcA,4146
9
8
  datatailr/user.py,sha256=tjIMbQ-tb2yFhgLBl_eTb47kKiy-RoM3KtYS3zmJiwc,6736
@@ -12,7 +11,8 @@ datatailr/version.py,sha256=N9K8ZxlwFFSz8XSgbgaTWZY4k2J0JKfj698nZ_O2pIU,536
12
11
  datatailr/wrapper.py,sha256=K9ZD76cWey_ikA6C5sKejwRaYBDln4QMg-RcoRGiuFc,7991
13
12
  datatailr/build/__init__.py,sha256=_dA7b4L6wsaAFaSxUoYSJ1oaRqDHDMR20kqoCocSOss,487
14
13
  datatailr/build/image.py,sha256=YC8ML-l-sj6TcIBY-DCx_vaeI_7SmL9fPFhHnuxzRh0,5509
15
- datatailr/sbin/datatailr_run.py,sha256=RyHmG_PfZR7DPR5SHVr-YuPB1uk9SmKs2LL-sY8cmzI,7319
14
+ datatailr/excel/__init__.py,sha256=OmDPlt25cUb8SnHiA4aILi2JHzIAXIo4D0uZltCQRjc,643
15
+ datatailr/sbin/datatailr_run.py,sha256=3MKXKm_S1jZI8t6g4vFIyKYpKjJFefIZVCHghkDSCDU,7369
16
16
  datatailr/sbin/datatailr_run_app.py,sha256=itF76XC2F4RK9s6bkoEppEiYwSLHK_5Jai3yvC-kFhY,1501
17
17
  datatailr/sbin/datatailr_run_batch.py,sha256=UWnp96j_G66R_Cape7Bb-rbK6UBLF7Y5_mTlWyGJAVQ,1818
18
18
  datatailr/sbin/datatailr_run_excel.py,sha256=MY2XH-T5bWABR23C_15eLhjaxggGRgjRhA-ByS6CtMc,1422
@@ -20,14 +20,14 @@ datatailr/sbin/datatailr_run_service.py,sha256=DO9LGOpz3CVZOJJRHb4ac7AgY_mLbXHGa
20
20
  datatailr/scheduler/__init__.py,sha256=qydHYVtEP6SUWd2CQ6FRdTdRWNz3SbYPJy4FK_wOvMk,1772
21
21
  datatailr/scheduler/arguments_cache.py,sha256=dl8IG9RTLSrJUk6g0_LYolkcuqW-LF52wdLPhs07LRI,6076
22
22
  datatailr/scheduler/base.py,sha256=0EN9YUiBgyYMzdsf4KFpNiQWTlCuV3NgCiauFHlYPbQ,15838
23
- datatailr/scheduler/batch.py,sha256=-dRfHosZy1YWhKlrNZWtxA7tJ7MHvAm-NFen5mFxpUI,17604
23
+ datatailr/scheduler/batch.py,sha256=SBh9_G8WhQ8IkJw8NLjZ_HPbn5glIyDMQCrpaxd90Ko,17685
24
24
  datatailr/scheduler/batch_decorator.py,sha256=LqL1bsupWLn-YEQUvFJYae7R3ogrL5-VodyiiScrkRw,5806
25
25
  datatailr/scheduler/constants.py,sha256=5WWTsfwZ_BA8gVDOTa2AQX9DJ0NzfaWgtY3vrODS2-8,606
26
26
  datatailr/scheduler/schedule.py,sha256=0XJJen2nL1xplRs0Xbjwgq3T-0bFCOrJzkSALdio998,3741
27
27
  datatailr/scheduler/utils.py,sha256=up6oR2iwe6G52LkvgfO394xchXgCYNjOMGRQW3e8PQk,1082
28
- datatailr-0.1.56.dist-info/licenses/LICENSE,sha256=ikKP4_O-UD_b8FuNdKmbzTb6odd0JX085ZW_FAPN3VI,1066
29
- datatailr-0.1.56.dist-info/METADATA,sha256=mtG80M_whb3EH7UCBp-nakqKP3C0r2EpWjzVSUwEEbo,5146
30
- datatailr-0.1.56.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
- datatailr-0.1.56.dist-info/entry_points.txt,sha256=YqXfk2At-olW4PUSRkqvy_O3Mbv7uTKCCPuAAiz3Qbg,312
32
- datatailr-0.1.56.dist-info/top_level.txt,sha256=75gntW0X_SKpqxLL6hAPipvpk28GAhJBvoyqN_HohWU,10
33
- datatailr-0.1.56.dist-info/RECORD,,
28
+ datatailr-0.1.58.dist-info/licenses/LICENSE,sha256=ikKP4_O-UD_b8FuNdKmbzTb6odd0JX085ZW_FAPN3VI,1066
29
+ datatailr-0.1.58.dist-info/METADATA,sha256=PA6gJA2OTuFFuPUBz_4ZALiotpmRGlyYuF6YxMhXouY,5146
30
+ datatailr-0.1.58.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
+ datatailr-0.1.58.dist-info/entry_points.txt,sha256=YqXfk2At-olW4PUSRkqvy_O3Mbv7uTKCCPuAAiz3Qbg,312
32
+ datatailr-0.1.58.dist-info/top_level.txt,sha256=75gntW0X_SKpqxLL6hAPipvpk28GAhJBvoyqN_HohWU,10
33
+ datatailr-0.1.58.dist-info/RECORD,,