The Python-Powered Fullstack Language
Project description
PyReact-Web 🚀
Bahasa Web Fullstack Modern Bertenaga Python — v1.4.0
Bangun aplikasi fullstack bertenaga AI yang indah menggunakan satu bahasa, satu berkas, dan satu alur kerja terpadu.
PyReact = Kesederhanaan Python + Kekuatan React + Pengembangan AI-Native
📦 Instalasi & Memulai Cepat
PyReact kini tersedia secara resmi di PyPI dengan nama package pyreact-web:
# Instal PyReact secara global
pip install pyreact-web
# Buat proyek baru
pyreact new myapp
# Masuk ke direktori dan jalankan server pengembangan Flask + Vite
cd myapp
pyreact dev
Satu Berkas. Stack Utuh (Full Stack).
Berikut adalah contoh kode sederhana .pyreact yang menyatukan definisi database, logika backend RPC, rute halaman, gaya, komponen UI, hingga dukungan PWA offline dalam satu berkas tunggal:
database {
model Forecast {
id = primary_key()
value = integer()
created_at = timestamp()
}
}
server {
def forecast(data):
# Logika backend Python dengan akses database ORM & AI
return {"result": [1, 4, 9, 16]}
}
pages {
Home = "/"
Dashboard = "/dashboard" [guard]
Login = "/login"
}
component Dashboard():
result, setResult = use_state(None)
def runForecast():
data = server.forecast([])
setResult(data)
return (
<UI.Page>
<UI.Navbar title="Aplikasi PyReact" />
<UI.NetworkStatus />
<UI.Button onClick={runForecast}>Jalankan Forecast</UI.Button>
<UI.Chart type="line" data={result} />
</UI.Page>
)
style {
primary = "#6366f1"
radius = "16px"
background = "#0b0f19"
}
⚡ Fitur Utama (Fase 15 - 23 Selesai)
🩺 Self-Healing Compiler [Fase 15]
Mendeteksi kesalahan sintaksis secara otomatis saat kompilasi dan memperbaikinya secara dinamis menggunakan model AI lokal (via Ollama) atau cadangan cloud.
pyreact compile app.pyreact --heal
🗺️ File-System & Declarative Routing [Fase 16]
Mendukung routing deklaratif via blok pages { ... } serta routing berbasis struktur folder ala Next.js (contoh: pages/blog/[slug].pyreact) lengkap dengan otorisasi rute (route guards).
🛡️ Type System & Validasi [Fase 17]
Menjamin keamanan tipe data dengan anotasi tipe bawaan Python serta decorator seperti @validate untuk memvalidasi masukan kueri sebelum disimpan ke database.
🔄 Sinkronisasi Real-time [Fase 18]
Sinkronisasi data dua arah antara backend dan klien secara instan menggunakan jalur WebSocket atau Server-Sent Events (SSE).
🧪 Framework Pengujian Terintegrasi [Fase 19]
Lakukan pengujian unit komponen, pengujian API backend, hingga pengujian fungsional End-to-End (E2E) berbasis Playwright hanya dengan satu perintah:
pyreact test
💻 Ekstensi VS Code [Fase 20]
Peralatan editor lengkap mulai dari syntax highlighting berkas .pyreact, autocomplete berbasis LSP (Language Server Protocol), diagnosa eror inline, hingga panel live preview terintegrasi.
☁️ Deployment PyReact Cloud [Fase 21]
Unggah aplikasi produksi Anda ke klaster PyReact Cloud dengan satu baris perintah, lengkap dengan manajemen domain kustom, sertifikat SSL, dan dasbor analitik:
pyreact deploy
🌐 Hybrid Server-Side Rendering (SSR) [Fase 22]
Pre-rendering kode JSX frontend langsung dari sisi server Python (Flask/FastAPI) tanpa memerlukan runtime Node.js eksternal, dikombinasikan dengan hidrasi klien dinamis via ReactDOM.hydrateRoot.
📴 Offline-First PWA & Background Sync [Fase 23]
- Web App Manifest & Service Worker: Pembuatan otomatis
manifest.jsondansw.jsuntuk membuat aplikasi web dapat diinstal di HP/Desktop dan diakses tanpa koneksi internet. - Offline RPC Queue: Menyimpan panggilan fungsi
server.*saat perangkat luring (offline) ke dalam antrean, lalu memutarnya kembali secara otomatis saat terhubung kembali (online). - Local State Caching: Menyimpan status state komponen (
shared_state) secara otomatis ke LocalStorage. - Indikator Jaringan: Menampilkan status koneksi real-time melalui komponen bawaan
<UI.NetworkStatus />.
🗺️ Peta Jalan & Status Proyek (Roadmap)
| Fase | Fitur | Status |
|---|---|---|
| 1–14 | Lexer, Parser, AST, RPC, DB ORM, AI Agents, PPR Registry | ✅ Selesai |
| 15 | Self-Healing Compiler (Bertenaga AI) | ✅ Selesai |
| 16 | File-System & Pages Routing | ✅ Selesai |
| 17 | Type System & Validasi Request | ✅ Selesai |
| 18 | Real-Time Sync & Client WebSocket | ✅ Selesai |
| 19 | Framework Pengujian E2E (Playwright) | ✅ Selesai |
| 20 | Ekstensi VS Code (Sintaks, LSP, Live Preview) | ✅ Selesai |
| 21 | One-Command Cloud Deploy & Dasbor Analitik | ✅ Selesai |
| 22 | Hybrid Server-Side Rendering (SSR) | ✅ Selesai |
| 23 | Offline-First PWA & Background Sync | ✅ Selesai |
| 24 | Real-time Collaborative State & WebSockets | 🔲 Direncanakan |
| 25 | GraphQL API Engine & Type-Safe Queries | 🔲 Direncanakan |
| 26 | RBAC (Role-Based Access Control) & Guards | 🔲 Direncanakan |
📄 Lisensi
MIT © Yuda Hasibuan
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 pyreact_web-0.1.2.tar.gz.
File metadata
- Download URL: pyreact_web-0.1.2.tar.gz
- Upload date:
- Size: 116.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07d8c87b856076b8587d3719208884d45cc18cec79af5a72be75c46b5c12e72e
|
|
| MD5 |
a8e3e88a73e1101e93113b325400dc42
|
|
| BLAKE2b-256 |
d9d6aca1c9978a2a851900ef2b01b56d599c5dfe14de12984a7ed27cc2246970
|
File details
Details for the file pyreact_web-0.1.2-py3-none-any.whl.
File metadata
- Download URL: pyreact_web-0.1.2-py3-none-any.whl
- Upload date:
- Size: 105.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
806ae1238ef0bc56f8c4dba0f8c440cbe880a4d7f9a01f4793f927c36e2b4066
|
|
| MD5 |
67f4a4ab934c2a23e3befe01ef8b834b
|
|
| BLAKE2b-256 |
2aaf194318ef60f9d50fb1542abe9f19a777b420b54b9029d80a06f9913156b7
|