Sakyum
An extension of flask web framework that erase the complexity of structuring flask project blueprint, packages, and other annoying stuffs.
Installation
Install and update the latest release from pypi. Basically the library was uploaded using sdist (Source Distribution) and bdist_wheel (Built Distribution), this software (library) as from v0.0.9 it is compatible and also tested with windows OS and others as well, such as linux, macOS and possibly some others too!.
pip install --upgrade sakyum
Create flask project using sakyum
After the installation paste the following command on your termianl
python -c "from sakyum import project; project('schoolsite')"
This will create a project called schoolsite now cd into the schoolsite directory, if you do ls within the directory you just enter you will see a module called thunder.py and some directories (some in the form of package) media, static, templates and a directory with the same name of your base directory name, in our case it is schoolsite.
Boot up the flask server by running the below command
python thunder.py boot
Now visit the local url http://127.0.0.1:5000 this will show you index page of your project
Create flask app within your project (schoolsite)
For you to start an app within your project schoolsite shutdown the flask development server by pressing ( CTRL+C ) and then run the following command, by giving the name you want your app to be, in our case we will call our app exam
python thunder.py create_app -a exam
this will create an app (a new package called exam) within your project (schoolsite)
Register an app
Once the app is created open a file schoolsite/routes.py and import your exam blueprint which is in (exam/views.py), default name given to an app blueprint, is the app name so our exam app blueprint name is exam, after importing it, append (register) the app blueprint in a list called reg_blueprints in that same file of schoolsite/routes.py
importing blueprint
from exam.views import exam
registering blueprint
reg_blueprints = [
blueprint.default,
blueprint.errors,
blueprint.auth,
base,
exam,
]
once you register the app, boot up the flask webserver again by
python thunder.py boot
visit http://127.0.0.1:5000 which is your project landing page
visit http://127.0.0.1:5000/exam this will take you to your app landing page (exam)
visit http://127.0.0.1:5000/admin this will take you to admin page. From there you are ready to go.
See more documentations here!
Sakyum default page
Useful links
- Documentation: https://sakyum.readthedocs.io
- Repository: https://github.com/usmanmusa1920/sakyum
- Docker example: https://github.com/usmanmusa1920/sakyum/tree/master/example/sakyum-docker
Pull requests are welcome
Change Log
0.0.12 (23/june/2023)
- Twelveth Release
Testing for OS compatibility also again! again!! again!!!
- Eleventh Release
Testing for OS compatibility again! again!! again!!!
- Tenth Release
Testing for OS compatibility again
- Nineth Release
Fixing bugs
Fixing v0.0.8 bugs for OS compatibility, and also tested on windows OS
- Eight Release
OS compatibility
Making sakyum to be compatible with windows OS as well as other OS
- Seventh Release
This release mostly is for adding more docs and examples.
- Sixth Release
Alembic is included as dependency (in the require module list).
- Fifth Release
In fifith release, we handle how default user file system tricks is, things like when user change his profile picture.
- Fourth Release
In this release we handle how we can customise the admin html page by inheriting (extends) it in our project templates/admin directory, and the admin page on how to bind models in the admin. Also I refactor other libraries that this package needs with their corresponding versions in the setup.py and requirements.txt files. In this release good documentations is well packed.
Database migration is added using alembic
Some error pages, default page were added but still you can customise it in your project sub folder (the package with the same name of your project in your project directory) in a file called route.py. Also an admin directory within your project templates folder is added too!
Possibly other well things are added which include auth system for users and more.
Metadata
Release files for sakyum 0.0.12
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 |
|---|---|---|---|---|
| sakyum-0.0.12.tar.gz | 35.7 kB | Without provenance | Details for sakyum-0.0.12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sakyum-0.0.12-py3-none-any.whl | Python 3 | none | any | Details for sakyum-0.0.12-py3-none-any.whl |
Total release size: 82.5 kB
Release files / sakyum-0.0.12.tar.gz
| Download URL | sakyum-0.0.12.tar.gz |
|---|---|
| Size | 35.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2d5e8400e179cc7a7fa8e75f8585fc71b2ca44607971e23fa8d0d86f06d1020c
|
|
BLAKE2b-256 checksum How to use checksums |
02f99a58ce5bfe08cb02cb778001e1fbe0e86523015f1d009217dbb203f700db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.12
|
Release files / sakyum-0.0.12-py3-none-any.whl
| Download URL | sakyum-0.0.12-py3-none-any.whl |
|---|---|
| Size | 46.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d39dd64794f9883255c9cd392c8797d66d94d7ebcc1787d02674a8844501d77a
|
|
BLAKE2b-256 checksum How to use checksums |
e21d13385b099733ff3f619232c78dcaaa5760ce5d82221e8dc424ae0f11b8d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.12
|
Security for sakyum 0.0.12
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.