Skip to main content

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
  • Admin Panel with Basic Auth

Requirements

  • Python ≥ 3.10
  • No external dependencies

Installation

pip install easy-gateway
# or
uv add easy-gateway

Configuration (easy_conf.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 user
  • path: "/user/" — for exact URL match

4. Middleware

Available middleware:

  • LoggingMiddleware — request logging
  • RateLimitMiddleware — 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"

6. ADMIN

admin:
  username: "jack" # by default: admin
  password: "2026" # by default: admin

Running

easy-gateway -c PATH-TO-YOUR-CONFIG
# or simply
easy-gateway  (if config is in root directory)

Project details


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.12.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easy_gateway-0.1.12-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file easy_gateway-0.1.12.tar.gz.

File metadata

  • Download URL: easy_gateway-0.1.12.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for easy_gateway-0.1.12.tar.gz
Algorithm Hash digest
SHA256 30f37ab4c784846d79e1c0ca62930e6b90b3f8a024b5de18fb688131916f08bf
MD5 620885ab1fdf0a8cdaae27cc31e67834
BLAKE2b-256 abc07f70e0fdfe9c70eef5df04cce3da0ce5cb4bab9990eef1ae37cb2e3c7da3

See more details on using hashes here.

File details

Details for the file easy_gateway-0.1.12-py3-none-any.whl.

File metadata

  • Download URL: easy_gateway-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for easy_gateway-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 c76aee7df0938b012705a1b92927416f0fda9bfebfb246f5c9a54e7c4b5189db
MD5 a3a67d314abebb640a5f9066429656a7
BLAKE2b-256 091b0427696f7850ba76878181de104926d337e78e41cf7b664cba8e18d974f8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page