semvec/pypi-packages huggingface dataset:
sonnerrise-promo 0.1.0
Promotion module for Sonnerrise - track promotion management
Requires Python: >=3.11

# sonnerrise-promo

Promotion module for the Sonnerrise suite - manages track promotion materials.

## Features

- Create and manage promotion materials for tracks
- Store AI art generation prompts (still images and canvas/video)
- Manage pitch/blurb text for marketing
- Track promotion links with descriptions
- Full CRUD operations via Python API or CLI

## Installation

```bash
pip install sonnerrise-promo
```

## Usage

### Python API

```python
from sonnerrise_core import load_config, get_database
from sonnerrise_promo import PromoRepository, PromoCreate, PromoLinkCreate

config = load_config()
db = get_database(config)
db.create_tables()

repo = PromoRepository(db)

# Create promotion materials for a track
promo = repo.create(PromoCreate(
    track_id=1,
    track_art_definition="Epic fantasy landscape, warrior silhouette, dramatic sunset",
    track_canvas_definition="Slow zoom on album art, particle effects, 8 seconds",
    pitch="An epic journey through sound - perfect for fantasy game playlists",
    links=[
        PromoLinkCreate(url="https://spotify.com/track/...", description="Spotify"),
        PromoLinkCreate(url="https://youtube.com/watch/...", description="YouTube"),
    ],
))

# Get promo by track
promo = repo.get_by_track(track_id=1)

# Update promo
repo.update(promo.id, PromoUpdate(pitch="Updated pitch text"))
```

### CLI

```bash
# List all promos
sonnerrise-promo list

# Create promo for a track
sonnerrise-promo create --track 1 --pitch "Amazing new track!"

# Show promo details
sonnerrise-promo show 1

# Update promo
sonnerrise-promo update 1 --pitch "Updated pitch"

# Add a link
sonnerrise-promo add-link 1 --url "https://spotify.com/..." --description "Spotify"

# Delete promo
sonnerrise-promo delete 1
```

## Promo Fields

| Field | Type | Description |
|-------|------|-------------|
| track_id | integer | Reference to track (required, unique) |
| track_art_definition | text (max 32KB) | AI art generation prompt for still images |
| track_canvas_definition | text (max 32KB) | AI art generation prompt for video/canvas |
| pitch | text (max 32KB) | Marketing pitch/blurb text |
| links | list | Promotion URLs with descriptions |

## Link Fields

| Field | Type | Description |
|-------|------|-------------|
| url | string (max 2048 chars) | Promotion URL |
| description | string (max 120 chars) | Link description/title |
sonnerrise-tracks 0.1.0
Tracks module for Sonnerrise - Suno track management
Requires Python: >=3.11

# sonnerrise-tracks

Tracks module for the Sonnerrise suite - manages Suno-generated tracks.

## Features

- Create and manage Suno-generated tracks
- Link tracks to generation definitions
- Track events with scheduling (publish dates, promotions, etc.)
- Store cover art URLs and lyrics
- Full CRUD operations via Python API or CLI

## Installation

```bash
pip install sonnerrise-tracks
```

## Usage

### Python API

```python
from sonnerrise_core import load_config, get_database
from sonnerrise_tracks import TrackRepository, TrackCreate, EventCreate
from datetime import datetime

config = load_config()
db = get_database(config)
db.create_tables()

repo = TrackRepository(db)

# Create a track
track = repo.create(TrackCreate(
    title="Epic Journey",
    album="Adventures Vol. 1",
    definition_id=1,
    cover_art_url="https://example.com/cover.jpg",
    lyrics="[Verse 1]\nInto the unknown...",
    events=[
        EventCreate(
            datetime=datetime(2024, 3, 15, 12, 0),
            description="Publish to Distrokid",
        ),
    ],
))

# List tracks
tracks = repo.list(page=1, per_page=20)

# Get upcoming events
events = repo.get_upcoming_events(days=7)
```

### CLI

