Zemfrog is a simple framework based on flask for building a REST API quickly.
Project description
zemfrog
Zemfrog is a simple framework based on flask for building a REST API quickly. Which focuses on building a customizable, flexible and manageable REST API!
This project is heavily inspired by FastAPI and Django Framework.
Notes
The project is still in BETA version, which means that all the APIs in it are still unstable. Please be careful if you want to use it in a production environment! thanks.
Why zemfrog?
Zemfrog is equipped with advanced features including:
Solid application structure.
Automatically generate REST API.
Built-in JWT authentication.
RBAC support.
Automatically generate API documentation (swagger-ui).
Background jobs support.
Database migration based on application environment.
And much more…
Donate & Support
Keep in mind that donations are very important to me, because currently I am working alone to develop this project. It takes a lot of time and energy. If this project is useful, please give me any support. I really appreciate it.
And also you can donate your money via:
Links
Homepage: https://github.com/zemfrog/zemfrog
Documentation: https://zemfrog.readthedocs.io
License: MIT
Credits
History
1.0.0 (2020-09-03)
First release on PyPI.
1.0.1 (2020-09-07)
Automation create (CRUD) API
Update template API
Update zemfrog release information.
1.0.2 (2020-09-08)
Update API structure
1.0.3 (2020-09-08)
re-upload
1.0.4 (2020-09-09)
fix manifest file
1.0.5 (2020-09-10)
add command boilerplate
add schema command
1.0.6 (2020-09-15)
add jwt authentication
refactor blueprint boilerplate
add send async email
fix celery
1.0.7 (2020-09-19)
Fix: #8
flask-apispec integration.
improve authentication.
add default schema models.
Fix: rest api boilerplate
IMPROVE: Added a prompt if a schema model exists.
IMPROVE: add zemfrgo to requirements
DOC: add README to project boilerplate
1.0.8 (2020-10-03)
1.0.9 (2020-10-05)
1.2.0 (2020-10-19)
NEW: add load urls
NEW: add load middlewares
NEW: middleware boilerplate.
NEW: multiple apps support
Fix minor bugs
1.2.1 (2020-10-27)
New Feature: added prompt to manage the app.
moved mail dir to templates/emails
add api_doc & authenticate decorator.
NEW: add swagger oauth2.
NEW: add first_name & last_name column.
IMPROVE: Support creating REST API descriptions via function documents.
Refactor Code: Rename and add field validation.
Code Change: update REST API structure.
1.2.2 (2020-10-28)
Refactor generator
New Feature: add error handler
1.2.3 (2020-11-13)
Adding: current_db local proxy
rename services directory to tasks
1.2.4 (2020-11-14)
support multiple static files
Add an endpoint to validate the password reset token
fix #37
1.2.5 (2020-11-18)
NEW: add extension, model, task generator
Refactor Code: add model mixin
add command user, role & permission
FIX: auth logs
New Feature: supports role-based access control
1.2.6 (2020-11-21)
IMPROVE: commands to manage nested applications
Added endpoint for checking token jwt
Add an endpoint to retrieve one data from the model
Add schema to limit results
Added a handler for handling API errors
1.2.7 (2020-11-24)
FIX: user checks in the test token endpoint
NEW: support for creating your own app loader
FIX: Make user roles optional
FIX: #49
2.0.1 (2020-12-20)
Refactoring app loaders
IMPROVE: REST API, models & validators
IMPROVE: added template checks
IMPROVE: add password validator
IMPROVE: Compatible with frontend nuxtjs
NEW: add flask-cors extension
2.0.2 (2020-12-20)
fix: missing flask-cors dependency
2.0.3 (2020-12-20)
IMPROVE: clean up dependencies
3.0.1 (2020-12-20)
add command secretkey
Fix: varchar length
Added db migration based on environment
Stable release
4.0.1 (2021-03-04)
IMPROVE: Move extensions to global
NEW: add pre-commit tool
IMPROVE: refactor json response
Refactor Code: run pre-commit
IMPROVE: Change ‘SystemExit’ to ‘ValidationError’
IMPROVE: Rename the api directory to apis
NEW: add autoflake hook
Changed the stable version status to BETA
4.0.2 (2021-03-05)
FIX: response message in jwt & error handler boilerplate
FIX: update zemfrog version in requirements.txt
4.0.3 (2021-03-17)
Add pre-commit to requirements-dev.txt
4.0.4 (2021-03-31)
FIX: role & permission relation
FIX: typo column name
IMPROVE: split blueprint and task to global
IMPROVE: split error handlers to global
IMPROVE: set default blueprint to blank
IMPROVE: Use schema from source rather than local proxy
IMPROVE: Using the model name corresponding user input
4.0.5 (2021-04-01)
FIX: Load the blueprint name
FIX: unknown column
NEW: added codecov workflow (testing)
NEW: add default value to ‘confirmed’ column
5.0.1 (2021-04-10)
Flask-smorest integration. Based on #63
Refactor Code: added scaffolding
FIX: use ‘alt_response’ instead of ‘response’ to wrap multiple responses.
FIX: configuration to enable / disable OpenAPI
IMPROVE: no longer supports to load main urls
IMPROVE: Add a command description to the sub application
IMPROVE: use ‘subprocess.call’ instead of ‘os.system’
Change the name of the password reset request template
create pyup.io config file
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 zemfrog-5.0.1.tar.gz
.
File metadata
- Download URL: zemfrog-5.0.1.tar.gz
- Upload date:
- Size: 85.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa00dd996b20df6033ad6b66b799725dcd6e4fcb2f6969b4ffa1158001a8e2b2 |
|
MD5 | b6bb202043d650550359b855f891957e |
|
BLAKE2b-256 | 8fea5f98358c07eb79040cbf205ab7e35c0e9f82ff86a8fab0abd6620f8dbd82 |
File details
Details for the file zemfrog-5.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: zemfrog-5.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 45.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f23f13f3a938ea022a689f7b6f2d79cbb22ea62f55d1b2656bb3da0454aadf70 |
|
MD5 | a4b2df3fa3d124c45a0c5f4d82f056e6 |
|
BLAKE2b-256 | d64c5cc65a4a9e42d098a007668e67f7f948d1c5353c45966d3e695ade745593 |