insightfactory-cli 1.0.1.dev10__tar.gz → 1.0.2__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 (50) hide show
  1. insightfactory_cli-1.0.2/LICENSE +5 -0
  2. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/PKG-INFO +10 -3
  3. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/README.md +5 -0
  4. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/pyproject.toml +5 -3
  5. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/http.py +5 -1
  6. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/oauth.py +3 -2
  7. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/uv.lock +1 -1
  8. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/.github/workflows/ci.yml +0 -0
  9. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/.github/workflows/claude.yml +0 -0
  10. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/.github/workflows/release.yml +0 -0
  11. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/.gitignore +0 -0
  12. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/.python-version +0 -0
  13. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/AGENTS.md +0 -0
  14. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/CLAUDE.md +0 -0
  15. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/__init__.py +0 -0
  16. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/__main__.py +0 -0
  17. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/cache.py +0 -0
  18. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/cli.py +0 -0
  19. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/colour.py +0 -0
  20. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/commands/__init__.py +0 -0
  21. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/commands/api.py +0 -0
  22. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/commands/config.py +0 -0
  23. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/commands/login.py +0 -0
  24. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/commands/logout.py +0 -0
  25. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/commands/profiles.py +0 -0
  26. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/commands/set_token.py +0 -0
  27. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/commands/token.py +0 -0
  28. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/config.py +0 -0
  29. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/constants.py +0 -0
  30. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/main.py +0 -0
  31. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/src/if_cli/runtime.py +0 -0
  32. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/__init__.py +0 -0
  33. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/cache_writer.py +0 -0
  34. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/conftest.py +0 -0
  35. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/helpers.py +0 -0
  36. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/servers.py +0 -0
  37. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_api.py +0 -0
  38. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_api_command.py +0 -0
  39. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_cache.py +0 -0
  40. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_cli.py +0 -0
  41. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_config.py +0 -0
  42. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_config_command.py +0 -0
  43. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_login.py +0 -0
  44. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_oauth.py +0 -0
  45. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_oauth_flow.py +0 -0
  46. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_profiles.py +0 -0
  47. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_programmatic_api.py +0 -0
  48. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_runtime.py +0 -0
  49. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_set_token.py +0 -0
  50. {insightfactory_cli-1.0.1.dev10 → insightfactory_cli-1.0.2}/tests/test_token.py +0 -0
@@ -0,0 +1,5 @@
1
+ Copyright 2026 insightfactory.ai. All rights reserved.
2
+
3
+ This software is proprietary. No permission is granted to use, copy, modify,
4
+ distribute, sublicense, or sell it except under a separate written agreement
5
+ with insightfactory.ai.
@@ -1,14 +1,16 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: insightfactory-cli
3
- Version: 1.0.1.dev10
3
+ Version: 1.0.2
4
4
  Summary: Profile-based authentication CLI for the InsightFactory Interfaces API
5
- Project-URL: Homepage, https://github.com/insightfactory-ai/insightfactory-cli
6
- Project-URL: Repository, https://github.com/insightfactory-ai/insightfactory-cli
5
+ Project-URL: Homepage, https://insightfactory.ai
7
6
  Author-email: "insightfactory.ai Support" <support@insightfactory.ai>
7
+ License-Expression: LicenseRef-Proprietary
8
+ License-File: LICENSE
8
9
  Keywords: cli,insightfactory,oauth,pkce
9
10
  Classifier: Development Status :: 5 - Production/Stable
10
11
  Classifier: Environment :: Console
11
12
  Classifier: Intended Audience :: Developers
13
+ Classifier: License :: Other/Proprietary License
12
14
  Classifier: Programming Language :: Python :: 3 :: Only
13
15
  Classifier: Typing :: Typed
14
16
  Requires-Python: >=3.10
@@ -308,3 +310,8 @@ genuinely diverge:
308
310
  On-disk profile and token-cache paths, JSON shapes, and file permissions stay
309
311
  compatible with the Node CLI, so you can switch implementations without
