bomiot


Namebomiot JSON
Version 1.0.7 PyPI version JSON
download
home_pagehttps://github.com/Bomiot/Bomiot
SummaryPowerful Distributed Document Management Framework & Full-Stack Development Platform
upload_time2025-08-06 20:52:13
maintainerNone
docs_urlNone
authorBomiot
requires_python<=3.13,>=3.9
licenseNone
keywords bomiot bomiot
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
  <img src="bomiot/templates/dist/spa/icons/logo.png" alt="Bomiot logo" width="200" height="auto" />
  <h1>πŸš€ Bomiot</h1>
  <p><strong>One App you can do everything</strong></p>
  <p><em>Powerful Distributed Document Management Framework & Full-Stack Development Platform</em></p>

<!-- Badges -->
![License: APLv2](https://img.shields.io/github/license/Bomiot/Bomiot)
![Release Version (latest Version)](https://img.shields.io/github/v/release/Bomiot/Bomiot?color=orange&include_prereleases)
![i18n Support](https://img.shields.io/badge/i18n-Support-orange.svg)

![repo size](https://img.shields.io/github/repo-size/Bomiot/Bomiot)
![GitHub commit activity](https://img.shields.io/github/commit-activity/m/Bomiot/Bomiot)
![Contributors](https://img.shields.io/github/contributors/Bomiot/Bomiot?color=blue)

![GitHub Org's stars](https://img.shields.io/github/stars/Bomiot?style=social)
![GitHub Follows](https://img.shields.io/github/followers/Singosgu?style=social)
![GitHub Forks](https://img.shields.io/github/forks/Bomiot/Bomiot?style=social)
![GitHub Watch](https://img.shields.io/github/watchers/Bomiot/Bomiot?style=social)

![Python](https://img.shields.io/badge/Python-3.9+-yellowgreen)
![Django](https://img.shields.io/badge/Django-4.2+-yellowgreen)
![Quasar Cli](https://img.shields.io/badge/Quasar/cli-2.4.1+-yellowgreen)
![Vue](https://img.shields.io/badge/Vue-3.4.18+-yellowgreen)
![NodeJS](https://img.shields.io/badge/NodeJS-18.19.1+-yellowgreen)

[![YouTube](https://img.shields.io/youtube/channel/subscribers/UCPW1wciGMIEh7CYOdLnsloA?color=red&label=YouTube&logo=youtube&style=for-the-badge)](https://www.youtube.com/channel/UCPW1wciGMIEh7CYOdLnsloA)

[English](README.md) | [δΈ­ζ–‡](README_CN.md)

</div>

---

## πŸ“‹ Table of Contents

- [🌟 Project Introduction](#-project-introduction)
- [✨ Core Features](#-core-features)
- [πŸš€ Quick Start](#-quick-start)
- [πŸ“¦ Installation Guide](#-installation-guide)
- [πŸ› οΈ Command Line Tools](#️-command-line-tools)
- [πŸ—οΈ Project Structure](#️-project-structure)
- [πŸ”§ Configuration](#-configuration)
- [🌐 Deployment Guide](#-deployment-guide)
- [πŸ“š Scheduled Tasks](#-scheduled-tasks)
- [🀝 Contributing](#-contributing)
- [πŸ“„ License](#-license)
- [πŸ”— Related Links](#-related-links)

---

## 🌟 Project Introduction

Bomiot is a revolutionary distributed document management framework and full-stack development platform, with core components written in Rust, designed to solve modern development pain points. We believe that excellent open-source projects should not only have powerful technology stacks but also focus on developer experience and team collaboration efficiency, making it simple and easy to learn.

### 🎯 Design Philosophy

- **Learning Curve**: Backend supports Django, FastAPI, Flask; Frontend supports React, Angular, Vue, Django built-in Templates (official provides a Vue set)
- **Developer Friendly**: Seamless experience from 0 to 1, no complex configuration required
- **Team Collaboration**: Efficient development team interaction mechanisms
- **Modular Design**: Plugin-based architecture with extensible functionality
- **Easy Deployment**: pip installation, convenient for team deployment, supports Python 3.9+
- **Signal Mechanism**: Data management through signal mechanism, more convenient custom API support
- **Enterprise Ready**: Production-ready, supports large-scale deployment

---

## ✨ Core Features

### πŸ”§ Development Tools
- βœ… **Project Scaffolding**: One-click project and application creation
- βœ… **Plugin System**: Rich plugin ecosystem
- βœ… **Real-time File Monitoring**: Enhanced development efficiency

### πŸ• Task Management
- βœ… **Scheduled Tasks**: Powerful scheduling system
- βœ… **Task Monitoring**: Real-time task status tracking
- βœ… **Error Handling**: Intelligent exception handling mechanism
- βœ… **Log Management**: Complete logging system

### πŸ” Access Control
- βœ… **Fine-grained Permissions**: Role-based access control
- βœ… **JWT Authentication**: Secure identity authentication
- βœ… **API Permissions**: Interface-level permission management
- βœ… **Operation Audit**: Complete operation logs

### 🌍 Internationalization
- βœ… **Multi-language Support**: Built-in internationalization framework
- βœ… **Dynamic Language Switching**: Runtime language switching
- βœ… **Localization Configuration**: Regional settings

### πŸ“Š System Monitoring
- βœ… **Performance Monitoring**: CPU, memory, disk monitoring
- βœ… **Process Management**: Real-time system process monitoring
- βœ… **Network Monitoring**: Network traffic statistics
- βœ… **Health Checks**: System health status detection

### πŸ“š Application Market
- βœ… **Application Sharing**: Application market pip installation, convenient and fast
- βœ… **Component Market**: Hot-pluggable components, dynamic import

---

## πŸš€ Quick Start

### 1. Install Bomiot

```bash
# Install using pip
pip install bomiot

# Or install using poetry
poetry add bomiot
```

### 2. Initialize Workspace

```bash
# Initialize Bomiot workspace
bomiot init
```

### 3. Create Project

```bash
# Create new project
bomiot project my-project

# Create new application
bomiot new my-app
```

### 4. Database

```bash
# Initialize database
bomiot migrate

# If you created a new application, you can generate new database migration files
bomiot makemigrations
```

### 5. Create Administrator

```bash
# Initialize administrator
bomiot initadmin

# Reset administrator account password
bomiot initpwd
```

### 6. Start Service

```bash
# Start development server
bomiot run

# Or specify port
bomiot run --host 0.0.0.0 --port 8080
```

---

## πŸ“¦ Installation Guide

### System Requirements

- **Python**: 3.9 or higher
- **Node.js**: 18.19.1 or higher
- **Operating System**: Windows, macOS, Linux

### Modify Frontend

#### 1. Install Frontend Dependencies

```bash
# Enter frontend directory
cd my-project/templates

# Install dependencies
yarn install
```

#### 2. Open Development baseUrl

```bash
# Change axios.js
vim my-project/templates/src/boot/axios.js

```

```bash
# axios.js code snippet modification
 ...
const baseURL = 'http://127.0.0.1:8000' // Replace with your actual API URL

const api = axios.create({
  baseURL: baseURL ##Open this
})
 ...
```


#### 3. Frontend Development Debugging

```bash
# Ensure backend is already started
bomiot run
```

```bash
# Restart frontend
cd my-project/templates

&

quasar dev
```

---

## πŸ› οΈ Command Line Tools

Bomiot provides powerful command line tools to make development and management simple and efficient.

### πŸ“‹ Command Overview

```bash
bomiot [command] [options]
```

### πŸ”§ Core Commands

#### Project Management

```bash
# Help command
bomiot -h

# View version number
bomiot -v

# Initialize workspace
bomiot init

# Create new project
bomiot project <project_name>

# Create new application
bomiot new <app_name>

# Create plugin
bomiot plugins <plugin_name>
```

#### Application Market

```bash
# Application market
bomiot market <project_name>

# Plugin installation, plugins are automatically hot-imported
pip install -y <plugin_name>

or

poetry add <plugin_name>
```

#### Database Management

```bash
# Create database migration
bomiot makemigrations

# Execute database migration
bomiot migrate

# Load initial data
bomiot loaddata <source>

# Export data
bomiot dumpdata [appname]
```

#### User Management

```bash
# Create administrator account
bomiot initadmin

# Reset administrator password
bomiot initpwd
```

#### Service Management

```bash
# Start server
bomiot run [options]

# Deploy project
bomiot deploy <project_name>
```

#### System Validation

```bash
# Initialize validation Keys
bomiot keys
```

### πŸš€ Server Startup Options

```bash
bomiot run [options]

Options:
  --host, -b HOST                Server host address (default: 127.0.0.1)
  --port, -p PORT                Server port (default: 8000)
  --workers -w WORKERS           Number of worker processes (default: 1)
  --log-level LEVEL              Log level (critical/error/warning/info/debug/trace)
  --ssl-keyfile FILE             SSL key file
  --ssl-certfile FILE            SSL certificate file
  --proxy-headers                Enable proxy headers
  --http HTTP                    HTTP implementation (auto/h11/httptools)
  --loop LOOP                    Async loop (auto/asyncio/uvloop)
  --limit-concurrency            Maximum concurrent requests (default: 1000)
  --backlog                      Maximum waiting connections (default: 128)
  --timeout-keep-alive           HTTP keep-alive timeout (default: 5)
  --timeout-graceful-shutdown    Graceful shutdown timeout (default: 30)
```

### πŸ“ Usage Examples

```bash
# Basic startup
bomiot run

# Test api,method("GET")
"name": "django", "url": "http://127.0.0.1:8000/test/"
"name": "fastapi", "url": "http://127.0.0.1:8000/fastapi/test/"
"name": "flask", "url": "http://127.0.0.1:8000/flask/test/"

# Specify port and host
bomiot run --host 0.0.0.0 --port 8080

# Production environment configuration
bomiot run --host 0.0.0.0 --port 80 --workers 4 --log-level info

# SSL configuration
bomiot run --ssl-keyfile key.pem --ssl-certfile cert.pem
```

---

## πŸ—οΈ Project Structure

```
my-project/                    # Project directory
β”œβ”€β”€ fastapi_app/               # fastapi app
β”‚   └── main.py                # Main file
β”œβ”€β”€ flask_app/                 # flask app
β”‚   └── main.py                # Main file
β”œβ”€β”€ language/                  # Backend language files
β”‚   β”œβ”€β”€ en-US.toml             # English translation file       
β”‚   └── zh-CN.toml             # Chinese translation file
β”œβ”€β”€ media/                     # Static files
β”‚   β”œβ”€β”€ img/                   # Public images       
β”‚   └── ***.md                 # Various md documents
β”œβ”€β”€ static/                    # Static files
β”œβ”€β”€ __version__.py             # my-project version
β”œβ”€β”€ bomiotconf.ini             # Bomiot project identifier file
β”œβ”€β”€ files.py                   # File signals
β”œβ”€β”€ receiver.py                # Data API signals
β”œβ”€β”€ server.py                  # Server signals
└── README.md                  # ReadME documentation
dbs/                           # Database files
logs/                          # System logs
setup.ini                      # Project configuration file
...
```

---

## πŸ”§ Configuration

### Environment Configuration

Bomiot uses configuration files to manage different environment settings:

```ini
# setup.ini
[project]
name = my-project

[database](requires keys validation)
# Supports multiple databases (sqlite, mysql, oracle, postgresql)
engine = sqlite
name = db_name
user = db_user
password = db_pwd
host = db_host
port = db_port

[local]
time_zone = UTC

[jwt]
user_jwt_time = 1000000

[throttle]
allocation_seconds = 1
throttle_seconds = 10

[request]
limit = 2

[file](requires keys validation)
file_size = 102400000
file_extension = py,png,jpg,jpeg,gif,bmp,webp,txt,md,html,htm,js,css,json,xml,csv,xlsx,xls,ppt,pptx,doc,docx,pdf
```

### Database Configuration

Supports multiple databases:

- **SQLite** (default)
- **MySQL** (requires keys validation)
- **PostgreSQL** (requires keys validation)
- **Oracle** (requires keys validation)

---

## 🌐 Deployment Guide

### Supervisor

```bash
# Generate deployment files
bomiot deploy my-project

# Point supervisord.conf to this file to complete daemon process deployment

```

## Scheduled Tasks

### Supported Scheduled Tasks

```python
ARGS_MAP = {
    'cron': ['year', 'month', 'day', 'week', 'day_of_week', 'hour', 'minute', 'second', 'start_date', 'end_date','timezone'],
    'interval': ['weeks', 'days', 'hours', 'minutes', 'seconds', 'start_date', 'end_date', 'timezone'],
    'date': ['run_date', 'timezone']
}
```

### Writing Scheduled Tasks

```python
from bomiot.server.core.signal import bomiot_signals

def my_scheduled_task(sender, **kwargs):
    print("Execute scheduled task")
    
# Send signal to bomiot anywhere, usually written in urls.py, refresh web page to take effect
bomiot_signals.send(sender=my_scheduled_task, msg={
    'models': 'JobList',
    'data': {
        'trigger': 'interval',
        'seconds': 60,
        'end_date': '2099-05-30',
        'description': 'Execute every 60 seconds, end on May 30, 2099'
    }
})
```

---

## 🀝 Contributing

We welcome all forms of contributions!

### Ways to Contribute

1. **Report Bugs**: [Create Issue](https://github.com/Bomiot/Bomiot/issues/new?template=bug_report.md)
2. **Feature Requests**: [Submit Feature Request](https://github.com/Bomiot/Bomiot/issues/new?template=feature_request.md)
3. **Code Contributions**: Fork the project and submit Pull Request
4. **Documentation Improvements**: Help improve documentation
5. **Community Support**: Answer other users' questions

### Ways to Contribute Code

```bash
# 1. Fork the project
# 2. Clone your Fork
git clone https://github.com/your-username/Bomiot.git

# 3. Create feature branch
git checkout -b feature/amazing-feature

# 4. Commit changes
git commit -m 'Add amazing feature'

# 5. Push to branch
git push origin feature/amazing-feature

# 6. Create Pull Request
```

### Code Standards

- Follow PEP 8 Python code standards
- Add appropriate comments and docstrings
- Write unit tests
- Ensure all tests pass

---

## πŸ“„ License

This project is licensed under the [APLv2](LICENSE) License - see the [LICENSE](LICENSE) file for details.

---

## πŸ”— Related Links

### πŸ“Ί Video Tutorials
- [YouTube Channel](https://www.youtube.com/channel/UCPW1wciGMIEh7CYOdLnsloA)

### πŸ› Issue Reporting
- [Report Bug](https://github.com/Bomiot/Bomiot/issues/new?template=bug_report.md)
- [Feature Request](https://github.com/Bomiot/Bomiot/issues/new?template=feature_request.md)

### πŸ’¬ Community
- [GitHub Discussions](https://github.com/Bomiot/Bomiot/discussions)
- [Issues](https://github.com/Bomiot/Bomiot/issues)

---

<div align="center">

**⭐ If this project helps you, please give us a Star!**

Made with ❀️ by [Bomiot Team](https://github.com/Bomiot)

</div>
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Bomiot/Bomiot",
    "name": "bomiot",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<=3.13,>=3.9",
    "maintainer_email": null,
    "keywords": "Bomiot, bomiot",
    "author": "Bomiot",
    "author_email": "Singosgu@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ca/19/39fe51c11c6e49993fda9798cd9fedefd3a3b3832452775cf322848d12a9/bomiot-1.0.7.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n  <img src=\"bomiot/templates/dist/spa/icons/logo.png\" alt=\"Bomiot logo\" width=\"200\" height=\"auto\" />\n  <h1>\ud83d\ude80 Bomiot</h1>\n  <p><strong>One App you can do everything</strong></p>\n  <p><em>Powerful Distributed Document Management Framework & Full-Stack Development Platform</em></p>\n\n<!-- Badges -->\n![License: APLv2](https://img.shields.io/github/license/Bomiot/Bomiot)\n![Release Version (latest Version)](https://img.shields.io/github/v/release/Bomiot/Bomiot?color=orange&include_prereleases)\n![i18n Support](https://img.shields.io/badge/i18n-Support-orange.svg)\n\n![repo size](https://img.shields.io/github/repo-size/Bomiot/Bomiot)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/Bomiot/Bomiot)\n![Contributors](https://img.shields.io/github/contributors/Bomiot/Bomiot?color=blue)\n\n![GitHub Org's stars](https://img.shields.io/github/stars/Bomiot?style=social)\n![GitHub Follows](https://img.shields.io/github/followers/Singosgu?style=social)\n![GitHub Forks](https://img.shields.io/github/forks/Bomiot/Bomiot?style=social)\n![GitHub Watch](https://img.shields.io/github/watchers/Bomiot/Bomiot?style=social)\n\n![Python](https://img.shields.io/badge/Python-3.9+-yellowgreen)\n![Django](https://img.shields.io/badge/Django-4.2+-yellowgreen)\n![Quasar Cli](https://img.shields.io/badge/Quasar/cli-2.4.1+-yellowgreen)\n![Vue](https://img.shields.io/badge/Vue-3.4.18+-yellowgreen)\n![NodeJS](https://img.shields.io/badge/NodeJS-18.19.1+-yellowgreen)\n\n[![YouTube](https://img.shields.io/youtube/channel/subscribers/UCPW1wciGMIEh7CYOdLnsloA?color=red&label=YouTube&logo=youtube&style=for-the-badge)](https://www.youtube.com/channel/UCPW1wciGMIEh7CYOdLnsloA)\n\n[English](README.md) | [\u4e2d\u6587](README_CN.md)\n\n</div>\n\n---\n\n## \ud83d\udccb Table of Contents\n\n- [\ud83c\udf1f Project Introduction](#-project-introduction)\n- [\u2728 Core Features](#-core-features)\n- [\ud83d\ude80 Quick Start](#-quick-start)\n- [\ud83d\udce6 Installation Guide](#-installation-guide)\n- [\ud83d\udee0\ufe0f Command Line Tools](#\ufe0f-command-line-tools)\n- [\ud83c\udfd7\ufe0f Project Structure](#\ufe0f-project-structure)\n- [\ud83d\udd27 Configuration](#-configuration)\n- [\ud83c\udf10 Deployment Guide](#-deployment-guide)\n- [\ud83d\udcda Scheduled Tasks](#-scheduled-tasks)\n- [\ud83e\udd1d Contributing](#-contributing)\n- [\ud83d\udcc4 License](#-license)\n- [\ud83d\udd17 Related Links](#-related-links)\n\n---\n\n## \ud83c\udf1f Project Introduction\n\nBomiot is a revolutionary distributed document management framework and full-stack development platform, with core components written in Rust, designed to solve modern development pain points. We believe that excellent open-source projects should not only have powerful technology stacks but also focus on developer experience and team collaboration efficiency, making it simple and easy to learn.\n\n### \ud83c\udfaf Design Philosophy\n\n- **Learning Curve**: Backend supports Django, FastAPI, Flask; Frontend supports React, Angular, Vue, Django built-in Templates (official provides a Vue set)\n- **Developer Friendly**: Seamless experience from 0 to 1, no complex configuration required\n- **Team Collaboration**: Efficient development team interaction mechanisms\n- **Modular Design**: Plugin-based architecture with extensible functionality\n- **Easy Deployment**: pip installation, convenient for team deployment, supports Python 3.9+\n- **Signal Mechanism**: Data management through signal mechanism, more convenient custom API support\n- **Enterprise Ready**: Production-ready, supports large-scale deployment\n\n---\n\n## \u2728 Core Features\n\n### \ud83d\udd27 Development Tools\n- \u2705 **Project Scaffolding**: One-click project and application creation\n- \u2705 **Plugin System**: Rich plugin ecosystem\n- \u2705 **Real-time File Monitoring**: Enhanced development efficiency\n\n### \ud83d\udd50 Task Management\n- \u2705 **Scheduled Tasks**: Powerful scheduling system\n- \u2705 **Task Monitoring**: Real-time task status tracking\n- \u2705 **Error Handling**: Intelligent exception handling mechanism\n- \u2705 **Log Management**: Complete logging system\n\n### \ud83d\udd10 Access Control\n- \u2705 **Fine-grained Permissions**: Role-based access control\n- \u2705 **JWT Authentication**: Secure identity authentication\n- \u2705 **API Permissions**: Interface-level permission management\n- \u2705 **Operation Audit**: Complete operation logs\n\n### \ud83c\udf0d Internationalization\n- \u2705 **Multi-language Support**: Built-in internationalization framework\n- \u2705 **Dynamic Language Switching**: Runtime language switching\n- \u2705 **Localization Configuration**: Regional settings\n\n### \ud83d\udcca System Monitoring\n- \u2705 **Performance Monitoring**: CPU, memory, disk monitoring\n- \u2705 **Process Management**: Real-time system process monitoring\n- \u2705 **Network Monitoring**: Network traffic statistics\n- \u2705 **Health Checks**: System health status detection\n\n### \ud83d\udcda Application Market\n- \u2705 **Application Sharing**: Application market pip installation, convenient and fast\n- \u2705 **Component Market**: Hot-pluggable components, dynamic import\n\n---\n\n## \ud83d\ude80 Quick Start\n\n### 1. Install Bomiot\n\n```bash\n# Install using pip\npip install bomiot\n\n# Or install using poetry\npoetry add bomiot\n```\n\n### 2. Initialize Workspace\n\n```bash\n# Initialize Bomiot workspace\nbomiot init\n```\n\n### 3. Create Project\n\n```bash\n# Create new project\nbomiot project my-project\n\n# Create new application\nbomiot new my-app\n```\n\n### 4. Database\n\n```bash\n# Initialize database\nbomiot migrate\n\n# If you created a new application, you can generate new database migration files\nbomiot makemigrations\n```\n\n### 5. Create Administrator\n\n```bash\n# Initialize administrator\nbomiot initadmin\n\n# Reset administrator account password\nbomiot initpwd\n```\n\n### 6. Start Service\n\n```bash\n# Start development server\nbomiot run\n\n# Or specify port\nbomiot run --host 0.0.0.0 --port 8080\n```\n\n---\n\n## \ud83d\udce6 Installation Guide\n\n### System Requirements\n\n- **Python**: 3.9 or higher\n- **Node.js**: 18.19.1 or higher\n- **Operating System**: Windows, macOS, Linux\n\n### Modify Frontend\n\n#### 1. Install Frontend Dependencies\n\n```bash\n# Enter frontend directory\ncd my-project/templates\n\n# Install dependencies\nyarn install\n```\n\n#### 2. Open Development baseUrl\n\n```bash\n# Change axios.js\nvim my-project/templates/src/boot/axios.js\n\n```\n\n```bash\n# axios.js code snippet modification\n ...\nconst baseURL = 'http://127.0.0.1:8000' // Replace with your actual API URL\n\nconst api = axios.create({\n  baseURL: baseURL ##Open this\n})\n ...\n```\n\n\n#### 3. Frontend Development Debugging\n\n```bash\n# Ensure backend is already started\nbomiot run\n```\n\n```bash\n# Restart frontend\ncd my-project/templates\n\n&\n\nquasar dev\n```\n\n---\n\n## \ud83d\udee0\ufe0f Command Line Tools\n\nBomiot provides powerful command line tools to make development and management simple and efficient.\n\n### \ud83d\udccb Command Overview\n\n```bash\nbomiot [command] [options]\n```\n\n### \ud83d\udd27 Core Commands\n\n#### Project Management\n\n```bash\n# Help command\nbomiot -h\n\n# View version number\nbomiot -v\n\n# Initialize workspace\nbomiot init\n\n# Create new project\nbomiot project <project_name>\n\n# Create new application\nbomiot new <app_name>\n\n# Create plugin\nbomiot plugins <plugin_name>\n```\n\n#### Application Market\n\n```bash\n# Application market\nbomiot market <project_name>\n\n# Plugin installation, plugins are automatically hot-imported\npip install -y <plugin_name>\n\nor\n\npoetry add <plugin_name>\n```\n\n#### Database Management\n\n```bash\n# Create database migration\nbomiot makemigrations\n\n# Execute database migration\nbomiot migrate\n\n# Load initial data\nbomiot loaddata <source>\n\n# Export data\nbomiot dumpdata [appname]\n```\n\n#### User Management\n\n```bash\n# Create administrator account\nbomiot initadmin\n\n# Reset administrator password\nbomiot initpwd\n```\n\n#### Service Management\n\n```bash\n# Start server\nbomiot run [options]\n\n# Deploy project\nbomiot deploy <project_name>\n```\n\n#### System Validation\n\n```bash\n# Initialize validation Keys\nbomiot keys\n```\n\n### \ud83d\ude80 Server Startup Options\n\n```bash\nbomiot run [options]\n\nOptions:\n  --host, -b HOST                Server host address (default: 127.0.0.1)\n  --port, -p PORT                Server port (default: 8000)\n  --workers -w WORKERS           Number of worker processes (default: 1)\n  --log-level LEVEL              Log level (critical/error/warning/info/debug/trace)\n  --ssl-keyfile FILE             SSL key file\n  --ssl-certfile FILE            SSL certificate file\n  --proxy-headers                Enable proxy headers\n  --http HTTP                    HTTP implementation (auto/h11/httptools)\n  --loop LOOP                    Async loop (auto/asyncio/uvloop)\n  --limit-concurrency            Maximum concurrent requests (default: 1000)\n  --backlog                      Maximum waiting connections (default: 128)\n  --timeout-keep-alive           HTTP keep-alive timeout (default: 5)\n  --timeout-graceful-shutdown    Graceful shutdown timeout (default: 30)\n```\n\n### \ud83d\udcdd Usage Examples\n\n```bash\n# Basic startup\nbomiot run\n\n# Test api\uff0cmethod(\"GET\")\n\"name\": \"django\", \"url\": \"http://127.0.0.1:8000/test/\"\n\"name\": \"fastapi\", \"url\": \"http://127.0.0.1:8000/fastapi/test/\"\n\"name\": \"flask\", \"url\": \"http://127.0.0.1:8000/flask/test/\"\n\n# Specify port and host\nbomiot run --host 0.0.0.0 --port 8080\n\n# Production environment configuration\nbomiot run --host 0.0.0.0 --port 80 --workers 4 --log-level info\n\n# SSL configuration\nbomiot run --ssl-keyfile key.pem --ssl-certfile cert.pem\n```\n\n---\n\n## \ud83c\udfd7\ufe0f Project Structure\n\n```\nmy-project/                    # Project directory\n\u251c\u2500\u2500 fastapi_app/               # fastapi app\n\u2502   \u2514\u2500\u2500 main.py                # Main file\n\u251c\u2500\u2500 flask_app/                 # flask app\n\u2502   \u2514\u2500\u2500 main.py                # Main file\n\u251c\u2500\u2500 language/                  # Backend language files\n\u2502   \u251c\u2500\u2500 en-US.toml             # English translation file       \n\u2502   \u2514\u2500\u2500 zh-CN.toml             # Chinese translation file\n\u251c\u2500\u2500 media/                     # Static files\n\u2502   \u251c\u2500\u2500 img/                   # Public images       \n\u2502   \u2514\u2500\u2500 ***.md                 # Various md documents\n\u251c\u2500\u2500 static/                    # Static files\n\u251c\u2500\u2500 __version__.py             # my-project version\n\u251c\u2500\u2500 bomiotconf.ini             # Bomiot project identifier file\n\u251c\u2500\u2500 files.py                   # File signals\n\u251c\u2500\u2500 receiver.py                # Data API signals\n\u251c\u2500\u2500 server.py                  # Server signals\n\u2514\u2500\u2500 README.md                  # ReadME documentation\ndbs/                           # Database files\nlogs/                          # System logs\nsetup.ini                      # Project configuration file\n...\n```\n\n---\n\n## \ud83d\udd27 Configuration\n\n### Environment Configuration\n\nBomiot uses configuration files to manage different environment settings:\n\n```ini\n# setup.ini\n[project]\nname = my-project\n\n[database](requires keys validation)\n# Supports multiple databases (sqlite, mysql, oracle, postgresql)\nengine = sqlite\nname = db_name\nuser = db_user\npassword = db_pwd\nhost = db_host\nport = db_port\n\n[local]\ntime_zone = UTC\n\n[jwt]\nuser_jwt_time = 1000000\n\n[throttle]\nallocation_seconds = 1\nthrottle_seconds = 10\n\n[request]\nlimit = 2\n\n[file](requires keys validation)\nfile_size = 102400000\nfile_extension = py,png,jpg,jpeg,gif,bmp,webp,txt,md,html,htm,js,css,json,xml,csv,xlsx,xls,ppt,pptx,doc,docx,pdf\n```\n\n### Database Configuration\n\nSupports multiple databases:\n\n- **SQLite** (default)\n- **MySQL** (requires keys validation)\n- **PostgreSQL** (requires keys validation)\n- **Oracle** (requires keys validation)\n\n---\n\n## \ud83c\udf10 Deployment Guide\n\n### Supervisor\n\n```bash\n# Generate deployment files\nbomiot deploy my-project\n\n# Point supervisord.conf to this file to complete daemon process deployment\n\n```\n\n## Scheduled Tasks\n\n### Supported Scheduled Tasks\n\n```python\nARGS_MAP = {\n    'cron': ['year', 'month', 'day', 'week', 'day_of_week', 'hour', 'minute', 'second', 'start_date', 'end_date','timezone'],\n    'interval': ['weeks', 'days', 'hours', 'minutes', 'seconds', 'start_date', 'end_date', 'timezone'],\n    'date': ['run_date', 'timezone']\n}\n```\n\n### Writing Scheduled Tasks\n\n```python\nfrom bomiot.server.core.signal import bomiot_signals\n\ndef my_scheduled_task(sender, **kwargs):\n    print(\"Execute scheduled task\")\n    \n# Send signal to bomiot anywhere, usually written in urls.py, refresh web page to take effect\nbomiot_signals.send(sender=my_scheduled_task, msg={\n    'models': 'JobList',\n    'data': {\n        'trigger': 'interval',\n        'seconds': 60,\n        'end_date': '2099-05-30',\n        'description': 'Execute every 60 seconds, end on May 30, 2099'\n    }\n})\n```\n\n---\n\n## \ud83e\udd1d Contributing\n\nWe welcome all forms of contributions!\n\n### Ways to Contribute\n\n1. **Report Bugs**: [Create Issue](https://github.com/Bomiot/Bomiot/issues/new?template=bug_report.md)\n2. **Feature Requests**: [Submit Feature Request](https://github.com/Bomiot/Bomiot/issues/new?template=feature_request.md)\n3. **Code Contributions**: Fork the project and submit Pull Request\n4. **Documentation Improvements**: Help improve documentation\n5. **Community Support**: Answer other users' questions\n\n### Ways to Contribute Code\n\n```bash\n# 1. Fork the project\n# 2. Clone your Fork\ngit clone https://github.com/your-username/Bomiot.git\n\n# 3. Create feature branch\ngit checkout -b feature/amazing-feature\n\n# 4. Commit changes\ngit commit -m 'Add amazing feature'\n\n# 5. Push to branch\ngit push origin feature/amazing-feature\n\n# 6. Create Pull Request\n```\n\n### Code Standards\n\n- Follow PEP 8 Python code standards\n- Add appropriate comments and docstrings\n- Write unit tests\n- Ensure all tests pass\n\n---\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the [APLv2](LICENSE) License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## \ud83d\udd17 Related Links\n\n### \ud83d\udcfa Video Tutorials\n- [YouTube Channel](https://www.youtube.com/channel/UCPW1wciGMIEh7CYOdLnsloA)\n\n### \ud83d\udc1b Issue Reporting\n- [Report Bug](https://github.com/Bomiot/Bomiot/issues/new?template=bug_report.md)\n- [Feature Request](https://github.com/Bomiot/Bomiot/issues/new?template=feature_request.md)\n\n### \ud83d\udcac Community\n- [GitHub Discussions](https://github.com/Bomiot/Bomiot/discussions)\n- [Issues](https://github.com/Bomiot/Bomiot/issues)\n\n---\n\n<div align=\"center\">\n\n**\u2b50 If this project helps you, please give us a Star!**\n\nMade with \u2764\ufe0f by [Bomiot Team](https://github.com/Bomiot)\n\n</div>",
    "bugtrack_url": null,
    "license": null,
    "summary": "Powerful Distributed Document Management Framework & Full-Stack Development Platform",
    "version": "1.0.7",
    "project_urls": {
        "Homepage": "https://github.com/Bomiot/Bomiot",
        "Repository": "https://github.com/Bomiot/Bomiot"
    },
    "split_keywords": [
        "bomiot",
        " bomiot"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ca2093fcbe6e4b8d69e4188501b7a1d81b49e6a6d91ca93b201730adf56df88a",
                "md5": "5526c07518bf4d3cd39f853a4fbfbf7e",
                "sha256": "c7b7cc10436cb146203e522559592802a52684943eb398dbb13eacca4c386bd2"
            },
            "downloads": -1,
            "filename": "bomiot-1.0.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5526c07518bf4d3cd39f853a4fbfbf7e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<=3.13,>=3.9",
            "size": 3632722,
            "upload_time": "2025-08-06T20:51:55",
            "upload_time_iso_8601": "2025-08-06T20:51:55.598334Z",
            "url": "https://files.pythonhosted.org/packages/ca/20/93fcbe6e4b8d69e4188501b7a1d81b49e6a6d91ca93b201730adf56df88a/bomiot-1.0.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ca1939fe51c11c6e49993fda9798cd9fedefd3a3b3832452775cf322848d12a9",
                "md5": "62d87d8c2827df381a134959f66e1b9f",
                "sha256": "ecac11b93d71249bce48c948ae8d058cd33fc51f97c5d3cc75c73c64dadf6c82"
            },
            "downloads": -1,
            "filename": "bomiot-1.0.7.tar.gz",
            "has_sig": false,
            "md5_digest": "62d87d8c2827df381a134959f66e1b9f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<=3.13,>=3.9",
            "size": 3438306,
            "upload_time": "2025-08-06T20:52:13",
            "upload_time_iso_8601": "2025-08-06T20:52:13.813077Z",
            "url": "https://files.pythonhosted.org/packages/ca/19/39fe51c11c6e49993fda9798cd9fedefd3a3b3832452775cf322848d12a9/bomiot-1.0.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-06 20:52:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Bomiot",
    "github_project": "Bomiot",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "bomiot"
}
        
Elapsed time: 0.61972s