Skip to main content

Create your own Wrapped-style summary from any dataset

Project description

get-wrapped

Turn your structured data into a yearly Wrapped-style summary, just like your favorite music recaps — but for any dataset. Works seamlessly with both OpenAI and Anthropic models.


Features

  • Generate engaging, punchy recaps from any structured data.
  • Provider-agnostic: works with OpenAI or Anthropic automatically.
  • Simple, library-first API: just pass a summary dictionary.
  • Easy integration with pandas or any analytics pipeline.

Installation

Install from PyPI:

pip install get-wrapped

Or for local development:

uv sync
uv build
uv run python examples/run_wrapped.py

Environment Variables

Set your model credentials:

Anthropic Example:

export MODEL_API_URL="https://api.anthropic.com/v1/complete"
export MODEL_API_KEY="sk-xxxx"
export MODEL_NAME="claude-sonnet-4"      # optional


**OpenAI Example:**

```bash
export MODEL_API_URL="https://api.openai.com/v1/chat/completions"
export MODEL_API_KEY="sk-xxxx"
export MODEL_NAME="gpt-4.1-mini"  # optional

> For local development, you can also use a `.env` file and `python-dotenv`.

---

## Usage

```python
from get_wrapped import generate_wrapped

summary = {
    "rows": 5,
    "columns": {
        "activity": {"top_values": {"run": 3, "bike": 2}, "dtype": "object", "nulls": 0},
        "minutes": {"min": 20, "max": 60, "mean": 35, "sum": 175, "dtype": "float64", "nulls": 0},
    },
}

wrapped_text = generate_wrapped(summary)
print(wrapped_text)

Output - 
# 🏃‍♀️ Your Activity Recap

## **Total Sessions** 📊
5 activities logged

## **Time Investment** ⏱️
175 total minutes of activity
Average session: 35 minutes

## **Activity Breakdown** 🔥
**Running** dominated with 3 sessions
**Biking** rounded out with 2 sessions

## **Session Range** 📈
Shortest: 20 minutes
Longest: 60 minutes

## **The Verdict** ✨
You kept it consistent with a solid mix of cardio activities! 🎯


How it works

  1. Provide a structured summary of your dataset.
  2. The library generates a prompt and sends it to your LLM (OpenAI or Anthropic).
  3. Receive a fun, readable Wrapped-style recap strictly based on your data.

Development

Clone the repository:

git clone https://github.com/yourusername/get-wrapped.git
cd get-wrapped
uv sync
uv run python examples/run_wrapped.py

License

MIT License — see LICENSE for details.

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

get_wrapped-0.1.2.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

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

get_wrapped-0.1.2-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file get_wrapped-0.1.2.tar.gz.

File metadata

  • Download URL: get_wrapped-0.1.2.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for get_wrapped-0.1.2.tar.gz
Algorithm Hash digest
SHA256 184b08a633f0cd41e620563bbb88037f85d3457424d95259294da148adb752e0
MD5 0153fa22dd50c54d5304614a4ca08818
BLAKE2b-256 dbba67ab0167ce89d1d111dede0203f0c318711037295828ea7b3342ecd84082

See more details on using hashes here.

File details

Details for the file get_wrapped-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: get_wrapped-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for get_wrapped-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5c5d6d3a2ef3e63c5bd5aff6870c7800da7df2ef12489dd9374ddbfa47735eb4
MD5 8451cca2c09b6eccfa5b12ed63c5ab04
BLAKE2b-256 6aae9bb47151454c870a9767fb4ff2ef210936bd2d8358d73253581aa9e42330

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