datatailr 0.1.44__tar.gz → 0.1.46__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.

Files changed (39) hide show
  1. {datatailr-0.1.44/src/datatailr.egg-info → datatailr-0.1.46}/PKG-INFO +1 -1
  2. {datatailr-0.1.44 → datatailr-0.1.46}/pyproject.toml +1 -1
  3. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/scheduler/arguments_cache.py +1 -4
  4. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/scheduler/batch_decorator.py +3 -9
  5. {datatailr-0.1.44 → datatailr-0.1.46/src/datatailr.egg-info}/PKG-INFO +1 -1
  6. {datatailr-0.1.44 → datatailr-0.1.46}/src/sbin/datatailr_run.py +5 -5
  7. {datatailr-0.1.44 → datatailr-0.1.46}/src/sbin/datatailr_run_excel.py +12 -6
  8. {datatailr-0.1.44 → datatailr-0.1.46}/LICENSE +0 -0
  9. {datatailr-0.1.44 → datatailr-0.1.46}/README.md +0 -0
  10. {datatailr-0.1.44 → datatailr-0.1.46}/setup.cfg +0 -0
  11. {datatailr-0.1.44 → datatailr-0.1.46}/setup.py +0 -0
  12. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/__init__.py +0 -0
  13. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/acl.py +0 -0
  14. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/blob.py +0 -0
  15. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/build/__init__.py +0 -0
  16. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/build/image.py +0 -0
  17. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/dt_json.py +0 -0
  18. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/errors.py +0 -0
  19. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/excel.py +0 -0
  20. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/group.py +0 -0
  21. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/logging.py +0 -0
  22. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/scheduler/__init__.py +0 -0
  23. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/scheduler/base.py +0 -0
  24. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/scheduler/batch.py +0 -0
  25. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/scheduler/constants.py +0 -0
  26. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/scheduler/schedule.py +0 -0
  27. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/scheduler/utils.py +0 -0
  28. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/user.py +0 -0
  29. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/utils.py +0 -0
  30. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/version.py +0 -0
  31. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr/wrapper.py +0 -0
  32. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr.egg-info/SOURCES.txt +0 -0
  33. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr.egg-info/dependency_links.txt +0 -0
  34. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr.egg-info/entry_points.txt +0 -0
  35. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr.egg-info/requires.txt +0 -0
  36. {datatailr-0.1.44 → datatailr-0.1.46}/src/datatailr.egg-info/top_level.txt +0 -0
  37. {datatailr-0.1.44 → datatailr-0.1.46}/src/sbin/datatailr_run_app.py +0 -0
  38. {datatailr-0.1.44 → datatailr-0.1.46}/src/sbin/datatailr_run_batch.py +0 -0
  39. {datatailr-0.1.44 → datatailr-0.1.46}/src/sbin/datatailr_run_service.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datatailr
3
- Version: 0.1.44
3
+ Version: 0.1.46
4
4
  Summary: Ready-to-Use Platform That Drives Business Insights
5
5
  Author-email: Datatailr <info@datatailr.com>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "datatailr"
7
- version = "0.1.44"
7
+ version = "0.1.46"
8
8
  description = "Ready-to-Use Platform That Drives Business Insights"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -161,8 +161,5 @@ class ArgumentsCache:
161
161
  :param path: Path in the Blob storage where the blob is stored.
