Simple to use and fast Gateway for python developers
Project description
Easy-Gateway Documentation
Overview
Easy-Gateway — lightweight API Gateway for microservices architecture.
Features
- Simple YAML configuration
- CLI interface
- Middleware system
- Prefix-based routing
- Rate limiting
- Logging
- Caching
Requirements
- Python ≥ 3.7
- No external dependencies
Version
v0.1.7
Installation
pip install easy-gateway
Configuration (config.yaml)
1. Server Settings
server:
host: "0.0.0.0"
port: 8000
2. Cache Settings
redis:
enabled: true # or false for InMemory Cache
url: "redis://localhost:6379"
expire_time: 500 # cache TTL in seconds (default 180)
To run Redis, you can use Docker:
docker run -d --name my-redis -p 6379:6379 redis
3. Routes
routes:
- path: "/bin/*"
target: "https://httpbin.org/"
description: "Echo Server"
Important:
path: "/user/*"— for URLs with any prefix after userpath: "/user/"— for exact URL match
4. Middleware
Available middleware:
LoggingMiddleware— request loggingRateLimitMiddleware— request rate limiting
middlewares:
- name: "LoggingMiddleware"
enabled: true
- name: "RateLimitMiddleware"
enabled: true
requests_per_minute: 5
5. CORS
cors:
allow_origins:
- "myfront.com"
- "testreact.space"
Running
easy-gateway -c PATH-TO-YOUR-CONFIG
# or
easy-gateway --config
# or simply
easy-gateway (if config is in root directory)
Project Structure
easy-gateway-docs/
├── index.html # HTML documentation page
├── script.js # JavaScript for navigation and code copying
├── styles.css # Styles (dark theme)
└── README.md # This file
Links
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
easy_gateway-0.1.8.tar.gz
(10.7 kB
view details)
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 easy_gateway-0.1.8.tar.gz.
File metadata
- Download URL: easy_gateway-0.1.8.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4e19e2259bd840a9d7e9851111defbf51d075d9556840d157a0661b15513c16
|
|
| MD5 |
e9135eb1e11273de58f0bcb8525f1376
|
|
| BLAKE2b-256 |
e8c8d6fc0606b6f4bd4ba3b16291675b35b620fc4e5fa2a24fc35c3064488fc1
|
File details
Details for the file easy_gateway-0.1.8-py3-none-any.whl.
File metadata
- Download URL: easy_gateway-0.1.8-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57df1b24f355b2b236e896815c4b7c510b1ce00d4fa5654e1671d02191dcb7ea
|
|
| MD5 |
f552f8ee7e96ea587ff060775e618b7a
|
|
| BLAKE2b-256 |
7a1788068216cabcacd3470122c5e4e1bbe58f6f16fddaeedb3acd2ebc6e1c5e
|