Skip to main content

Easy-Gateway

Python Tests License

Lightweight API Gateway for microservices architectures.

Current status: Early MVP – functional, but expect rough edges.

Features (MVP)

  • YAML-based configuration, zero code changes for routing
  • Prefix & exact path routing
  • Redis-backed per-route caching with automatic invalidation on mutations
  • Built-in middleware: rate limiting, request logging
  • CORS support
  • Simple admin panel with Basic Auth
  • CLI tool: easy-gateway

Quick Start

pip install easy-gateway

Create a minimal gateway.yaml:

server:
  host: "0.0.0.0"
  port: 8000

routes:
  - path: "/api/*"
    target: "https://httpbin.org"

middlewares:
  - name: "LoggingMiddleware"
    enabled: true

Start the gateway:

easy-gateway -c gateway.yaml

Requests to http://localhost:8000/api/anything are now proxied to https://httpbin.org/anything.

Run with Docker

Build the image and run the gateway:

docker build -t easy-gateway .
docker run -p 8000:8000 \
  -e CONFIG_PATH=example_config.yaml \
  easy-gateway

The config path is controlled by the CONFIG_PATH env var (defaults to /easy-gateway/easy_conf.yaml). If the file is missing, the gateway reports it on startup.

Documentation

Full configuration reference, caching details, admin panel usage, and production examples are in the Wiki.

Requirements

  • Python 3.12+
  • Redis (optional, only required for caching)

Contributing

This project is in early development. Issues, suggestions, and pull requests are welcome.

License

MIT

Release files for easy-gateway 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for easy-gateway 0.2.0
File Size Uploaded
easy_gateway-0.2.0.tar.gz 17.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for easy-gateway 0.2.0
File Interpreter ABI Platform
easy_gateway-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.1 kB

Release files / easy_gateway-0.2.0.tar.gz

Download URL easy_gateway-0.2.0.tar.gz
Size 17.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e20f272345f253b97f787cc783f3951f19fbd9cd6263aca3689324bb0da40df5
BLAKE2b-256 checksum
How to use checksums
b2420dff75a04b4528b1db707c27d38693cea1703f85f5d48baa3974bb2e8cec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / easy_gateway-0.2.0-py3-none-any.whl

Download URL easy_gateway-0.2.0-py3-none-any.whl
Size 14.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06f56896a673817d09c36411aa59d938bfc0d34050977c98d67b8a2a5cc9d51d
BLAKE2b-256 checksum
How to use checksums
15e9a059873540b3743f8d67bcf4690dc06cf894c0b942c81356ce1fc9765daf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.13

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page