162
162
  """
163
163
  path = path.replace("/tmp/", "")
164
- try:
165
- data = __BLOB_STORAGE__.get_blob(path)
166
- except RuntimeError as e:
167
- raise RuntimeError(f"Failed to retrieve blob from path {path}: {str(e)}")
164
+ data = __BLOB_STORAGE__.get_blob(path)
168
165
  return json.loads(data)
@@ -78,18 +78,13 @@ def batch_decorator(memory: str = DEFAULT_TASK_MEMORY, cpu: float = DEFAULT_TASK
78
78
  [None] * (len(all_function_args) - len(final_args))
79
79
  )
80
80
  final_args[all_function_args.index(name)] = value
81
- job_name = os.getenv("DATATAILR_JOB_NAME", func.__name__)
82
- run_id = os.getenv("DATATAILR_BATCH_RUN_ID")
83
81
  try:
84
82
  final_kwargs = __ARGUMENTS_CACHE__.get_arguments(
85
83
  dag_id(func),
86
- job_name,
87
- run_id,
88
- )
89
- except CacheNotFoundError as e:
90
- print(
91
- f"Cache not found for job {job_name} with run id {run_id}. Using provided arguments. Error: {e}"
84
+ os.getenv("DATATAILR_JOB_NAME", func.__name__),
85
+ os.getenv("DATATAILR_BATCH_RUN_ID"),
92
86
  )
87
+ except CacheNotFoundError:
93
88
  final_kwargs = kwargs
94
89
 
95
90
  if varargs is not None and varkw is None:
@@ -101,7 +96,6 @@ def batch_decorator(memory: str = DEFAULT_TASK_MEMORY, cpu: float = DEFAULT_TASK
101
96
  if len(final_args) == len(parameters.keys()):
102
97
  for i, arg_name in enumerate(parameters.keys()):
103
98
  final_args[i] = final_kwargs.pop(arg_name, final_args[i])
104
- print(f"{final_args=}, {final_kwargs=}, {args=}, {kwargs=}")
105
99
  result = func(*final_args, **final_kwargs)
106
100
  __ARGUMENTS_CACHE__.add_result(
107
101
  batch_run_id(),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datatailr
3
- Version: 0.1.44
3
+ Version: 0.1.46
4
4
  Summary: Ready-to-Use Platform That Drives Business Insights
5
5
  Author-email: Datatailr <info@datatailr.com>
6
6
  License-Expression: MIT
@@ -38,10 +38,8 @@ import sys
38
38
  from typing import Tuple
39
39
  from datatailr.logging import DatatailrLogger
40
40
  from datatailr.utils import is_dt_installed
41
- from datatailr import __version__
42
41
 
43
42
  logger = DatatailrLogger(os.path.abspath(__file__)).get_logger()
44
- logger.info(f"Datatailr version: {__version__}")
45
43
 
46
44
  if not is_dt_installed():
47
45
  logger.error("Datatailr is not installed.")
@@ -87,15 +85,15 @@ def run_command_as_user(command: str | list, user: str, env_vars: dict):
87
85
  """
88
86
  Run a command as a specific user with the given environment variables.
89
87
  """
90
- if isinstance(command, str):
91
- command = command.split(" ")
88
+ if isinstance(command, list):
89
+ command = " ".join(command)
92
90
  env_vars = {
93
91
  "PATH": get_env_var("PATH", ""),
94
92
  "PYTHONPATH": get_env_var("PYTHONPATH", ""),
95
93
  } | env_vars
96
94
 
97
95
  env_kv = [f"{k}={v}" for k, v in env_vars.items()]
98
- argv = ["sudo", "-u", user, "env", *env_kv, "bash", "-lc", *command]
96
+ argv = ["sudo", "-u", user, "env", *env_kv, "bash", "-lc", command]
99
97
 
100
98
  try:
101
99
  result = subprocess.run(
@@ -149,9 +147,11 @@ def main():
149
147
  elif job_type == "excel":
150
148
  host = get_env_var("DATATAILR_HOST", "")
151
149
  entrypoint = get_env_var("DATATAILR_ENTRYPOINT")
150
+ local = get_env_var("DATATAILR_LOCAL", False)
152
151
  env = {
153
152
  "DATATAILR_ENTRYPOINT": entrypoint,
154
153
  "DATATAILR_HOST": host,
154
+ "DATATAILR_LOCAL": local,
155
155
  } | env
156
156
  run_command_as_user("datatailr_run_excel", user, env)
157
157
  elif job_type == "ide":
@@ -20,15 +20,21 @@ logger = DatatailrLogger(os.path.abspath(__file__)).get_logger()
20
20
 
21
21
  def run():
22
22
  logger.info("Starting Datatailr excel add-in...")
23
- entrypoint = os.environ.get("DATATAILR_ENTRYPOINT")
24
- # hostname = os.environ.get("DATATAILR_HOST")
25
23
 
24
+ entrypoint = os.environ.get("DATATAILR_ENTRYPOINT")
26
25
  if entrypoint is None:
27
26
  raise ValueError("Environment variable 'DATATAILR_ENTRYPOINT' is not set.")
28
27
 
29
- # if hostname is None:
30
- # raise ValueError("Environment variable 'DATATAILR_HOST' is not set.")
31
-
32
- # entrypoint = f'./dt-excel.sh -n -H "{hostname}" -p 8080 "{entrypoint}"'
28
+ local = os.environ.get("DATATAILR_LOCAL", False) in ("1", "true", "True", "TRUE")
29
+ if local:
30
+ hostname = "localhost.excel.datatailr.com"
31
+ local_flag = "-l"
32
+ else:
33
+ hostname = os.environ.get("DATATAILR_HOST")
34
+ if hostname is None:
35
+ raise ValueError("Environment variable 'DATATAILR_HOST' is not set.")
36
+ local_flag = ""
37
+
38
+ entrypoint = f'/opt/datatailr/bin/dt-excel.sh -n -H "{hostname}" {local_flag} -p 8080 -w 8000 {entrypoint}'
33
39
  logger.info(f"Running entrypoint: {entrypoint}")
34
40
  subprocess.run(entrypoint, shell=True)
File without changes
File without changes
File without changes
File without changes