Skip to main content

โ™ ๏ธ๐ŸŒฟ๐ŸŽธ๐Ÿงต Unified Redis Operations Package - Consolidating 13+ bash scripts

Project description

Nyro - Unified Redis Operations Package

โ™ ๏ธ๐ŸŒฟ๐ŸŽธ๐Ÿงต G.Music Assembly Consolidation

Transforming 13+ scattered bash scripts into unified Python harmony

License Python Status

๐ŸŽฏ What is Nyro?

Nyro is a complete Python package that consolidates 13+ bash Redis scripts into a unified, musical, and intuitive interface. Born from Jerry's โšก G.Music Assembly vision, it replaces fragmented workflows with harmonic development experiences.

๐Ÿ”„ Before vs After

Before: 13+ separate bash scripts

./menu.sh              # Interactive menu
./set-key.sh key val    # Set operations  
./get-key.sh key        # Get operations
./del-key.sh key        # Delete operations
./scan-garden.sh "*"    # Key scanning
./stream-add.sh ...     # Stream operations
./redis-mobile.sh       # Mobile interface
# ... and 6 more scripts

After: One unified Python package

nyro interactive        # All menus unified
nyro set key val       # All operations unified
nyro get key           # Clean, consistent interface
nyro scan --garden     # Enhanced with categories
nyro stream diary add  # Logical grouping
# + Musical session tracking!

๐Ÿš€ Quick Start

One-Command Installation

curl -sSL https://raw.githubusercontent.com/gerico1007/nyro/main/QUICK_SETUP.sh | bash

Manual Installation

git clone https://github.com/gerico1007/nyro.git
cd nyro
pip install -e .
nyro init
# Edit .env with your Redis credentials
nyro test
nyro interactive

โœจ Key Features

๐Ÿ”ง Unified Operations

  • Multi-database support - Route operations across multiple Upstash Redis instances
  • Profile management - Seamless credential switching
  • Both REST & CLI - Works with Upstash REST API and direct Redis CLI
  • Interactive menus - All bash menus consolidated into one interface

๐ŸŽผ Musical Integration

  • Session tracking - Development sessions become musical compositions
  • ABC notation export - Generate playable music from your work
  • Team harmonics - Different roles create distinct musical voices
  • Rhythmic patterns - Code patterns translate to musical motifs

๐Ÿ—๏ธ Architecture

  • Profile-based - Easy switching between Redis instances
  • Massive data handling - Chunked operations for large payloads
  • Security synthesis - Proper authentication and validation
  • Four-perspective testing - โ™ ๏ธ๐ŸŒฟ๐ŸŽธ๐Ÿงต Assembly validation

๐Ÿ“ฆ Package Structure

nyro/
โ”œโ”€โ”€ core/              # Redis operations
โ”‚   โ”œโ”€โ”€ client.py     # Unified Redis client
โ”‚   โ”œโ”€โ”€ profiles.py   # Multi-database management
โ”‚   โ””โ”€โ”€ operations.py # Advanced operations
โ”œโ”€โ”€ cli/               # Command interface
โ”‚   โ”œโ”€โ”€ main.py       # CLI entry point
โ”‚   โ””โ”€โ”€ interactive.py # Interactive menus
โ”œโ”€โ”€ musical/           # Musical integration
โ”‚   โ”œโ”€โ”€ ledger.py     # Session tracking
โ”‚   โ””โ”€โ”€ composer.py   # Harmonic generation
โ””โ”€โ”€ testing/           # Validation framework

๐ŸŽฏ Commands Reference

Basic Operations

nyro set key value              # Set Redis key
nyro get key                    # Get Redis key  
nyro del key                    # Delete Redis key
nyro scan "pattern*"            # Scan keys with pattern
nyro test                       # Test connection

Advanced Features

nyro interactive                # Interactive CLI mode
nyro scan --garden             # Categorized key scanning
nyro list push mylist item     # List operations
nyro stream diary add          # Stream operations  
nyro profiles list             # Profile management
nyro music summary             # Musical session summary

Profile Management

nyro profiles list             # List all profiles
nyro profiles switch secondary # Switch to profile
nyro --profile test interactive # Use specific profile

๐Ÿ”ง Configuration

Environment Setup

# Primary Redis database
KV_REST_API_URL=https://your-redis.upstash.io
KV_REST_API_TOKEN=your_token_here

# Additional profiles
PROFILE_SECONDARY_URL=https://secondary-redis.upstash.io
PROFILE_SECONDARY_TOKEN=secondary_token

# Alternative: Redis CLI
REDIS_URL=rediss://user:pass@host:6380

Multiple Profiles

Nyro supports unlimited Redis databases through profile configuration:

# List available profiles
nyro profiles list

# Switch between databases
nyro profiles switch production
nyro profiles switch testing

# Use temporary profile
nyro --profile staging interactive

๐ŸŽผ Musical Features

