🐍 PyVibe
Build frontend websites in Python as easy as chatting. "Gak perlu ribet, yang penting gacor."
🚀 Quick Start
# Install PyVibe
pip install pyvibe
# Create new project
pyvibe create my-website
# Start development server
cd my-website
python app.py
# Open browser
open http://localhost:3000
💡 Why PyVibe?
| Pain Point | PyVibe Solution |
|---|---|
| Kodenya ribet & banyak | Syntax natural, 3 baris udah jadi website |
| Error susah dimengerti | Error message Bahasa Indonesia |
| Setup ribet | Zero config, pip install langsung jalan |
| Ga tau mulai dari mana | Dokumentasi storytelling, interactive playground |
| Responsive susah | Semua komponen auto responsive |
📝 Syntax
PyVibe mendukung 3 gaya syntax:
Gaya 1: Natural Language 🗣️
tampilin judul "Selamat Datang" di tengah
tampilin paragraf "Halo, ini website gue."
tampilin tombol "Klik Saya" warna ungu
Gaya 2: OOP Pythonic 🐍
from pyvibe import *
app = App("My Website")
@app.route("/")
def beranda():
return tampil(
judul("Selamat Datang", level=1),
paragraf("Halo, ini website gue."),
tombol("Klik Saya", warna="ungu"),
)
app.jalan()
Gaya 3: Hybrid 🔀
from pyvibe import *
app = App("Toko Gacor")
@app.route("/")
def beranda():
return tampil(
navbar(logo="🛍️ Toko", menu=["Beranda", "Produk"]),
bagian(
judul("Toko Gacor").besar().tengah(),
grid(
kartu(gambar("produk1.jpg"), heading("Nike"), harga("Rp 1.2M")),
kartu(gambar("produk2.jpg"), heading("Adidas"), harga("Rp 900K")),
kolom=2, gap="24px",
),
),
footer(copyright="© 2026 Toko Gacor"),
)
app.jalan()
🧩 Components
Basic
judul("Heading") # <h1>
subjudul("Sub Heading") # <h2>
paragraf("Text") # <p>
teks("Inline") # <span>
gambar("img.jpg") # <img>
tautan("Link", url="/") # <a>
ikon("🚀") # <span>🚀</span>
badge("NEW") # Badge label
chip("Python") # Chip/tag
Input
input_teks(label="Nama") # Text input
input_angka(label="Harga") # Number input
input_email(label="Email") # Email input
input_sandi(label="Password") # Password input
textarea(label="Deskripsi") # Textarea
centang("Setuju") # Checkbox
pilihan("Kota", [...]) # Select dropdown
tombol("Submit") # Button
Layout
kartu(content) # Card
kolom(6, content) # Column (6/12)
baris(col1, col2) # Row/Flexbox
bagian(content) # Section
grid(c1, c2, c3, kolom=3) # CSS Grid
kontainer(content) # Max-width container
Navigation
navbar(logo, menu) # Navigation bar
sidebar(items) # Sidebar
footer(teks, links) # Footer
tabs(tab1, tab2) # Tab navigation
breadcrumb("A", "B", "C") # Breadcrumb
Data
tabel(data, kolom=[...]) # Data table
grafik_sederhana(data) # Simple bar chart
daftar("A", "B", "C") # List
statistik([{...}]) # Stats grid
Feedback
notifikasi("Berhasil!", tipe="sukses") # Toast
alert("Info penting", tipe="info") # Alert
loader() # Loading spinner
skeleton() # Skeleton loader
Advanced
carousel(img1, img2) # Image carousel
accordion(item1, item2) # Collapsible sections
modal(judul, content) # Modal dialog
dropdown(trigger, items) # Dropdown menu
🎨 Styling
All components support chainable styling:
judul("Hello").tengah().besar().warna("biru")
paragraf("Text").tebal().warna("abu")
tombol("Click").bg("hijau").bulat("16px")
kartu(content).bayangan("lg").lebar("100%")
Style Methods
| Method | Description | Example |
|---|---|---|
.warna("biru") |
Text color | .warna("merah") |
.bg("gelap") |
Background | .bg("gradient-ungu") |
.besar() |
Font size | .ukuran("kecil") |
.tebal() |
Bold text | .tipis() |
.tengah() |
Center align | .kiri(), .kanan() |
.bulat() |
Border radius | .bulat("16px") |
.bayangan() |
Box shadow | .bayangan("lg") |
.padding("24px") |
Padding | .margin("16px") |
🎯 Examples
Check out the examples/ directory:
# Hello World
python examples/01_hello_world.py
# Landing Page
python examples/02_landing_page.py
# Dashboard Admin
python examples/03_dashboard.py
🤝 Contributing
PyVibe is open source! Contributions are welcome.
git clone https://github.com/pyvibe/pyvibe.git
cd pyvibe
pip install -e .
python examples/01_hello_world.py
📄 License
MIT License — see LICENSE for details.
Made with ❤️ in Indonesia 🇮🇩
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyvibe_id-0.1.0.tar.gz
(74.6 kB
view details)
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
pyvibe_id-0.1.0-py3-none-any.whl
(85.0 kB
view details)
File details
Details for the file pyvibe_id-0.1.0.tar.gz.
File metadata
- Download URL: pyvibe_id-0.1.0.tar.gz
- Upload date:
- Size: 74.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18f97391107cde4cc441464a5cbc32f11bc09aa2d1034995c137c126b8b8ca07
|
|
| MD5 |
7f618aa6c2291b74cc5cd83432f03959
|
|
| BLAKE2b-256 |
5df992086944fd2bef55c69c273e092b977aafe9c5ed34600ac9865ebd9ee9fd
|
File details
Details for the file pyvibe_id-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pyvibe_id-0.1.0-py3-none-any.whl
- Upload date:
- Size: 85.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76175ef5ad0b73ca2ded0a7f4f72ecb696e23d05dd45c8df905ea966892a30df
|
|
| MD5 |
a19bafdc4fe3e93dfdcd5161ebf8bd10
|
|
| BLAKE2b-256 |
46baf0f325d5eadeaaa9b8da20d8a5697d805c7aeddb5d0e5688c9cf1fe968f3
|