opensees-cli 0.2.4__tar.gz → 0.2.5__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 (29) hide show
  1. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/PKG-INFO +1 -1
  2. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/pyproject.toml +1 -1
  3. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/__init__.py +1 -1
  4. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/auth.py +2 -0
  5. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli.egg-info/PKG-INFO +1 -1
  6. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/tests/test_auth_commands.py +9 -5
  7. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/README.md +0 -0
  8. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/setup.cfg +0 -0
  9. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/__main__.py +0 -0
  10. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/admin.py +0 -0
  11. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/api.py +0 -0
  12. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/config.py +0 -0
  13. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/files.py +0 -0
  14. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/main.py +0 -0
  15. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/path_setup.py +0 -0
  16. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/run.py +0 -0
  17. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli/version.py +0 -0
  18. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli.egg-info/SOURCES.txt +0 -0
  19. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli.egg-info/dependency_links.txt +0 -0
  20. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli.egg-info/entry_points.txt +0 -0
  21. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli.egg-info/requires.txt +0 -0
  22. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/src/opensees_cli.egg-info/top_level.txt +0 -0
  23. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/tests/test_admin_commands.py +0 -0
  24. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/tests/test_api.py +0 -0
  25. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/tests/test_config.py +0 -0
  26. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/tests/test_files_commands.py +0 -0
  27. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/tests/test_main_commands.py +0 -0
  28. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/tests/test_run_commands.py +0 -0
  29. {opensees_cli-0.2.4 → opensees_cli-0.2.5}/tests/test_version_commands.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensees_cli
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Summary: Run OpenSees simulations in the cloud from the command line.
5
5
  Author: Minjie Zhu
6
6
  License: Proprietary
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "opensees_cli"
7
- version = "0.2.4"
7
+ version = "0.2.5"
8
8
  description = "Run OpenSees simulations in the cloud from the command line."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,3 +1,3 @@
1
1
  """OpenSees CLI — run structural simulations in the cloud."""
2
2
 
3
- __version__ = "0.2.4"
3
+ __version__ = "0.2.5"
@@ -527,6 +527,8 @@ def login(email: Optional[str] = typer.Option(None, "--email", "-e")):
527
527
  )
528
528
  api.invalidate_session_cache()
529
529
  console.print(f"[green]Logged in as [bold]{email}[/bold][/green]")
530
+ if r.get("cli_upgrade"):
531
+ console.print(f"[yellow]{r['cli_upgrade']}[/yellow]")
530
532
  maybe_print_cli_upgrade()
531
533
  except api.ApiError as e:
532
534
  console.print(f"[red]{e.message}[/red]")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opensees_cli
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Summary: Run OpenSees simulations in the cloud from the command line.
5
5
  Author: Minjie Zhu
6
6
  License: Proprietary
@@ -94,14 +94,18 @@ class TestLogin:
94
94
  assert result.exit_code == 0
95
95
  assert "Logged in" in result.output
96
96
 
97
- def test_login_stale_cli(self, cli_runner, patch_httpx, mock_router):
98
- mock_router.add("POST", "/prod/auth/login", status=400, json={
99
- "error": "This CLI (0.2.3) is out of date. Upgrade with: pip install -U opensees_cli",
100
- "code": "auth_error",
97
+ def test_login_stale_cli_warns(self, cli_runner, patch_httpx, mock_router):
98
+ mock_router.add("POST", "/prod/auth/login", json={
99
+ "access_token": "at",
100
+ "refresh_token": "rt",
101
+ "id_token": "id",
102
+ "is_admin": False,
103
+ "cli_upgrade": "This CLI (0.2.3) is out of date. Upgrade with: pip install -U opensees_cli",
101
104
  })
102
105
  with patch("opensees_cli.auth._ask_password", return_value="Pass1!"):
103
106
  result = cli_runner.invoke(app, ["auth", "login", "-e", "u@t.com"])
104
- assert result.exit_code == 1
107
+ assert result.exit_code == 0
108
+ assert "Logged in" in result.output
105
109
  assert "pip install -U opensees_cli" in result.output
106
110
 
107
111
 
File without changes
File without changes