PyVueBot
A modern CLI tool for creating and managing Telegram Mini Apps with Vue.js and FastAPI.
Overview
PyVueBot streamlines the development of Telegram Mini Apps by providing:
- Project scaffolding from templates with variable substitution
- Interactive setup wizard for easy configuration
- Development server with hot reloading
- Production builds and deployment
- Integrated Telegram webhook management
- Vercel deployment support
Installation
pip install pyvuebot
Quick Start
- Create a new project:
pyvuebot init my-telegram-app
- Install dependencies:
cd my-telegram-app
pyvuebot install
- Start development:
pyvuebot dev
- Configure your webhook:
pyvuebot webhook set
- Build and deploy:
pyvuebot build
pyvuebot deploy
Command Reference
Project Management
-
pyvuebot init [NAME]- Create a new project--template- Specify a template (default: task_manager)--description- Project description--yes, -y- Skip interactive prompts and use defaults--force, -f- Override existing directory
-
pyvuebot install- Install dependencies -
pyvuebot dev- Start development servers -
pyvuebot build- Build for production -
pyvuebot deploy- Deploy to Vercel
Webhook Management
-
pyvuebot webhook set- Set up a Telegram bot webhook--token- Telegram bot token--url- Web app URL--path- Custom webhook path
-
pyvuebot webhook info- Check webhook status--token- Telegram bot token
-
pyvuebot webhook delete- Delete webhook--token- Telegram bot token--drop-pending- Drop pending updates
Templates
Currently available templates:
task_manager- Full-stack task management app (default)- More coming soon...
Project Structure
my-telegram-app/
├── api/ # FastAPI backend
│ ├── routes/ # API endpoints
│ ├── models.py # Data models
│ └── db.py # Database setup
├── src/ # Vue.js frontend
│ ├── components/ # Vue components
│ ├── services/ # API services
│ └── store/ # State management
├── index.html # HTML entry point
├── package.json # Node dependencies
├── requirements.txt # Python dependencies
├── .env # Environment variables
├── .env.example # Environment variables template
├── vercel.json # Vercel configuration
└── pyvuebot.json # Project configuration
Configuration
The pyvuebot.json file contains project configuration:
{
"name": "my-telegram-app",
"template": "task_manager",
"description": "My Telegram Mini App",
"version": "0.1.0",
"created_at": "2023-03-31T01:53:14.539642"
}
Dynamic Template Variables
Templates can use variables in the format {{ variable_name }} which will be replaced during project creation:
{{ project_name }}- Project name{{ project_description }}- Project description{{ creation_date }}- Creation date (YYYY-MM-DD){{ creation_year }}- Creation year{{ template_name }}- Template name
Environment Variables
Required environment variables:
TELEGRAM_BOT_TOKEN- Your Telegram bot tokenWEB_APP_URL- URL where your app is deployedSUPABASE_URL- Supabase project URL (if using Supabase)SUPABASE_KEY- Supabase project key (if using Supabase)VITE_TELEGRAM_BOT_LINK- Link to your Telegram bot
Star the Repository
If you find PyVueBot useful, please consider giving it a star on GitHub! Your support helps the project grow.
# Or clone and star through GitHub CLI
gh repo clone venopyx/pyvuebot
gh repo star venopyx/pyvuebot
Development
To contribute to PyVueBot:
- Clone the repository:
git clone https://github.com/venopyx/pyvuebot.git
cd pyvuebot
- Install dependencies:
poetry install
- Create a new branch:
git checkout -b feature/your-feature
- Make your changes and submit a pull request
License
MIT License - see LICENSE for details
Author
- Gemechis Chala (@venopyx)
- Email: venopyx@gmail.com
Support
- GitHub Issues: Report bugs
- Telegram: @venopyx
- Twitter: @venopyx
Metadata
Release files for pyvuebot 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyvuebot-0.2.2.tar.gz | 64.0 kB | Without provenance | Details for pyvuebot-0.2.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyvuebot-0.2.2-py3-none-any.whl | Python 3 | none | any | Details for pyvuebot-0.2.2-py3-none-any.whl |
Total release size: 138.9 kB
Release files / pyvuebot-0.2.2.tar.gz
| Download URL | pyvuebot-0.2.2.tar.gz |
|---|---|
| Size | 64.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
19b3363954479ee9b94c2f0e950175dad37a0af7bc5d1d67455ebcc23d04d96f
|
|
BLAKE2b-256 checksum How to use checksums |
37a791fe5631aaab379d070f1a9da1899d2cce276ab7346f75c78568f1331ca2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.2 CPython/3.13.2 Linux/6.12.13-amd64
|
Release files / pyvuebot-0.2.2-py3-none-any.whl
| Download URL | pyvuebot-0.2.2-py3-none-any.whl |
|---|---|
| Size | 74.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7f52d79975f28a97049b78c093cdd5641321aa1da199dfcfcf562bd0c2ad5de
|
|
BLAKE2b-256 checksum How to use checksums |
17bc7c83ce3e7e63e07da7f76565e997c86edba7893fb05e6474fdacbe1d9b31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.2 CPython/3.13.2 Linux/6.12.13-amd64
|
Security for pyvuebot 0.2.2
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.