Quick Start¶
This guide will help you create your first Plinx application in just a few minutes. We'll cover the basics of:
- Creating a simple application
- Adding routes
- Handling requests and responses
- Running your application
Your First Plinx Application¶
Let's create a simple "Hello, World!" application:
# app.py
from plinx import Plinx
# Create a new Plinx application
app = Plinx()
# Define a route using a decorator
@app.route("/")
def hello(request, response):
response.text = "Hello, World!"
if __name__ == "__main__":
# For development only - not for production
from wsgiref.simple_server import make_server
print("Development server starting at http://localhost:8000...")
server = make_server('localhost', 8000, app)
server.serve_forever()
Save this as app.py and run it:
python app.py
Visit http://localhost:8000/ in your browser to see "Hello, World!"
Adding More Routes¶
Let's expand our application with more routes:
# Text response
@app.route("/about")
def about(request, response):
response.text = "About Plinx"
# JSON response
@app.route("/api/info")
def api_info(request, response):
response.json = {
"name": "Plinx",
"version": "1.0.1",
"status": "OK"
}
# Dynamic URL parameters
@app.route("/hello/{name}")
def greet(request, response, name):
response.text = f"Hello, {name}!"
HTTP Methods¶
Plinx supports different HTTP methods through specific decorators:
@app.get("/users")
def get_users(request, response):
response.json = {"users": ["user1", "user2"]}
@app.post("/users")
def create_user(request, response):
# Access form data or JSON body from request
response.text = "User created successfully"
response.status_code = 201 # Created
@app.put("/users/{user_id}")
def update_user(request, response, user_id):
response.text = f"User {user_id} updated"
@app.delete("/users/{user_id}")
def delete_user(request, response, user_id):
response.text = f"User {user_id} deleted"
Class-Based Views¶
For resources that require multiple HTTP methods, you can use class-based views:
@app.route("/books")
class BooksResource:
def get(self, request, response):
response.json = {"books": ["Book 1", "Book 2"]}
def post(self, request, response):
response.text = "Book created"
response.status_code = 201
Running in Production¶
For production deployment, use a WSGI server like Gunicorn:
pip install gunicorn
gunicorn app:app
Or with custom options:
gunicorn app:app --workers=4 --bind=0.0.0.0:8000
Next Steps¶
- Learn about Middleware for request/response processing
- Explore the ORM for database operations
- Check out error handling techniques
- Browse the API Reference for detailed documentation