MSTR-Robotics-magerdaniel 0.5.7__tar.gz → 0.5.8__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.
Files changed (56) hide show
  1. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/MSTR_Robotics_magerdaniel.egg-info/PKG-INFO +1 -1
  2. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/PKG-INFO +1 -1
  3. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/__init__.py +1 -1
  4. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/_paths.py +14 -7
  5. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/pyproject.toml +1 -1
  6. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/MSTR_Robotics_magerdaniel.egg-info/SOURCES.txt +0 -0
  7. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/MSTR_Robotics_magerdaniel.egg-info/dependency_links.txt +0 -0
  8. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/MSTR_Robotics_magerdaniel.egg-info/requires.txt +0 -0
  9. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/MSTR_Robotics_magerdaniel.egg-info/top_level.txt +0 -0
  10. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/OSI_Produktion/osi_dashboard_8D47320148C7E2850BFD2B9605D73297.yml +0 -0
  11. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/README.md +0 -0
  12. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/config/API_KEY.example.env +0 -0
  13. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/config/dans_migrations.example.yml +0 -0
  14. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/config/jupyter_objects_d.example.yml +0 -0
  15. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/config/mstr_redis_y.example.yml +0 -0
  16. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/config/user_d.example.yml +0 -0
  17. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/docs/SETUP.md +0 -0
  18. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/_connectors.py +0 -0
  19. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/_export.py +0 -0
  20. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/_helper.py +0 -0
  21. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/_lu_data.py +0 -0
  22. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/_mod_prj_obj.py +0 -0
  23. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/_pa_etl.py +0 -0
  24. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/dossier.py +0 -0
  25. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/json_compare.py +0 -0
  26. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/mcp_servers/__init__.py +0 -0
  27. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/mcp_servers/_fetch_static_data.py +0 -0
  28. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/mcp_servers/_osi_find_bi_data.py +0 -0
  29. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/mcp_servers/_osi_object_analysis.py +0 -0
  30. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/mcp_servers/_osi_specific_analysis.py +0 -0
  31. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/mcp_servers/_run_mstr_report_wizzard.py +0 -0
  32. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/mcp_servers/_server_config.py +0 -0
  33. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/mcp_servers/mstr_osi_mcp.py +0 -0
  34. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/ms_azure.py +0 -0
  35. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/mstr_classes.py +0 -0
  36. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/mstr_pandas.py +0 -0
  37. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/navigation.py +0 -0
  38. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/osi_exporter/__init__.py +0 -0
  39. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/osi_exporter/export_dashboard.py +0 -0
  40. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/prepare_ai_data.py +0 -0
  41. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/read_out_prj_obj.py +0 -0
  42. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/redis_db.py +0 -0
  43. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/regam.py +0 -0
  44. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/report.py +0 -0
  45. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/select_mig_objects.py +0 -0
  46. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/setup.py +0 -0
  47. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/mstr_robotics/user_rag.py +0 -0
  48. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/notebooks/00_setup.ipynb +0 -0
  49. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/notebooks/jup_REGAM.ipynb +0 -0
  50. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/notebooks/jup_chat_answer_prompt_page.ipynb +0 -0
  51. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/notebooks/jup_load_rag_cubes.ipynb +0 -0
  52. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/notebooks/jup_migrate.ipynb +0 -0
  53. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/notebooks/jup_mstr_admin.ipynb +0 -0
  54. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/notebooks/jup_prj_obj_exporter.ipynb +0 -0
  55. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/notebooks/jup_schema_monitor.ipynb +0 -0
  56. {mstr_robotics_magerdaniel-0.5.7 → mstr_robotics_magerdaniel-0.5.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MSTR-Robotics-magerdaniel
3
- Version: 0.5.7
3
+ Version: 0.5.8
4
4
  Summary: Automation toolkit for MicroStrategy / Strategy One: object read-out, migration, comparison, RAG and OSI export.
5
5
  Author-email: Daniel Mager <danielmager@gmx.de>
6
6
  Requires-Python: >=3.12
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MSTR-Robotics-magerdaniel
3
- Version: 0.5.7
3
+ Version: 0.5.8
4
4
  Summary: Automation toolkit for MicroStrategy / Strategy One: object read-out, migration, comparison, RAG and OSI export.
5
5
  Author-email: Daniel Mager <danielmager@gmx.de>
6
6
  Requires-Python: >=3.12
@@ -4,4 +4,4 @@ Object read-out, migration packaging, environment comparison, RAG helpers
4
4
  and OSI dashboard export, driven by the Jupyter notebooks in ``notebooks/``.
5
5
  """
6
6
 
7
- __version__ = "0.5.7"
7
+ __version__ = "0.5.8"
@@ -27,8 +27,15 @@ from __future__ import annotations
27
27
  import os
28
28
  from pathlib import Path
29
29
 
30
- # Marker that identifies a project root (every environment has its own copy).
31
- _MARKER = Path("config") / "user_d.yml"
30
+ # Markers that identify a project root (every environment has its own copy).
31
+ # ``user_d.yml`` exists once setup has run; ``user_d.example.yml`` exists as
32
+ # soon as the user copies mstr_robotics/utils/config/ in, before setup has run
33
+ # even once -- needed because the setup notebook itself runs from
34
+ # <project>/notebooks/, one level below the project root it needs to find.
35
+ _MARKERS = (
36
+ Path("config") / "user_d.yml",
37
+ Path("config") / "user_d.example.yml",
38
+ )
32
39
 
33
40
 
34
41
  def find_repo_root() -> Path:
@@ -37,10 +44,10 @@ def find_repo_root() -> Path:
37
44
  Resolution order:
38
45
  1. ``MSTR_REPO_ROOT`` environment variable, if set.
39
46
  2. The nearest ancestor of the cwd that contains ``config/user_d.yml``
40
- (a project that has already run setup at least once).
41
- 3. The current working directory, on the assumption this is a fresh
42
- project where the user just copied ``mstr_robotics/utils/`` in and is
43
- about to run setup for the first time.
47
+ or ``config/user_d.example.yml`` (a project that has copied
48
+ mstr_robotics/utils/ in, whether or not setup has run yet).
49
+ 3. The current working directory, if neither marker is found anywhere
50
+ above it.
44
51
 
45
52
  Step 3 deliberately does NOT fall back to this file's install location
46
53
  (e.g. site-packages) -- that would silently write config/output inside the
@@ -51,7 +58,7 @@ def find_repo_root() -> Path:
51
58
  return Path(env).resolve()
52
59
  cwd = Path.cwd()
53
60
  for base in (cwd, *cwd.parents):
54
- if (base / _MARKER).exists():
61
+ if any((base / marker).exists() for marker in _MARKERS):
55
62
  return base
56
63
  return cwd
57
64
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "MSTR-Robotics-magerdaniel"
7
- version = "0.5.7"
7
+ version = "0.5.8"
8
8
  description = "Automation toolkit for MicroStrategy / Strategy One: object read-out, migration, comparison, RAG and OSI export."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"