Skip to main content

Transform boring text into fun emoji styles

Project description

Emoji Styler ✨

Transform boring text into fun emoji styles! Make your text stand out with kawaii, hacker, neon, cyberpunk, and minimal styles.

Features

  • 🎨 5 unique styles: cute, hacker, neon, cyberpunk, minimal
  • 🐍 Python API: Use in your Python projects
  • 💻 CLI tool: Style text from command line
  • 🚀 Lightweight: Zero dependencies
  • 🌐 Web demo: Try it online at emoji-styler.vercel.app (coming soon)

Installation

pip install emoji-styler

Quick Start

Command Line

# Default cute style
emoji-styler "Hello world"
# ✨ 💖 H 💫 e 🌸 l 💕 l 🌟 o   💖 w 💫 o 🌸 r 💕 l 🌟 d ✨

# Hacker style
emoji-styler "Hello world" --style hacker
# ⚡ H3ll0 w0rld ⚡

# Cyberpunk style
emoji-styler "PowerToys Run" --style cyberpunk
# ⚡ ⟨P⟩⟨O⟩⟨W⟩⟨E⟩⟨R⟩⟨T⟩⟨O⟩⟨Y⟩⟨S⟩⚡⟨R⟩⟨U⟩⟨N⟩ ⚡

# List all styles
emoji-styler --list-styles

Python API

from emoji_styler import style_text, get_available_styles

# Style some text
result = style_text("Hello", style="cute")
print(result)
# ✨ 💖 H 💫 e 🌸 l 💕 l 🌟 o ✨

# Get available styles
styles = get_available_styles()
print(styles)
# ['cute', 'hacker', 'neon', 'cyberpunk', 'minimal']

# Try different styles
for style in ['hacker', 'neon', 'minimal']:
    print(f"{style}: {style_text('Hello', style)}")

Available Styles

Cute (default)

Kawaii aesthetic with hearts and sparkles

Input:  Hello world
Output: ✨ 💖 H 💫 e 🌸 l 💕 l 🌟 o   💖 w 💫 o 🌸 r 💕 l 🌟 d ✨

Hacker

1337 speak with letter substitutions

Input:  Hello world
Output: ⚡ H3ll0 w0rld ⚡

Neon

Rainbow glow vibes with uppercase

Input:  Hello world
Output: 🌈 H E L L O 🌟 W O R L D 🌈

Cyberpunk

Futuristic brackets and lightning

Input:  Hello world
Output: ⚡ ⟨H⟩⟨E⟩⟨L⟩⟨L⟩⟨O⟩⚡⟨W⟩⟨O⟩⟨R⟩⟨L⟩⟨D⟩ ⚡

Minimal

Clean aesthetic with dots

Input:  Hello world
Output: H・e・l・l・o ・o・r・l・d

Web Demo

Try it online: emoji-styler.vercel.app

The web demo is built with Next.js and TypeScript, featuring:

  • Interactive text styling
  • Beautiful Catppuccin Macchiato theme
  • Mobile-friendly responsive design
  • Live examples and presets

See web/README.md for development details.

Project Structure

emoji-styler/
├── emoji_styler/          # Python package
│   ├── __init__.py        # Package exports
│   ├── core.py            # Main style_text() function
│   ├── styles.py          # Style implementations
│   └── cli.py             # Command-line interface
├── tests/                 # Python tests
├── web/                   # Next.js web demo
│   ├── app/               # Next.js pages
│   ├── components/        # React components
│   ├── lib/               # TypeScript styles (ported from Python)
│   └── README.md          # Web demo docs
├── .github/
│   └── workflows/         # CI/CD pipelines
│       ├── publish.yml    # PyPI publishing
│       └── test.yml       # Automated testing
├── pyproject.toml         # Python package config
├── LICENSE                # MIT license
└── README.md              # This file

Development

Python Package

# Clone repository
git clone https://github.com/ruslanlap/emoji-styler.git
cd emoji-styler

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

# Run tests with coverage
pytest --cov=emoji_styler

Web Demo

# Navigate to web directory
cd web

# Install dependencies
npm install

# Run development server
npm run dev

# Build for production
npm run build

See web/README.md for deployment instructions.

Publishing

To PyPI

Publishing is automated via GitHub Actions. To release a new version:

# 1. Update version in pyproject.toml
# 2. Commit and push
git add pyproject.toml
git commit -m "Bump version to 0.2.0"
git push

# 3. Create and push tag
git tag v0.2.0
git push origin v0.2.0

# 4. GitHub Actions will automatically:
#    - Build package
#    - Create GitHub release
#    - Publish to PyPI

See .github/RELEASE.md for detailed instructions.

Web Demo to Vercel

cd web
vercel
# Follow prompts

Or connect your GitHub repo to Vercel dashboard for automatic deployments.

Roadmap

  • Python package with CLI
  • Web demo with Next.js
  • Automated publishing to PyPI
  • Telegram bot for styling messages
  • VS Code extension
  • More emoji styles (retro, space, nature)
  • Custom style creator
  • REST API endpoint

Contributing

Contributions welcome! Feel free to:

  • Suggest new styles
  • Report bugs
  • Submit pull requests

License

MIT License - see LICENSE file for details

Links


Made with 💖 by Ruslan

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

emoji_styler-0.0.1.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

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

emoji_styler-0.0.1-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file emoji_styler-0.0.1.tar.gz.

File metadata

  • Download URL: emoji_styler-0.0.1.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emoji_styler-0.0.1.tar.gz
Algorithm Hash digest
SHA256 6963aafb1187cc8bd41bbbe98c6eb4df680fab369cbebab45ba0ce94b234bc74
MD5 bac0c3b737ea7452d98487c466387368
BLAKE2b-256 3b51c273729ee099c250b75bedb6ae65e3791bd659882965efbfd5d546e6c2f8

See more details on using hashes here.

File details

Details for the file emoji_styler-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: emoji_styler-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emoji_styler-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d139fb9c1ff74da162304ecfdcbc517cf54663e2e9b494f1420f6b3643ff3d28
MD5 212afedff5b956ec7ad7ce69614ca9c2
BLAKE2b-256 b745599fb2096b68f387f1c4d0d14bd0a3572a610a27ed516eb7f5868350a4e8

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