cometx 3.6.6__tar.gz → 3.6.7__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.
- {cometx-3.6.6 → cometx-3.6.7}/PKG-INFO +50 -1
- {cometx-3.6.6 → cometx-3.6.7}/README.md +49 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/_version.py +1 -1
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/admin.py +93 -0
- cometx-3.6.7/cometx/cli/admin_growth_render.py +682 -0
- cometx-3.6.7/cometx/cli/admin_growth_report.py +1294 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/admin_usage_report.py +9 -127
- {cometx-3.6.6 → cometx-3.6.7}/cometx/utils.py +126 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx.egg-info/PKG-INFO +50 -1
- {cometx-3.6.6 → cometx-3.6.7}/cometx.egg-info/SOURCES.txt +2 -0
- {cometx-3.6.6 → cometx-3.6.7}/LICENSE +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/__init__.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/_typing.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/_ui.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/api.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/audio.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/__init__.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/admin_app.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/admin_gpu_app.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/admin_gpu_report.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/admin_optimizer_report.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/admin_utils.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/config.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/copy.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/copy_utils.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/count.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/delete_assets.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/download.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/list_command.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/log.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/migrate_users.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/rename_duplicates.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/reproduce.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/smoke_test.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/update.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/upload_optimizer_experiments.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/cli/utils.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/framework/__init__.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/framework/comet/__init__.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/framework/comet/download_manager.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/framework/neptune.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/framework/wandb.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/generate_utils.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/magics.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/optimizer.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/panel_utils.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/tools/__init__.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/tools/dataset.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx/tools/pointcloud.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx.egg-info/dependency_links.txt +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx.egg-info/entry_points.txt +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx.egg-info/requires.txt +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/cometx.egg-info/top_level.txt +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/pyproject.toml +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/setup.cfg +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/setup.py +0 -0
- {cometx-3.6.6 → cometx-3.6.7}/tests/testlib.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cometx
|
|
3
|
-
Version: 3.6.
|
|
3
|
+
Version: 3.6.7
|
|
4
4
|
Summary: Python tools for Comet
|
|
5
5
|
Home-page: https://github.com/comet-ml/cometx/
|
|
6
6
|
Author: cometx development team
|
|
@@ -634,6 +634,55 @@ cometx admin usage-report workspace --units day --no-open
|
|
|
634
634
|
cometx admin usage-report --app
|
|
635
635
|
```
|
|
636
636
|
|
|
637
|
+
#### growth-report
|
|
638
|
+
|
|
639
|
+
Generate a cross-platform use-case growth & adoption report (Opik projects, EM projects,
|
|
640
|
+
MPM monitored models) as a single self-contained HTML page. Distinct from `usage-report`
|
|
641
|
+
(experiment-count PDF): `growth-report` tracks *how many use cases exist and how fast
|
|
642
|
+
they're being created*, per workspace/department, across all three products.
|
|
643
|
+
|
|
644
|
+
```
|
|
645
|
+
cometx admin growth-report [WORKSPACE ...]
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
**Arguments:**
|
|
649
|
+
* `WORKSPACE` (optional, zero or more) - Workspaces to include. If omitted, all workspaces visible to the current API key are used (via `get_workspaces()`).
|
|
650
|
+
|
|
651
|
+
**Options:**
|
|
652
|
+
* `--units {month,week,day,hour}` - Chart bucket granularity (default: month). Charts always render **all-time** history at this granularity; this is unrelated to `--window` below.
|
|
653
|
+
* `--window WINDOW` - Relative analysis window for the KPIs, e.g. `7d`, `14d`, `30d`, `90d`, `2w`, `6m`, `1y` (default: `7d`). `d`=days, `w`=weeks (×7d), `m`=months (approximated as 30 days), `y`=years (approximated as 365 days) — the approximation is intentional, since the window only needs an "installed base before window" cutoff, not calendar-exact arithmetic.
|
|
654
|
+
* `--platforms PLATFORMS` - Comma-separated list of platforms to include (default: `em,opik,mpm`). Any of `em`, `opik`, `mpm`.
|
|
655
|
+
* `--output PATH` - Output HTML file path (default: `growth_report.html`).
|
|
656
|
+
* `--limit N` - Limit the number of workspaces processed (useful for a fast smoke-test run).
|
|
657
|
+
* `--no-open` - Don't automatically open the generated HTML file after generation.
|
|
658
|
+
|
|
659
|
+
**Two time concepts:**
|
|
660
|
+
* `--units` controls chart *granularity* — every chart shows the full all-time history bucketed at this resolution.
|
|
661
|
+
* `--window` controls the *analysis window* used for the KPI numbers (Total / New / % growth) — it's drawn as a shaded band on top of the all-time charts rather than filtering them out.
|
|
662
|
+
|
|
663
|
+
**Growth rates:** growth/adoption rates are computed from use-case **creation timestamps**
|
|
664
|
+
(`--window` boundary vs. each event's `created` time), not from a separate "installed base"
|
|
665
|
+
snapshot, so `pct_growth` is always `new_in_window / count_before_window`.
|
|
666
|
+
|
|
667
|
+
**Caveats:**
|
|
668
|
+
* **EM "created" is a proxy** — the Comet API has no true EM project-creation timestamp, so EM project creation is approximated as the earliest experiment start time in that project (falling back to the project's `lastUpdated` time if no experiments exist).
|
|
669
|
+
* **Workspace/department "created" is also a proxy** — it's the earliest use-case creation timestamp seen in that workspace, across all platforms.
|
|
670
|
+
* **MPM requires provisioning** — if the account/workspace has no MPM model-monitoring provisioned, the MPM collector degrades gracefully (an empty MPM section, `collectors.mpm: false`) instead of failing the whole report.
|
|
671
|
+
|
|
672
|
+
Opik and MPM collection require their optional SDKs; install them with `pip install 'cometx[all]'` if they aren't already available. Platforms whose SDK can't be imported are silently dropped from `--platforms` (a note is printed) so the report still succeeds with the remaining platforms.
|
|
673
|
+
|
|
674
|
+
**Examples:**
|
|
675
|
+
```
|
|
676
|
+
# Full cross-platform report for all workspaces, default 7-day window
|
|
677
|
+
cometx admin growth-report
|
|
678
|
+
|
|
679
|
+
# Just Opik + EM, 30-day window, monthly chart granularity, for two workspaces
|
|
680
|
+
cometx admin growth-report --platforms em,opik --window 30d my-workspace another-workspace
|
|
681
|
+
|
|
682
|
+
# Fast smoke-test run against a single workspace, don't auto-open
|
|
683
|
+
cometx admin growth-report --limit 1 --no-open --output growth.html my-workspace
|
|
684
|
+
```
|
|
685
|
+
|
|
637
686
|
#### gpu-report
|
|
638
687
|
|
|
639
688
|
Generate a GPU usage report for one or more workspaces/projects with detailed GPU metrics analysis.
|
|
@@ -578,6 +578,55 @@ cometx admin usage-report workspace --units day --no-open
|
|
|
578
578
|
cometx admin usage-report --app
|
|
579
579
|
```
|
|
580
580
|
|
|
581
|
+
#### growth-report
|
|
582
|
+
|
|
583
|
+
Generate a cross-platform use-case growth & adoption report (Opik projects, EM projects,
|
|
584
|
+
MPM monitored models) as a single self-contained HTML page. Distinct from `usage-report`
|
|
585
|
+
(experiment-count PDF): `growth-report` tracks *how many use cases exist and how fast
|
|
586
|
+
they're being created*, per workspace/department, across all three products.
|
|
587
|
+
|
|
588
|
+
```
|
|
589
|
+
cometx admin growth-report [WORKSPACE ...]
|
|
590
|
+
```
|
|
591
|
+
|
|
592
|
+
**Arguments:**
|
|
593
|
+
* `WORKSPACE` (optional, zero or more) - Workspaces to include. If omitted, all workspaces visible to the current API key are used (via `get_workspaces()`).
|
|
594
|
+
|
|
595
|
+
**Options:**
|
|
596
|
+
* `--units {month,week,day,hour}` - Chart bucket granularity (default: month). Charts always render **all-time** history at this granularity; this is unrelated to `--window` below.
|
|
597
|
+
* `--window WINDOW` - Relative analysis window for the KPIs, e.g. `7d`, `14d`, `30d`, `90d`, `2w`, `6m`, `1y` (default: `7d`). `d`=days, `w`=weeks (×7d), `m`=months (approximated as 30 days), `y`=years (approximated as 365 days) — the approximation is intentional, since the window only needs an "installed base before window" cutoff, not calendar-exact arithmetic.
|
|
598
|
+
* `--platforms PLATFORMS` - Comma-separated list of platforms to include (default: `em,opik,mpm`). Any of `em`, `opik`, `mpm`.
|
|
599
|
+
* `--output PATH` - Output HTML file path (default: `growth_report.html`).
|
|
600
|
+
* `--limit N` - Limit the number of workspaces processed (useful for a fast smoke-test run).
|
|
601
|
+
* `--no-open` - Don't automatically open the generated HTML file after generation.
|
|
602
|
+
|
|
603
|
+
**Two time concepts:**
|
|
604
|
+
* `--units` controls chart *granularity* — every chart shows the full all-time history bucketed at this resolution.
|
|
605
|
+
* `--window` controls the *analysis window* used for the KPI numbers (Total / New / % growth) — it's drawn as a shaded band on top of the all-time charts rather than filtering them out.
|
|
606
|
+
|
|
607
|
+
**Growth rates:** growth/adoption rates are computed from use-case **creation timestamps**
|
|
608
|
+
(`--window` boundary vs. each event's `created` time), not from a separate "installed base"
|
|
609
|
+
snapshot, so `pct_growth` is always `new_in_window / count_before_window`.
|
|
610
|
+
|
|
611
|
+
**Caveats:**
|
|
612
|
+
* **EM "created" is a proxy** — the Comet API has no true EM project-creation timestamp, so EM project creation is approximated as the earliest experiment start time in that project (falling back to the project's `lastUpdated` time if no experiments exist).
|
|
613
|
+
* **Workspace/department "created" is also a proxy** — it's the earliest use-case creation timestamp seen in that workspace, across all platforms.
|
|
614
|
+
* **MPM requires provisioning** — if the account/workspace has no MPM model-monitoring provisioned, the MPM collector degrades gracefully (an empty MPM section, `collectors.mpm: false`) instead of failing the whole report.
|
|
615
|
+
|
|
616
|
+
Opik and MPM collection require their optional SDKs; install them with `pip install 'cometx[all]'` if they aren't already available. Platforms whose SDK can't be imported are silently dropped from `--platforms` (a note is printed) so the report still succeeds with the remaining platforms.
|
|
617
|
+
|
|
618
|
+
**Examples:**
|
|
619
|
+
```
|
|
620
|
+
# Full cross-platform report for all workspaces, default 7-day window
|
|
621
|
+
cometx admin growth-report
|
|
622
|
+
|
|
623
|
+
# Just Opik + EM, 30-day window, monthly chart granularity, for two workspaces
|
|
624
|
+
cometx admin growth-report --platforms em,opik --window 30d my-workspace another-workspace
|
|
625
|
+
|
|
626
|
+
# Fast smoke-test run against a single workspace, don't auto-open
|
|
627
|
+
cometx admin growth-report --limit 1 --no-open --output growth.html my-workspace
|
|
628
|
+
```
|
|
629
|
+
|
|
581
630
|
#### gpu-report
|
|
582
631
|
|
|
583
632
|
Generate a GPU usage report for one or more workspaces/projects with detailed GPU metrics analysis.
|
|
@@ -154,6 +154,7 @@ from urllib.parse import urlparse
|
|
|
154
154
|
from comet_ml import API
|
|
155
155
|
|
|
156
156
|
from .admin_gpu_report import main as gpu_report_main
|
|
157
|
+
from .admin_growth_report import generate_growth_report
|
|
157
158
|
from .admin_optimizer_report import generate_json_report
|
|
158
159
|
from .admin_usage_report import generate_usage_report
|
|
159
160
|
|
|
@@ -461,6 +462,79 @@ Examples:
|
|
|
461
462
|
action="store_true",
|
|
462
463
|
)
|
|
463
464
|
|
|
465
|
+
# growth-report subcommand
|
|
466
|
+
growth_report_description = """Generate a cross-platform use-case growth report for one or more workspaces.
|
|
467
|
+
|
|
468
|
+
Arguments:
|
|
469
|
+
WORKSPACE (optional, one or more)
|
|
470
|
+
One or more workspaces to run the growth report for.
|
|
471
|
+
If not provided, all workspaces are included.
|
|
472
|
+
|
|
473
|
+
Output:
|
|
474
|
+
Generates a self-contained HTML page containing cross-platform (Opik + EM + MPM)
|
|
475
|
+
use-case growth and rate charts, broken down by workspace/department.
|
|
476
|
+
|
|
477
|
+
Examples:
|
|
478
|
+
cometx admin growth-report
|
|
479
|
+
cometx admin growth-report my-workspace
|
|
480
|
+
cometx admin growth-report workspace1 workspace2 --units week
|
|
481
|
+
cometx admin growth-report my-workspace --window 30d
|
|
482
|
+
cometx admin growth-report my-workspace --platforms em,opik
|
|
483
|
+
cometx admin growth-report my-workspace --output report.html --no-open
|
|
484
|
+
"""
|
|
485
|
+
growth_parser = subparsers.add_parser(
|
|
486
|
+
"growth-report",
|
|
487
|
+
help="Generate a cross-platform use-case growth report for one or more workspaces",
|
|
488
|
+
description=growth_report_description,
|
|
489
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
490
|
+
)
|
|
491
|
+
# Add global arguments to subparser so they show in help
|
|
492
|
+
add_global_arguments(growth_parser)
|
|
493
|
+
growth_parser.add_argument(
|
|
494
|
+
"WORKSPACE",
|
|
495
|
+
nargs="*",
|
|
496
|
+
help="One or more workspaces to run the growth report for (empty = all)",
|
|
497
|
+
metavar="WORKSPACE",
|
|
498
|
+
type=str,
|
|
499
|
+
)
|
|
500
|
+
growth_parser.add_argument(
|
|
501
|
+
"--units",
|
|
502
|
+
help="Time unit for chart bucket granularity (default: month)",
|
|
503
|
+
choices=["month", "week", "day", "hour"],
|
|
504
|
+
default="month",
|
|
505
|
+
type=str,
|
|
506
|
+
)
|
|
507
|
+
growth_parser.add_argument(
|
|
508
|
+
"--window",
|
|
509
|
+
help="Relative analysis window for KPIs, e.g. 7d/14d/30d/90d (default: 7d)",
|
|
510
|
+
default="7d",
|
|
511
|
+
type=str,
|
|
512
|
+
)
|
|
513
|
+
growth_parser.add_argument(
|
|
514
|
+
"--platforms",
|
|
515
|
+
help="Comma-separated list of platforms to include (default: em,opik,mpm)",
|
|
516
|
+
default="em,opik,mpm",
|
|
517
|
+
type=str,
|
|
518
|
+
)
|
|
519
|
+
growth_parser.add_argument(
|
|
520
|
+
"--output",
|
|
521
|
+
help="Output HTML file path (default: growth_report.html)",
|
|
522
|
+
default="growth_report.html",
|
|
523
|
+
type=str,
|
|
524
|
+
)
|
|
525
|
+
growth_parser.add_argument(
|
|
526
|
+
"--limit",
|
|
527
|
+
help="Optional limit on the number of items collected per platform",
|
|
528
|
+
type=int,
|
|
529
|
+
default=None,
|
|
530
|
+
)
|
|
531
|
+
growth_parser.add_argument(
|
|
532
|
+
"--no-open",
|
|
533
|
+
help="Don't automatically open the generated HTML file",
|
|
534
|
+
default=False,
|
|
535
|
+
action="store_true",
|
|
536
|
+
)
|
|
537
|
+
|
|
464
538
|
|
|
465
539
|
def admin(parsed_args, remaining=None):
|
|
466
540
|
# Called via `cometx admin ...`
|
|
@@ -746,6 +820,25 @@ def admin(parsed_args, remaining=None):
|
|
|
746
820
|
|
|
747
821
|
traceback.print_exc()
|
|
748
822
|
return
|
|
823
|
+
elif parsed_args.ACTION == "growth-report":
|
|
824
|
+
try:
|
|
825
|
+
generate_growth_report(
|
|
826
|
+
api,
|
|
827
|
+
parsed_args.WORKSPACE,
|
|
828
|
+
window=parsed_args.window,
|
|
829
|
+
units=parsed_args.units,
|
|
830
|
+
platforms=parsed_args.platforms,
|
|
831
|
+
output=parsed_args.output,
|
|
832
|
+
no_open=parsed_args.no_open,
|
|
833
|
+
limit=parsed_args.limit,
|
|
834
|
+
)
|
|
835
|
+
except Exception as e:
|
|
836
|
+
print("ERROR: " + str(e))
|
|
837
|
+
if parsed_args.debug:
|
|
838
|
+
import traceback
|
|
839
|
+
|
|
840
|
+
traceback.print_exc()
|
|
841
|
+
return
|
|
749
842
|
|
|
750
843
|
except KeyboardInterrupt:
|
|
751
844
|
if parsed_args.debug:
|