Falca
Falca is an intuitive REST APIs framework.
Powered by https://falconframework.org/.
:warning: This is a BETA version please don't use it in a production environment. Thank you! :construction:
Goals of this project:
- Validates request body based on type hints.
- (Pydantic & Marshmallow) support as object serialization and deserialization
- Request body mapping
- Nested routers
- Plugin support
- Settings (Global Configuration) support
- Async Support
- Routing sub-application
- CLI
- Dependency injection
- Resource shortcut (
get,post,put,delete,websocket, etc)
Contribution
Do not hesitate!
if you want to contribute like bug fixes, feature additions, etc. Please read our contribution guidelines.
Also bug reports are welcome :)
Installation
Using pip:
pip install falca
Alternatively, clone this repository and go to the falca directory:
git clone https://github.com/aprilahijriyan/falca
cd falca
Initialize the environment with python v3.7 using poetry
poetry env use $(which python3.7)
Install dependencies
poetry install --no-dev
Usage
Let's see how beautiful it is
# app.py
from typing import Optional
from falca.app import ASGI
from falca.depends.pydantic import Query
from falca.responses import JSONResponse
from falca.serializers.pydantic import Schema
class LimitOffsetSchema(Schema):
limit: Optional[int]
offset: Optional[int]
class Simple:
async def on_get(self, query: dict = Query(LimitOffsetSchema)):
return JSONResponse(query)
app = ASGI(__name__)
app.add_route("/", Simple())
Save the code above with filename app.py
And run it with the command:
falca runserver
NOTE: For the ASGI app, you need to install uvicorn before running it.
Also for other examples, you can find them here
Metadata
Release files for falca 2.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| falca-2.4.0.tar.gz | 20.8 kB | Without provenance | Details for falca-2.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| falca-2.4.0-py3-none-any.whl | Python 3 | none | any | Details for falca-2.4.0-py3-none-any.whl |
Total release size: 50.0 kB
Release files / falca-2.4.0.tar.gz
| Download URL | falca-2.4.0.tar.gz |
|---|---|
| Size | 20.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a4a7221e4bcd35344f1d50e806ebf1a1f7a8a8b798288cefa1399b91173034a
|
|
BLAKE2b-256 checksum How to use checksums |
e02bf6fcce7864ec561707174472e2c65f6b95d231174150a8ca0d6982e3c04c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.7 CPython/3.8.2 Linux/5.8.0-1036-azure
|
Release files / falca-2.4.0-py3-none-any.whl
| Download URL | falca-2.4.0-py3-none-any.whl |
|---|---|
| Size | 29.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7a9b59723226fb9652979843c96ed30caba03aa1129295787aea4357cf830e73
|
|
BLAKE2b-256 checksum How to use checksums |
6d881b403fab88d38fa4d009ccbeefce5a094f6fc6a90ab5c35af55ae34be542
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.7 CPython/3.8.2 Linux/5.8.0-1036-azure
|
Security for falca 2.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.