snowglobe 0.4.2__tar.gz → 0.4.4__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 (25) hide show
  1. {snowglobe-0.4.2/src/snowglobe.egg-info → snowglobe-0.4.4}/PKG-INFO +1 -1
  2. {snowglobe-0.4.2 → snowglobe-0.4.4}/pyproject.toml +1 -1
  3. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/cli.py +5 -3
  4. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/cli_utils.py +5 -2
  5. {snowglobe-0.4.2 → snowglobe-0.4.4/src/snowglobe.egg-info}/PKG-INFO +1 -1
  6. {snowglobe-0.4.2 → snowglobe-0.4.4}/tests/test_cli.py +3 -3
  7. {snowglobe-0.4.2 → snowglobe-0.4.4}/LICENSE +0 -0
  8. {snowglobe-0.4.2 → snowglobe-0.4.4}/README.md +0 -0
  9. {snowglobe-0.4.2 → snowglobe-0.4.4}/setup.cfg +0 -0
  10. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/__init__.py +0 -0
  11. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/app.py +0 -0
  12. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/config.py +0 -0
  13. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/models.py +0 -0
  14. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/project_manager.py +0 -0
  15. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/stats.py +0 -0
  16. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe/client/src/utils.py +0 -0
  17. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe.egg-info/SOURCES.txt +0 -0
  18. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe.egg-info/dependency_links.txt +0 -0
  19. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe.egg-info/entry_points.txt +0 -0
  20. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe.egg-info/requires.txt +0 -0
  21. {snowglobe-0.4.2 → snowglobe-0.4.4}/src/snowglobe.egg-info/top_level.txt +0 -0
  22. {snowglobe-0.4.2 → snowglobe-0.4.4}/tests/test_app.py +0 -0
  23. {snowglobe-0.4.2 → snowglobe-0.4.4}/tests/test_config.py +0 -0
  24. {snowglobe-0.4.2 → snowglobe-0.4.4}/tests/test_heartbeat.py +0 -0
  25. {snowglobe-0.4.2 → snowglobe-0.4.4}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowglobe
3
- Version: 0.4.2
3
+ Version: 0.4.4
4
4
  Summary: client server for usage with snowglobe experiments
5
5
  Author-email: Guardrails AI <contact@guardrailsai.com>
6
6
  License: MIT License
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "snowglobe"
3
- version = "0.4.2"
3
+ version = "0.4.4"
4
4
  authors = [
5
5
  {name = "Guardrails AI", email = "contact@guardrailsai.com"}
6
6
  ]
@@ -40,7 +40,9 @@ from .project_manager import get_project_manager
40
40
  CONTROL_PLANE_URL = os.environ.get(
41
41
  "CONTROL_PLANE_URL", "https://api.snowglobe.guardrailsai.com"
42
42
  )
43
- UI_URL = os.environ.get("UI_URL", "https://snowglobe.guardrailsai.com")
43
+
44
+ UI_URL = os.environ.get("UI_URL", "https://snowglobe.so/app")
45
+
44
46
  SNOWGLOBE_AUTH_CONFIGURE_PORT = int(
45
47
  os.environ.get("SNOWGLOBE_AUTH_CONFIGURE_PORT", 9001)
46
48
  )
@@ -763,7 +765,7 @@ def start(
763
765
  app_id = agent_info.get("uuid")
764
766
  app_name = agent_info.get("name", "Application")
765
767
  if app_id:
766
- app_url = f"{UI_URL}/applications/{app_id}"
768
+ app_url = f"{UI_URL}/agents/{app_id}"
767
769
  console.print(
768
770
  "🔗 Agent connected! Go to your Snowglobe agent and kick off a simulation:"
769
771
  )
@@ -776,7 +778,7 @@ def start(
776
778
  app_id = agent_info.get("uuid")
777
779
  app_name = agent_info.get("name", "Application")
778
780
  if app_id:
779
- app_url = f"{UI_URL}/applications/{app_id}"
781
+ app_url = f"{UI_URL}/agents/{app_id}"
780
782
  console.print(
781
783
  f" - {app_name}: [link={app_url}]{app_url}[/link]"
782
784
  )
@@ -256,7 +256,7 @@ def smart_signal_handler(sig, frame):
256
256
  sys.exit(0)
257
257
 
258
258
 
259
- def graceful_shutdown():
259
+ def graceful_shutdown(_sig_num, _frame):
260
260
  """Handle graceful shutdown with session summary (idempotent, always exits 0).
261
261
 
262
262
  This legacy entrypoint avoids toggling internal shutdown state so repeated
@@ -268,6 +268,9 @@ def graceful_shutdown():
268
268
  console.print("\n[bold yellow]🛑 Graceful shutdown initiated...[/bold yellow]")
269
269
  console.print("[dim]Press Ctrl+C again to force quit[/dim]")
270
270
 
271
+ if cli_state.verbose:
272
+ console.print(f"signal received: {_sig_num}, frame: {_frame}")
273
+
271
274
  # Show session summary and exit cleanly
272
275
  console.print("\n[bold blue]🛑 Shutting down...[/bold blue]")
273
276
  show_session_summary()
@@ -321,7 +324,7 @@ def select_stateful_interactive(
321
324
  info(
322
325
  "If your agent takes messages and completions on a single completion endpoint regardless of context, you can answer no to the following question."
323
326
  )
324
- if Confirm.ask("Would you like to create a new application?"):
327
+ if Confirm.ask("Would you like to initialize a stateful application?"):
325
328
  return True
326
329
  return False
327
330
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: snowglobe
3
- Version: 0.4.2
3
+ Version: 0.4.4
4
4
  Summary: client server for usage with snowglobe experiments
5
5
  Author-email: Guardrails AI <contact@guardrailsai.com>
6
6
  License: MIT License
@@ -52,7 +52,7 @@ class TestCli(unittest.TestCase):
52
52
 
53
53
  # Check URL format
54
54
  self.assertIn(
55
- "snowglobe.guardrailsai.com/keys/client-connect",
55
+ "snowglobe.so/app/keys/client-connect",
56
56
  browser_url,
57
57
  )
58
58
  self.assertIn("port=9001", browser_url) # Default port
@@ -710,7 +710,7 @@ def process_scenario(request):
710
710
  with mock.patch("sys.exit") as mock_exit:
711
711
  from snowglobe.client.src.cli_utils import graceful_shutdown
712
712
 
713
- graceful_shutdown()
713
+ graceful_shutdown(2, {})
714
714
 
715
715
  mock_get_stats.assert_called_once()
716
716
  mock_exit.assert_called_once_with(0)
@@ -724,7 +724,7 @@ def process_scenario(request):
724
724
  }
725
725
 
726
726
  with mock.patch("sys.exit") as mock_exit:
727
- graceful_shutdown()
727
+ graceful_shutdown(2, {})
728
728
 
729
729
  mock_exit.assert_called_once_with(0)
730
730
 
File without changes
File without changes
File without changes
File without changes
File without changes