Giter Site home page Giter Site logo

daleal / asymmetric Goto Github PK

View Code? Open in Web Editor NEW
36.0 2.0 1.0 111 KB

Ridiculously fast and easy module-to-API transformations. Learn in minutes, implement in seconds. Batteries included.

License: MIT License

Python 97.49% Makefile 1.35% Shell 1.16%
starlette apis openapi swagger-ui redoc async-framework uvicorn httpx callback-endpoint python

asymmetric's Introduction

Hi! My name is Daniel Leal ๐Ÿณ

I'm a Software Engineer, currently working at Fintoc. I really enjoy coding and learning about software, computers and technology, and I love open source ๐Ÿ’–. I hope that you find what you're looking for!

Some of the things that I've done โœจ

zum

asymmetric

docker-walkthrough

fintoc-python

More about me

daleal's github stats

asymmetric's People

Contributors

daleal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

pombredanne

asymmetric's Issues

Create a run command

Given that most of the potential users of asymmetric are people who don't want to have to write a ton of code/learn multiple things to get their APIs running, maybe it would be a good idea to transform uvicorn into a dependency of asymmetric and provide a CLI command for running the API directly from asymmetric (something like asymmetric run module). Another option would be to conditionally import uvicorn with a try/except piece of code, provide the run CLI option and fail if uvicorn isn't installed. That could be a nice compromise (not requiring uvicorn if you're going to use another ASGI server to serve your API, but having the command in case someone wants to just plug and play, given that they also install uvicorn to be able to run it). The last option would be simply not to include a run command, and writing good documentation about ways to start the API that are very friendly to people new to the API development world.

Complete tests coverage

The coverage of the tests should be of at least 95% for asymmetric. New tests should be written in order to achieve this.

Give support to Starlette middleware

Given that Starlette is the underlying technology here, it would be nice not to lose its middleware features. Maybe they already work, but that should be tested and, if not present, added.

Better type declaration detection

For now, asymmetric only detects when a type declaration is a standard type (int, str, float, etc...), but it doesn't detect more complex structures (such as a union, for example). The detection method should be comprehensive and understand all the possible types and return the correct schema for the OpenAPI spec.

Create a documentation website

asymmetric should have a documentation website in which all the main documentation should live. It could include handy examples to help new users getting up and running in the fastest way possible.

Parse and validate URLs for callback requests

The headers for a callback request should include the URL to call after finishing the function processing. Before executing the underlying function, asymmetric should make sure that the given URL is a valid URL, and fail if it isn't.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.