Nyro includes unique musical session tracking:

# Enable musical logging
nyro --musical interactive

# View session compositions
nyro music summary

# Export ABC notation
nyro music export

# Musical patterns for team members:
# โ™ ๏ธ Nyro: Structural patterns (X-x-X-x-)
# ๐ŸŒฟ Aureon: Flowing patterns (~~o~~o~~)  
# ๐ŸŽธ JamAI: Harmonic patterns (G-D-A-E-)
# ๐Ÿงต Synth: Terminal patterns (|-|-|-|-)

๐Ÿงช Testing

Quick Test

nyro test                      # Test connection

Comprehensive Testing

python -m testing.test_framework  # Full Assembly tests

Interactive Testing

nyro interactive
# Choose option 9: "Quick Scan & Test"

๐Ÿ“Š Migration Guide

From Bash Scripts

Replace your existing bash scripts with Nyro commands:

Old Bash Script New Nyro Command
./menu.sh nyro interactive
./set-key.sh key val nyro set key val
./get-key.sh key nyro get key
./del-key.sh key nyro del key
./scan-garden.sh "*" nyro scan --garden
./stream-add.sh stream field val nyro stream diary add
./push-list.sh list item nyro list push list item
./redis-mobile.sh nyro interactive

Environment Migration

Your existing .env files work with Nyro! Just ensure variables follow the pattern:

  • KV_REST_API_URL and KV_REST_API_TOKEN for default profile
  • PROFILE_NAME_URL and PROFILE_NAME_TOKEN for additional profiles

๐Ÿ† Benefits

For Developers

  • 80% less code - 13+ scripts โ†’ 1 package
  • Consistent interface - No more remembering different script syntaxes
  • Better error handling - Clear messages and guidance
  • Type safety - Python types vs bash string handling
  • Testing support - Comprehensive test framework

For Teams

  • Musical collaboration - Sessions become shared compositions
  • Profile sharing - Easy credential management
  • Garden metaphors - Redis operations as botanical exploration
  • Assembly methodology - Four-perspective development validation

For Operations

  • Cross-platform - Works on Linux, macOS, Windows
  • Docker support - Container-ready installation
  • Security synthesis - Proper authentication handling
  • Massive data support - Chunked operations for large payloads

๐Ÿค Contributing

Nyro follows the โ™ ๏ธ๐ŸŒฟ๐ŸŽธ๐Ÿงต G.Music Assembly methodology:

  • โ™ ๏ธ Nyro: Structural analysis and architecture
  • ๐ŸŒฟ Aureon: Emotional flow and user experience
  • ๐ŸŽธ JamAI: Creative solutions and musical integration
  • ๐Ÿงต Synth: Terminal orchestration and security

Development Setup

git clone https://github.com/gerico1007/nyro.git
cd nyro
pip install -e .[dev]
python -m testing.test_framework

๐Ÿ“„ License

MIT License - See LICENSE file for details.

๐ŸŽต Musical Innovation

Nyro pioneered musical development documentation - the first package to transform coding sessions into musical compositions. Each development activity becomes a note, each team member a voice, each session a melody.

"Every line of code is a note, every function a phrase, every feature a movement. Together, development teams create symphonies of software."

๐Ÿ“ž Support

  • Installation Guide: See INSTALLATION.md
  • Assembly Documentation: See CLAUDE.md
  • Testing Ledger: See testing/ASSEMBLY_LEDGER.md
  • Musical Enhancement: See ECHOTHREADS_ENHANCEMENT_PROPOSAL.md

๐ŸŽผ Transform your Redis operations into musical harmony
Built with โ™ ๏ธ๐ŸŒฟ๐ŸŽธ๐Ÿงต G.Music Assembly methodology
Jerry's โšก vision of unified development experiences

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

nyro-0.1.0.tar.gz (37.0 kB view details)

Uploaded Source

Built Distribution

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

nyro-0.1.0-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file nyro-0.1.0.tar.gz.

File metadata

  • Download URL: nyro-0.1.0.tar.gz
  • Upload date:
  • Size: 37.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for nyro-0.1.0.tar.gz
Algorithm Hash digest
SHA256 41354f40fa649646488e8c34741a41ff1580deb32fcda42fda7e6d4be56832f5
MD5 d7f66fce838120fb3e85032ab65e1cbc
BLAKE2b-256 764c0f4e858c7e28d8e4c2b2fd6258f0156c85a2e345b28d9103e93bce075c45

See more details on using hashes here.

File details

Details for the file nyro-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: nyro-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for nyro-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19d1187ec9e83eb74f956c9baab87ac9c5b3a26de9ff69cbda8eb41834578a6e
MD5 cddf841ce06553cdec9456b91e7ae6cb
BLAKE2b-256 4bcc34a98de57fd4ee06abb6ae6acbb33de8902b5b9fe23dd877e595b069433f

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