AI-generated hourly cat images - a new cat every hour!
Project description
catime
AI-generated hourly cat images. A new cat every hour! 🐱
Every hour, a GitHub Actions workflow generates a unique cat image using Google Gemini, uploads it as a GitHub Release asset, and posts it to a monthly issue. 103+ art styles — from ukiyo-e to cyberpunk to embroidery miniatures. Each cat comes with its own story.
- 🌐 Gallery: yazelin.github.io/catime
- 📲 Telegram: @catime_mori — 每小時自動發圖
- 📦 PyPI: catime
- 🧩 OpenClaw Skill:
clawhub install catime
Sponsors
If you enjoy catime, consider supporting the project via Buy Me a Coffee ☕
All sponsorship goes toward API costs, compute resources, and project maintenance. See SPONSORS.md for details.
Install & Usage
pip install catime
catime # Show total cat count
catime latest # View the latest cat
catime 42 # View cat #42
catime today # List today's cats
catime yesterday # List yesterday's cats
catime 2026-01-30 # List all cats from a date
catime 2026-01-30T05 # View the cat from a specific hour
catime --list # List all cats
catime view # Open cat gallery in browser (localhost:8000)
catime view --port 3000 # Use custom port
Or run without installing:
uvx catime latest
How It Works
| Component | Details |
|---|---|
| Image generation | nanobanana-py with gemini-3-pro-image-preview (fallback: gemini-2.5-flash-image) |
| Image hosting | GitHub Release assets |
| Cat gallery | Monthly GitHub issues (auto-created) |
| Metadata | catlist.json in the repo |
| Web gallery | GitHub Pages waterfall layout |
| Schedule | GitHub Actions cron, every hour |
Characters
catime features recurring cat characters, each with unique personalities and appearances:
- Momo (墨墨) — Elegant solid black shorthair with golden-amber eyes and a gold hoop earring
- Captain — Battle-scarred orange tabby adventurer with a torn left ear
- Mochi (麻糬) — Fluffy round cream-white Persian, always looks sleepy
- Lingling (鈴鈴) — Playful silver tabby kitten with sapphire-blue eyes
Setup (for your own repo)
- Fork or clone this repo
- Add
GEMINI_API_KEYto repo Settings → Secrets - The workflow will auto-create monthly issues and a
catsrelease
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file catime-0.4.9.tar.gz.
File metadata
- Download URL: catime-0.4.9.tar.gz
- Upload date:
- Size: 350.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
315411f3988db527980001a53a4b49b157bd7d225317ccc6b4177db34c8cbeaf
|
|
| MD5 |
87042053f638075febf645b2801e0d64
|
|
| BLAKE2b-256 |
ddf5685961f799c356e27fe524ee4a3374dfb4912188fa97b5b0da93451c6da0
|
File details
Details for the file catime-0.4.9-py3-none-any.whl.
File metadata
- Download URL: catime-0.4.9-py3-none-any.whl
- Upload date:
- Size: 143.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b96337ee54ef008cf9a56eb6ad758972b77488003358d2049416d8146a5e8c28
|
|
| MD5 |
2bac4d49af73ae3a3ba0640017806602
|
|
| BLAKE2b-256 |
60a460f0bd48a94789c1e281fde6c1bb02ee387037d7ef0302e84c55b1e6657f
|