comfy-cli 1.10.2__tar.gz → 1.10.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 (59) hide show
  1. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/PKG-INFO +1 -1
  2. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/tracking.py +33 -1
  3. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/PKG-INFO +1 -1
  4. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/pyproject.toml +1 -1
  5. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/LICENSE +0 -0
  6. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/README.md +0 -0
  7. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/__init__.py +0 -0
  8. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/__main__.py +0 -0
  9. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/cmdline.py +0 -0
  10. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/__init__.py +0 -0
  11. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/code_search.py +0 -0
  12. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/custom_nodes/__init__.py +0 -0
  13. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/custom_nodes/bisect_custom_nodes.py +0 -0
  14. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/custom_nodes/cm_cli_util.py +0 -0
  15. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/custom_nodes/command.py +0 -0
  16. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/__init__.py +0 -0
  17. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/adapters.py +0 -0
  18. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/app.py +0 -0
  19. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/client.py +0 -0
  20. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/output.py +0 -0
  21. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/poll.py +0 -0
  22. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/schema.py +0 -0
  23. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/spec/openapi.yml +0 -0
  24. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/spec.py +0 -0
  25. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/upload.py +0 -0
  26. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/github/pr_info.py +0 -0
  27. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/install.py +0 -0
  28. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/launch.py +0 -0
  29. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/models/models.py +0 -0
  30. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/pr_command.py +0 -0
  31. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/run.py +0 -0
  32. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/config_manager.py +0 -0
  33. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/constants.py +0 -0
  34. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/cuda_detect.py +0 -0
  35. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/env_checker.py +0 -0
  36. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/file_utils.py +0 -0
  37. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/git_utils.py +0 -0
  38. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/logging.py +0 -0
  39. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/pr_cache.py +0 -0
  40. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/registry/__init__.py +0 -0
  41. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/registry/api.py +0 -0
  42. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/registry/config_parser.py +0 -0
  43. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/registry/types.py +0 -0
  44. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/resolve_python.py +0 -0
  45. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/standalone.py +0 -0
  46. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/typing.py +0 -0
  47. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/ui.py +0 -0
  48. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/update.py +0 -0
  49. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/utils.py +0 -0
  50. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/uv.py +0 -0
  51. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/workflow_to_api.py +0 -0
  52. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/workspace_manager.py +0 -0
  53. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/SOURCES.txt +0 -0
  54. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/dependency_links.txt +0 -0
  55. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/entry_points.txt +0 -0
  56. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/requires.txt +0 -0
  57. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/top_level.txt +0 -0
  58. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/setup.cfg +0 -0
  59. {comfy_cli-1.10.2 → comfy_cli-1.10.4}/tests/test_file_utils_network.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: comfy-cli
3
- Version: 1.10.2
3
+ Version: 1.10.4
4
4
  Summary: A CLI tool for installing and using ComfyUI.
5
5
  Maintainer-email: Yoland Yan <yoland@drip.art>, James Kwon <hongilkwon316@gmail.com>, Robin Huang <robin@drip.art>, "Dr.Lt.Data" <dr.lt.data@gmail.com>
6
6
  License: GPL-3.0-only
@@ -32,6 +32,12 @@ POSTHOG_HOST = "https://t.comfy.org"
32
32
  # Only these events get the tracing_id --> workflow_run_id alias on PostHog.
33
33
  EXECUTION_EVENTS = frozenset({"execution_start", "execution_success", "execution_error"})
34
34
 
35
+ # Namespace applied to event names on PostHog only, matching the
36
+ # app:/hub:/registry: surface-prefix convention in the shared project. Mixpanel
37
+ # keeps the bare legacy names (see ``mixpanel_name`` in track_event) so its
38
+ # historical streams stay continuous.
39
+ POSTHOG_EVENT_PREFIX = "cli:"
40
+
35
41
  # Kwargs whose values must never reach tracking system.
36
42
  # The key is kept (with a redacted marker) so we can still see whether the option was supplied.
37
43
  SENSITIVE_TRACKING_KEYS = frozenset({"api_key"})
