Skip to main content

A beautiful Python CLI tool built with typer and rich, distributed via pip and based on Pingera SDK

Project description

Pingera Platform CLI 🚀

A beautiful Python CLI tool for the Pingera Platform - built with typer and rich, distributed via pip and based on Pingera SDK.

PyPI version Python Support License: MIT

✨ Features

  • Beautiful Terminal Output: Powered by Rich library for colorful, formatted output
  • Modern CLI Interface: Built with Typer for intuitive command-line interactions
  • Pingera Platform Integration: Seamlessly integrates with Pingera SDK for managing and running checks (statuspages and other coming soon)
  • Cross-Platform: Works on Windows, macOS, and Linux
  • Easy Installation: Simple pip install with all dependencies managed
  • Configuration Management: Flexible configuration with environment variables and config files
  • Secrets Management: Manage organization secrets for monitoring checks

🚀 Installation

Install Pingera Platform CLI using pip:

pip install pingera-cli

🔐 Authentication

Before using the CLI, you need to authenticate with the Pingera Platform:

  1. Get your API key: Visit app.pingera.ru and create an API token in your account settings
  2. Login to the CLI:
    pngr auth login --api-key your-api-key-here
    
  3. Verify authentication:
    pngr auth status
    

Alternatively, you can set the API key as an environment variable:

export PINGERA_API_KEY=your-api-key-here

📖 Basic Usage

List all monitoring checks

pngr checks list

Get details of a specific check

pngr checks get <check-id>

Create a new web check

pngr checks create \
  --name "My Website" \
  --type web \
  --url https://example.com \
  --interval 300

Get check results

pngr checks results <check-id>

Run an on-demand check

pngr checks run custom \
  --type web \
  --url https://example.com \
  --name "Quick Test"

Manage check groups

# List all check groups
pngr checks groups list

# Create a new group
pngr checks groups create \
  --name "Production APIs" \
  --description "Critical production endpoints" \
  --color "#FF5733"

# Assign a check to a group
pngr checks assign-group check_123 --group-id group_456

# Remove a check from its group
pngr checks assign-group check_123 --group-id null

Secrets Management

# List organization secrets
pngr secrets list

# Create a new secret
pngr secrets create "DATABASE_PASSWORD"

# Update a secret's value
pngr secrets update sec123abc456

# Delete a secret
pngr secrets delete sec123abc456

List available regions

pngr checks list-regions

Filter regions by check type

pngr checks list-regions --check-type web

🔧 Configuration

The CLI stores configuration in ~/.config/pingera-cli/config.json. You can manage settings with:

# Show current configuration
pngr config show

# Set default output format
pngr config set output_format json

📊 Output Formats

The CLI supports multiple output formats:

  • table (default): Human-readable tables
  • json: JSON format for scripting
  • yaml: YAML format
# JSON output
pngr checks list --output json

# YAML output  
pngr checks list --output yaml

🌐 Platform Links

🛠️ Development

# Clone the repository
git clone https://github.com/pingera/pingera-cli.git
cd pingera-cli

# Install in development mode
pip install -e .

# Test the CLI (after installation)
pngr --help

# Run tests
python -m pytest tests/

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📞 Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pingera_cli-0.1.7.tar.gz (65.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pingera_cli-0.1.7-py3-none-any.whl (57.8 kB view details)

Uploaded Python 3

File details

Details for the file pingera_cli-0.1.7.tar.gz.

File metadata

  • Download URL: pingera_cli-0.1.7.tar.gz
  • Upload date:
  • Size: 65.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.11

File hashes

Hashes for pingera_cli-0.1.7.tar.gz
Algorithm Hash digest
SHA256 82309e9a6f34846d9b2487d95f99599b640a27296fa4357dd837d6c6fb91a561
MD5 75a3fe6e2c58a1a86a3f15c570b82d5b
BLAKE2b-256 254fec00b0f12328fe6578de6971594005bc070bd169b360b2a0c99de639c838

See more details on using hashes here.

File details

Details for the file pingera_cli-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for pingera_cli-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 4f3260d1152995a9c7bfe826b689143c138495290512ed254bad43743f473bbd
MD5 e15f39e06e91da0c7ee69f08b653c813
BLAKE2b-256 f912cbca20a6f2979003df9fc5c73edf4f3fd16c685dcd965e50e4c79b712962

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page