```bash
# List all tracks
sonnerrise-tracks list

# Create a new track
sonnerrise-tracks create --title "My Song" --album "My Album"

# Show track details
sonnerrise-tracks show 1

# Add an event
sonnerrise-tracks add-event 1 --datetime "2024-03-15 12:00" --description "Publish"

# List upcoming events
sonnerrise-tracks events --days 7

# Update a track
sonnerrise-tracks update 1 --title "New Title"

# Delete a track
sonnerrise-tracks delete 1
```

## Track Fields

| Field | Type | Description |
|-------|------|-------------|
| title | string (max 120 chars) | Track title (required) |
| album | string (max 120 chars) | Album or playlist name (optional) |
| definition_id | integer | Reference to generation definition (optional) |
| cover_art_url | string (URL) | Cover art image URL (optional) |
| lyrics | text (max 32KB) | Track lyrics (optional) |
| comments | text (max 32KB) | Additional notes (optional) |
| links | list | Associated URLs with descriptions |
| events | list | Scheduled events with dates and descriptions |

## Event Fields

| Field | Type | Description |
|-------|------|-------------|
| datetime | datetime | Event date and time (required) |
| description | string (max 200 chars) | Event description (required) |
| enabled | boolean | Whether event is active (default: true) |
sonnerrise-definitions 0.1.0
Definitions module for Sonnerrise - Suno track generation definitions
Requires Python: >=3.11

# sonnerrise-definitions

Definitions module for the Sonnerrise suite - manages Suno track generation definitions.

## Features

- Create and manage Suno generation definitions (prompts, styles, lyrics)
- Link definitions to personas and cover tracks
- Support for model versions, vocal settings, and influence weights
- Full CRUD operations via Python API or CLI

## Installation

```bash
pip install sonnerrise-definitions
```

## Usage

### Python API

```python
from sonnerrise_core import load_config, get_database
from sonnerrise_definitions import DefinitionRepository, DefinitionCreate

config = load_config()
db = get_database(config)
db.create_tables()

repo = DefinitionRepository(db)

# Create a definition
definition = repo.create(DefinitionCreate(
    title="Epic Battle Theme",
    service="suno",
    model="v4.0",
    style_of_music="epic orchestral, cinematic, dramatic",
    lyrics="[Verse]\nInto the storm we ride...",
    audio_influence=30,
    style_influence=60,
))

# List definitions with filtering
definitions = repo.list(page=1, model_filter="v4.0")

# Search by title
results = repo.search("battle")
```

### CLI

```bash
# List all definitions
sonnerrise-definitions list

# Create a new definition
sonnerrise-definitions create --title "My Song" --style "pop, upbeat"

# Show definition details
sonnerrise-definitions show 1

# Update a definition
sonnerrise-definitions update 1 --model v4.5+

# Delete a definition
sonnerrise-definitions delete 1
```

## Definition Fields

| Field | Type | Description |
|-------|------|-------------|
| title | string (max 120 chars) | Definition title (required) |
| annotation | string (max 200 chars) | Short annotation (optional) |
| service | enum | Service to use: "suno" |
| model | enum | Model version: "v3.5", "v4.0", "v4.5+", "v5.0" |
| style_of_music | string (max 1000 chars) | Style description |
| older_models_style | boolean | Limit style to 200 chars for older models |
| lyrics | string (max 3000 chars) | Song lyrics |
| persona_id | integer | Reference to persona (optional) |
| persona_type | enum | How to use persona: "voice", "style" |
| vocals | enum | Vocal override: "any", "female", "male" |
| audio_influence | integer (0-100) | Audio influence weight (default: 25) |
| style_influence | integer (0-100) | Style influence weight (default: 50) |
| weirdness | integer (0-100) | Weirdness level (default: 50) |
| cover_of_track_id | integer | Track this is a cover of (optional) |
| comments | text (max 32KB) | Additional notes (optional) |
| links | list | Associated URLs with descriptions |