You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
-49Lines changed: 0 additions & 49 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,30 +7,6 @@
7
7
8
8
**Raystack** is a modern, lightweight Python web framework that merges the asynchronous power of Starlette with the battle-tested structure and development convenience inspired by Django. A clean, minimal framework that gives you the best of both worlds!
9
9
10
-
## ✨ Why Choose Raystack?
11
-
12
-
Do you love Starlette's speed but miss Django's organized project structure? Do you want a powerful ORM with built-in async support? Raystack is built for you! It's ideal for:
13
-
14
-
***High-Performance APIs and Microservices**: Leverage Starlette's capabilities for blazing-fast and concurrent request handling.
15
-
***Rapid Development of Web Applications**: Benefit from a ready-to-use project structure, optional templating, and CLI tools.
16
-
***Developers Transitioning from Django**: Get up to speed instantly with familiar "app" concepts, ORM, and management commands.
17
-
***Projects Requiring a Flexible and Robust ORM**: SQLAlchemy under the hood gives you full control over your database.
18
-
***Minimal Dependencies**: Core framework without heavy dependencies - add only what you need.
19
-
20
-
## 🌟 Key Features
21
-
22
-
***Starlette at its Core**: Experience incredible speed and asynchronous performance for your web applications.
23
-
***Django-Inspired Project Structure**: Organize your project with "apps" for clean, modular, and maintainable code.
24
-
***Universal SQLAlchemy ORM**: A powerful and flexible ORM with a unified API for both synchronous and asynchronous operations.
***Optional Jinja2 Templating**: Add templating support when needed (jinja2 is optional).
27
-
***OpenAPI/Swagger Documentation**: Automatic API documentation at `/docs` endpoint.
28
-
***Convenient CLI Commands**: Create projects and apps, run the server, manage migrations, and more—all from your command line.
29
-
***Async-First Design**: Full support for asynchronous views and database operations with minimal effort.
30
-
***Multi-Database Support**: Connect to SQLite, PostgreSQL, MySQL, and other databases with easy switching between sync and async drivers.
31
-
***Extensible Architecture**: Easily integrate your own apps, middleware, and commands to tailor the framework to your needs.
32
-
***Minimal Core**: Lightweight framework with only essential dependencies - add features as needed.
33
-
34
10
## ⚡ Quick Start
35
11
36
12
Get your project up and running in minutes!
@@ -56,31 +32,6 @@ raystack runserver
56
32
57
33
Open your browser and navigate to: [http://127.0.0.1:8000](http://127.0.0.1:8000/)
58
34
59
-
## 🏗️ Project Structure
60
-
61
-
Raystack offers a clear and modular project structure, inspired by Django:
62
-
63
-
```mermaid
64
-
graph TD
65
-
A[Raystack Project] --> B[myproject/];
66
-
B --> C[apps/];
67
-
C --> D[home/];
68
-
D --> D1[models.py];
69
-
D --> D2[views.py];
70
-
D --> D3[urls.py];
71
-
D --> D4[admin.py];
72
-
B --> E[config/];
73
-
E --> E1[settings.py];
74
-
E --> E2[urls.py];
75
-
B --> F[core/];
76
-
F --> F1[__init__.py];
77
-
B --> G[templates/];
78
-
G --> G1[base.html];
79
-
G --> G2[home/];
80
-
B --> H[requirements.txt];
81
-
B --> I[README.md];
82
-
```
83
-
84
35
## 🌐 URL-Based Async/Sync Mode Detection
85
36
86
37
Raystack introduces a unique approach to database interaction, allowing you to explicitly control whether to use synchronous or asynchronous operations by simply specifying the appropriate driver in your database URL.
0 commit comments