v1.0.1 · MIT License · Python 3.8+

A warm little
Python toolkit,
made cozy.

Greetings that know the time of day. Pomodoro timers that don't shout. Text utilities, terminal UI helpers, and a few bedtime stories — all bundled into one quiet, friendly package.

$ pip install cozy-kit
cozy_demo.py
from cozy_kit import Greeting, CozyUI

greet = Greeting(name="Youssef", nickname="yo")
ui    = CozyUI()

print(ui.cozy_title("hello, world"))
# ═══════ hello, world ═══════

print(greet.auto_greet())
# Good Morning Youssef!
# Or good morning Yo!
# Anyways, here's a quick morning quote.
#
# Rise & Shine
# Every morning is a fresh start...
// Six focused modules

Everything you need, nothing you don't.

Six independent classes. Friendly APIs. Thoughtful defaults. Zero ceremony.

Greeting

Time-aware greetings, motivational quotes, fun facts, bedtime stories, and holiday wishes — with seasonal logic baked in.

auto_greet() good_night() motivate()

Timer

Countdowns, fully-featured Pomodoro sessions with desktop notifications, stopwatches, and a friendly wait helper.

countdown() start_pomodoro() stopwatch

TextEditor

Caesar ciphers, Morse code, case conversions, text analysis, and four playful corruption modes — glitch, broken, bubble, void.

to_morse() caesar_cipher() corrupt()

TextCustomizations

ANSI color, background, and effect codes — wrap any string in bold, red, underline, blinking, or stack multiple styles at once.

customize() ANSI colors text effects

CozyUI

Box-drawn terminal tables, titled dividers, progress bars, spinners, and tidy boxes — for when your CLI deserves a little more.

cozy_table() progress_bar() spinner()

Settings & CLI

A global settings object to control update notices, plus a bundled CLI for quick version checks and package info right from your terminal.

cozy-kit --version cozy-kit --info settings
// Design philosophy

Built around how you actually work.

A few deliberate choices that make cozy-kit feel different from the average utility library.

Strings, not side effects

Most methods return plain strings. You decide whether to print, log, assign, or splice them. The library doesn't assume what you want to do with its output.

Time & season aware

auto_greet() reads the system clock and current month, then selects the right greeting — morning bands shift depending on whether it's winter, summer, or another season.

The show callback

Blocking timer methods accept a show callable instead of printing directly. Pass print, a logger, or a GUI label updater — the choice is yours.

timer.countdown(5, "min", show=print)

Extensible databases

Greeting loads quotes and stories from bundled JSON files. Permanently extend them with add_bedtime_story(), add_motivation(), and add_fun_fact().

Independent classes

Each class manages its own state. There's no shared global state between Greeting, Timer, TextEditor, or any other class. Instantiate as many as you need.

Friendly over clever

cozy-kit trades brevity for clarity. Method names are readable words. Parameters have clear names. Defaults are sensible. Error messages say what went wrong.

// Quick start

From pip install to running in seconds.

Import what you need, instantiate the class, call the method. No setup, no config files, no global state.

01
Install from PyPI

Python 3.8+ required. Dependencies (plyer, requests) install automatically.

$ pip install cozy-kit
02
Import what you need

Every class is independent. Use one, some, or all in the same script. There is no required initialization order.

03
Call and go

Instantiate the class, call a method. Most return plain strings — print, log, or splice them however you like.

Full documentation
quickstart.py
python
from cozy_kit import Greeting, Timer, TextEditor, CozyUI

# Personalised greetings
greet = Greeting(name="Youssef", nickname="yo")
print(greet.welcome())          # Welcome Youssef!
print(greet.auto_greet())      # Picks based on time + season

# A Pomodoro that just works
timer = Timer()
timer.start_pomodoro(work_time=25, break_time=5,
               long_break_time=15, show=print)

# Text tricks
fx = TextEditor()
print(fx.to_morse("hi"))                    # .... ..
print(fx.corrupt("vibes", mode="bubble"))  # ⓥⓘⓑⓔⓢ

# Terminal UI helpers
ui = CozyUI()
print(ui.cozy_box("done!"))
# ╔═══════╗
# ║ done! ║
# ╚═══════╝
// Ready when you are

The full documentation is waiting for you.

Every class, every method, every parameter — documented with examples. From a quick API reference to complete copy-paste scripts.