The Progressive Meta Framework for API Development

Streamline your backend workflow using UtilMeta's declarative power

pip install utilmeta

What you define is
What you get

Declarative API & ORM, clear and efficient

Easy to use, easy to read

Auto validate request

Auto generate OpenAPI docs

python
from utilmeta.core import api, orm
from django.db import models
from .models import User, Article

class UserSchema(orm.Schema[User]):
    username: str
    articles_num: int = models.Count('articles')

class ArticleSchema(orm.Schema[Article]):
    id: int
    author: UserSchema
    content: str

class ArticleAPI(api.API):
    async def get(self, id: int) -> ArticleSchema:
        return await ArticleSchema.ainit(id)
GET
/article?id=1
200
json
{
  "id": 1,
  "author": {
    "username": "alice",
    "articles_num": 3
  },
  "content": "hello world"
}
QUERY PARAMETERS
- id *
integer
RESPONSE application/json
- id
integer
- author
object
- username
string
- articles_num
integer
- content
string
Starlette
python
from utilmeta import UtilMeta
from utilmeta.core import api
from config import configure
import starlette

service = UtilMeta(
    __name__,
    name='blog',
    backend=starlette,
)
configure(service)
from blog.api import ArticleAPI

@service.mount
class RootAPI(api.API):
    article: ArticleAPI

app = service.application()   # wsgi / asgi

if __name__ == '__main__':
    service.run()

Integrate your favorite backend

UtilMeta can use any mainstream python framework as runtime backend, you can also integrate UtilMeta API from you current project progressively

Full-lifecycle
DevOps solution

Monitor everything crucial
to your application instantaneously