Skip to main content

🐍 PyVibe

Build frontend websites in Python as easy as chatting. "Gak perlu ribet, yang penting gacor."

Python License Version


🚀 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 🇮🇩

Metadata

Release files for pyvibe-id 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyvibe-id 0.1.0
File Size Uploaded Provenance Actions
pyvibe_id-0.1.0.tar.gz 74.6 kB Without provenance Details for pyvibe_id-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pyvibe-id 0.1.0
File Interpreter ABI Platform Actions
pyvibe_id-0.1.0-py3-none-any.whl Python 3 none any Details for pyvibe_id-0.1.0-py3-none-any.whl

Total release size: 159.6 kB

Release files / pyvibe_id-0.1.0.tar.gz

Download URL pyvibe_id-0.1.0.tar.gz
Size 74.6 kB
Tags Source
SHA-256 checksum
How to use checksums
18f97391107cde4cc441464a5cbc32f11bc09aa2d1034995c137c126b8b8ca07
BLAKE2b-256 checksum
How to use checksums
5df992086944fd2bef55c69c273e092b977aafe9c5ed34600ac9865ebd9ee9fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / pyvibe_id-0.1.0-py3-none-any.whl

Download URL pyvibe_id-0.1.0-py3-none-any.whl
Size 85.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76175ef5ad0b73ca2ded0a7f4f72ecb696e23d05dd45c8df905ea966892a30df
BLAKE2b-256 checksum
How to use checksums
46baf0f325d5eadeaaa9b8da20d8a5697d805c7aeddb5d0e5688c9cf1fe968f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for pyvibe-id 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page