Metricly CLI - Query metrics and manage dashboards from the terminal
Project description
Metricly CLI
Query metrics and manage dashboards from the terminal.
Installation
Using uv (Recommended)
# Install from local build
uv tool install ./backend
# Or install from GitHub (once published)
uv tool install git+https://github.com/metricly/metricly#subdirectory=backend
Using pip
pip install ./backend
Quick Start
# Login with Google OAuth
metricly login
# Check who you're logged in as
metricly whoami
# List available metrics
metricly metrics list
# Query metrics
metricly query -m total_revenue -g month --limit 5
# Get visualization suggestions
metricly query -m total_revenue -g month --suggest-viz
# Export to JSON
metricly query -m total_revenue --format json > data.json
Commands
Authentication
metricly login # Login via Google OAuth (opens browser)
metricly whoami # Show current user and organization
metricly logout # Clear stored credentials
metricly org list # List your organizations
metricly org switch ID # Switch to a different organization
Querying Metrics
# List available metrics
metricly metrics list
metricly metrics list --format json
# Get metric details
metricly metrics show total_revenue
# Query data
metricly query -m revenue -g month # Monthly revenue
metricly query -m revenue -d region --limit 10 # By region
metricly query -m revenue -m orders -g week # Multiple metrics
metricly query -m revenue --start 2024-01-01 --end 2024-12-31
# With visualization suggestion
metricly query -m revenue -g month --suggest-viz
# List dimensions
metricly dimensions list
Dashboard Management
# List dashboards
metricly dashboards list
# Show dashboard details
metricly dashboards show DASHBOARD_ID
# Create a new dashboard
metricly dashboards create "My Dashboard"
metricly dashboards create "Team Metrics" -v org # Visible to team
# Delete a dashboard
metricly dashboards delete DASHBOARD_ID
metricly dashboards delete DASHBOARD_ID --yes # Skip confirmation
Manifest Management (Admin Only)
# View manifest status
metricly manifest status
# Export manifest
metricly manifest export -o manifest.yaml
# Import manifest
metricly manifest upload manifest.yaml
metricly manifest upload manifest.yaml --force # Overwrite conflicts
# Semantic models
metricly models list
metricly models show orders
metricly models create model.yaml
metricly models update orders updated.yaml
metricly models delete orders
# Metrics
metricly metrics create metric.yaml
metricly metrics update total_revenue updated.yaml
metricly metrics delete total_revenue
metricly metrics preview metric.yaml # Test before saving
Output Formats
All commands support --format:
| Format | Description |
|---|---|
table |
Human-readable ASCII table (default) |
json |
JSON output for scripting |
yaml |
YAML output for config editing |
metricly metrics list --format json | jq '.[0]'
metricly dashboards show abc123 --format yaml > dashboard.yaml
Configuration
Credentials are stored in ~/.metricly/:
~/.metricly/
├── credentials.json # OAuth tokens (encrypted)
└── config.json # User preferences
Development
# Build the wheel
cd backend
uv build
# Install locally for testing
uv tool install dist/metricly_cli-*.whl --force
# Run tests
uv run pytest tests/ -v
Environment Variables
| Variable | Description |
|---|---|
FIRESTORE_EMULATOR_HOST |
Use Firestore emulator |
FIREBASE_AUTH_EMULATOR_HOST |
Use Auth emulator |
ENV |
Environment: production, development, test |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file metricly_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: metricly_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 64.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f043af2c60d978120bec062167f55540c8b42afea61629de5b7b35725f02796
|
|
| MD5 |
86df0c1513918ef9b6024e271d23aa4f
|
|
| BLAKE2b-256 |
de6aa9ad3b3f6d2c3179495b8de8d4a75e26d361dab7a94d4908237d266b24d5
|