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.
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/PKG-INFO +1 -1
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/tracking.py +33 -1
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/PKG-INFO +1 -1
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/pyproject.toml +1 -1
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/LICENSE +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/README.md +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/__init__.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/__main__.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/cmdline.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/__init__.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/code_search.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/custom_nodes/__init__.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/custom_nodes/bisect_custom_nodes.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/custom_nodes/cm_cli_util.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/custom_nodes/command.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/__init__.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/adapters.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/app.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/client.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/output.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/poll.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/schema.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/spec/openapi.yml +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/spec.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/generate/upload.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/github/pr_info.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/install.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/launch.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/models/models.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/pr_command.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/command/run.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/config_manager.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/constants.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/cuda_detect.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/env_checker.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/file_utils.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/git_utils.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/logging.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/pr_cache.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/registry/__init__.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/registry/api.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/registry/config_parser.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/registry/types.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/resolve_python.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/standalone.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/typing.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/ui.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/update.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/utils.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/uv.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/workflow_to_api.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli/workspace_manager.py +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/SOURCES.txt +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/dependency_links.txt +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/entry_points.txt +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/requires.txt +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/comfy_cli.egg-info/top_level.txt +0 -0
- {comfy_cli-1.10.2 → comfy_cli-1.10.4}/setup.cfg +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|