@@ -54,6 +60,21 @@ workspace_manager = WorkspaceManager()
54
60
  _session_only_tracking = False
55
61
 
56
62
 
63
+ def _telemetry_disabled_by_env() -> bool:
64
+ """Return True if telemetry is suppressed via environment variable.
65
+
66
+ Honors the cross-tool ``DO_NOT_TRACK`` convention
67
+ (https://consoledonottrack.com/) and the project-specific
68
+ ``COMFY_NO_TELEMETRY``. Per the spec, any value other than empty or
69
+ ``"0"`` opts out.
70
+ """
71
+ for name in ("DO_NOT_TRACK", "COMFY_NO_TELEMETRY"):
72
+ val = os.environ.get(name, "")
73
+ if val and val != "0":
74
+ return True
75
+ return False
76
+
77
+
57
78
  class TelemetryProvider(Protocol):
58
79
  enabled: bool
59
80
 
@@ -98,9 +119,11 @@ class PostHogProvider:
98
119
  if not self.enabled or self.client is None or distinct_id is None:
99
120
  return
100
121
  merged = {**self._STANDARD_PROPERTIES, **properties}
122
+ # Membership check uses the canonical (unprefixed) name; the prefix is
123
+ # cosmetic to the PostHog taxonomy and applied only at capture time.
101
124
  if event_name in EXECUTION_EVENTS and "tracing_id" in merged:
102
125
  merged.setdefault("workflow_run_id", merged["tracing_id"])
103
- self.client.capture(event=event_name, distinct_id=distinct_id, properties=merged)
126
+ self.client.capture(event=f"{POSTHOG_EVENT_PREFIX}{event_name}", distinct_id=distinct_id, properties=merged)
104
127
 
105
128
  def flush(self) -> None:
106
129
  if self.client is None:
@@ -136,6 +159,8 @@ def track_event(event_name: str, properties: Any = None, *, mixpanel_name: str |
136
159
  ``mixpanel_name``, if supplied, overrides the event name on the Mixpanel pipe only — used to keep
137
160
  legacy Mixpanel event names while PostHog receives the canonical name.
138
161
  """
162
+ if _telemetry_disabled_by_env():
163
+ return
139
164
  if properties is None:
140
165
  properties = {}
141
166
  logging.debug(f"tracking event called with event_name: {event_name} and properties: {properties}")
@@ -187,6 +212,13 @@ def track_command(sub_command: str = None):
187
212
  def prompt_tracking_consent(skip_prompt: bool = False, default_value: bool = False):
188
213
  global _session_only_tracking, user_id
189
214
 
215
+ # Env-var opt-out short-circuits everything below: no prompt, no
216
+ # auto-enable in non-TTY, no user_id persistence. Per-process only —
217
+ # the on-disk consent flag is left untouched so a later run without
218
+ # the env var still gets the normal prompt path.
219
+ if _telemetry_disabled_by_env():
220
+ return
221
+
190
222
  if _session_only_tracking:
191
223
  return
192
224
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: comfy-cli
3
- Version: 1.10.2
3
+ Version: 1.10.4
4
4
  Summary: A CLI tool for installing and using ComfyUI.
5
5
  Maintainer-email: Yoland Yan <yoland@drip.art>, James Kwon <hongilkwon316@gmail.com>, Robin Huang <robin@drip.art>, "Dr.Lt.Data" <dr.lt.data@gmail.com>
6
6
  License: GPL-3.0-only
@@ -5,7 +5,7 @@ requires = [ "setuptools>=61" ]
5
5
 
6
6
  [project]
7
7
  name = "comfy-cli"
8
- version = "1.10.2" # Will be filled in by the CI/CD pipeline. Check publish_package.py.
8
+ version = "1.10.4" # Will be filled in by the CI/CD pipeline. Check publish_package.py.
9
9
  description = "A CLI tool for installing and using ComfyUI."
10
10
  readme = "README.md"
11
11
  keywords = [ "comfyui", "stable diffusion" ]
File without changes
File without changes
File without changes
File without changes
File without changes