Our goal is to build a platform with the following principles in mind.
Enable developers to build apps and APIs fast. There are a lot of tools that speed up deployment to FAAS but not many that help right code faster.
This shouldn't come as a surprise. Easy, fast, and global deployments is a staple of serverless applications and Capless is no different.
Cognito for authentication and authorization, Beaker based sessions for traditional web apps, JWTs for APIs, and free SSL certs using AWS ACM.
Developers should get a lot of things with little to no effort (admin site, REST APIs, security, API docs and more).
Make it easy for developers and end users to share apps. This is the main reason we refer to Capless as a platform and not a framework.
Here some of the projects used in Capless.
Python helper library for interacting with AWS Cognito. This library's claim to fame is it's support for AWS' SRP protocol.
K.E.V. (Keys, Extra Stuff, and Values) is a Python ORM for key-value stores. Currently backends are Redis, S3, and a S3/Redis backend.
Python Forms Library with Jinja2 Templates that is secured with CSRF based on Beaker sessions. Based on Valley.
Python library for generating AWS SAM (Serverless Application Model) templates with validation.
Valley provides the model for validating properties and utilities to make building declarative syntax validation libraries easier.
Easy access of environment variables with support for booleans, strings, lists, tuples, integers, floats, and dicts.