Generate http files from design schema inspired by goa
Project description
nameko-design
Generate Nameko http files from design schema inspired by goa
Dependencies
- Python3.6
- Poetry
Installation
cd nameko-design
poetry install
Usage
cd nameko-design
poetry run nameko-design nameko_design/sample.py
Design
This API design schema
with Service('http_service'):
Title('This is a http service')
with Method('liveness'):
Description('liveness probe')
Result(str)
HTTP(GET, '/liveness')
with Method('readiness'):
Description('readiness probe')
Result(str)
HTTP(GET, '/readiness')
will generate the below nameko file
from nameko.web.handlers import http
class HttpService:
name = 'http service'
@http('GET', '/liveness')
def liveness(self, request) -> str:
pass
@http('GET', '/readiness')
def readiness(self, request) -> str:
pass
TODO
- Configure http url and port
- Add URL parameter and type
- Add payload (name, type, description, position etc)
- Add validation
- Add gRPC server
- Generate proto files
- Generate swagger json
What I want:
with Service('example_service'):
Title('This is an example service')
with Method('liveness'):
Description('liveness probe')
Result(str)
HTTP(GET, '/liveness')
with Method('add'):
Description('a + b')
with Payload(): # Not yet implemented
Field(1, "a", int, "left operand") # Not yet implemented
Field(2, "b", int, "right operand") # Not yet implemented
Required("a", "b") # Not yet implemented
Result(int)
HTTP(GET, '/add/{a}/{b}') # Not yet implemented
GRPC() # Not yet implemented
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
Built Distribution
File details
Details for the file nameko-design-0.1.dev2.tar.gz
.
File metadata
- Download URL: nameko-design-0.1.dev2.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.12 CPython/3.6.0 Darwin/18.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b83ddc9eebcc2f2ca35fb9a9b0267708b1f2d3cc459b815a60d347fa34a0837 |
|
MD5 | e7ba06e4e8d55cb4b151d458210b425a |
|
BLAKE2b-256 | c387ba59e70eabdd70507e6cb1479c98b5885ca2bb0f0fb4266931d1ff10ce42 |
File details
Details for the file nameko_design-0.1.dev2-py3-none-any.whl
.
File metadata
- Download URL: nameko_design-0.1.dev2-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.12 CPython/3.6.0 Darwin/18.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2843d6aa10fd18fcdc14063458b8bea33ffe6f6165cdb68f72082024f9dc4439 |
|
MD5 | 96e3b72da24c04beea46537d15e3e373 |
|
BLAKE2b-256 | ed74db5197beb8d1462cc54adbb701bc4f3037ac174edba5bc658fcecf388fe2 |