310
312
  re-authenticating.
313
+
314
+ ## Licence
315
+
316
+ Copyright 2026 insightfactory.ai. All rights reserved. This package is proprietary
317
+ and may be used only under a separate written agreement with insightfactory.ai.
@@ -292,3 +292,8 @@ genuinely diverge:
292
292
  On-disk profile and token-cache paths, JSON shapes, and file permissions stay
293
293
  compatible with the Node CLI, so you can switch implementations without
294
294
  re-authenticating.
295
+
296
+ ## Licence
297
+
298
+ Copyright 2026 insightfactory.ai. All rights reserved. This package is proprietary
299
+ and may be used only under a separate written agreement with insightfactory.ai.
@@ -1,15 +1,18 @@
1
1
  [project]
2
2
  name = "insightfactory-cli"
3
- version = "1.0.1.dev10"
3
+ version = "1.0.2"
4
4
  description = "Profile-based authentication CLI for the InsightFactory Interfaces API"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
7
7
  authors = [{ name = "insightfactory.ai Support", email = "support@insightfactory.ai" }]
8
+ license = "LicenseRef-Proprietary"
9
+ license-files = ["LICENSE"]
8
10
  keywords = ["insightfactory", "cli", "oauth", "pkce"]
9
11
  classifiers = [
10
12
  "Development Status :: 5 - Production/Stable",
11
13
  "Environment :: Console",
12
14
  "Intended Audience :: Developers",
15
+ "License :: Other/Proprietary License",
13
16
  "Programming Language :: Python :: 3 :: Only",
14
17
  "Typing :: Typed",
15
18
  ]
@@ -18,8 +21,7 @@ classifiers = [
18
21
  if-cli = "if_cli.main:main"
19
22
 
20
23
  [project.urls]
21
- Homepage = "https://github.com/insightfactory-ai/insightfactory-cli"
22
- Repository = "https://github.com/insightfactory-ai/insightfactory-cli"
24
+ Homepage = "https://insightfactory.ai"
23
25
 
24
26
  [build-system]
25
27
  requires = ["hatchling"]
@@ -188,7 +188,11 @@ def fetch_with_timeout(
188
188
  request = urllib.request.Request(url, data=data, headers=headers or {}, method=method)
189
189
  effective_timeout = resolve_request_timeout(timeout)
190
190
  try:
191
- with urllib.request.urlopen(request, timeout=effective_timeout) as response:
191
+ # Callers pass endpoints validated by parse_http_url or derived from a
192
+ # validated factory origin. file: and other local schemes are rejected.
193
+ with urllib.request.urlopen( # nosec B310
194
+ request, timeout=effective_timeout
195
+ ) as response:
192
196
  return HttpResponse(response.status, response.headers, response.read())
193
197
  except urllib.error.HTTPError as error:
194
198
  return HttpResponse(error.code, error.headers, error.read())
@@ -4,7 +4,7 @@ import base64
4
4
  import hashlib
5
5
  import json
6
6
  import secrets
7
- import subprocess
7
+ import subprocess # nosec B404
8
8
  import sys
9
9
  import time
10
10
  from http.server import BaseHTTPRequestHandler, HTTPServer
@@ -51,7 +51,8 @@ def open_browser(url: str, launcher: str | None = None) -> None:
51
51
  else:
52
52
  command, args = "xdg-open", [url]
53
53
  try:
54
- subprocess.Popen(
54
+ # The executable is selected by platform and shell remains false.
55
+ subprocess.Popen( # nosec B603
55
56
  [command, *args],
56
57
  stdout=subprocess.DEVNULL,
57
58
  stderr=subprocess.DEVNULL,
@@ -34,7 +34,7 @@ wheels = [
34
34
 
35
35
  [[package]]
36
36
  name = "insightfactory-cli"
37
- version = "1.0.1"
37
+ version = "1.0.2"
38
38
  source = { editable = "." }
39
39
 
40
40
  [package.dev-dependencies]