Skip to main content

Upload Python Package Python application

Flask Blueprint autoinclude

A function to automatically register all flask-blueprints from a project.
register_blueprints from flask_bp_autoregister.blueprints


When using flask blueprints then after defining them you have to register them all this can possible look like this.

# in some config.py or __init__.py
def register_my_blueprints(used_flask_app: any):
    from my_app.views import home_views
    from my_app.views import package_views
    from my_app.views import account_views

    used_flask_app.register_blueprint(home_views.app_bp)
    used_flask_app.register_blueprint(package_views.app_bp)
    used_flask_app.register_blueprint(account_views.app_bp) 

# and then in your run.py or similar

from my_app import flask_app
from my_app import register_my_blueprints

register_my_blueprints(flask_app)

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

The register_blueprints code can get really long and you always have to remember where your blueprints are.


For this is had created a function register_blueprints which automatically will search for all blueprints in your project and register them.

from my_app import flask_app
from flask_bp_autoregister.blueprints import register_blueprints


register_blueprints(flask_app, 'my_project/src/my_app')


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

The path attribute is not really needed you can also use it without then all blueprints inside of the project will be registered automatically

from my_app import flask_app
from flask_bp_autoregister.blueprints import register_blueprints


register_blueprints(flask_app)


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

When you have some commented Blueprints inside of your project, register_blueprints will try to register them too
which will raise an AttributeError you can disable this with silent=True

from my_app import flask_app
from flask_bp_autoregister.blueprints import register_blueprints


register_blueprints(flask_app, silent=True) # will prevent raising AttributeError


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

Tested for Versions

  • 3.6, 3.7, 3.8

Installing

Versioning

  • For the versions available, see the tags on this repository.

Authors

  • Felix Eisenmenger - Initial work

License

  • This project is licensed under the MIT License - see the LICENSE.md file for details

Metadata

Release files for autoinclude-blueprints 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autoinclude-blueprints 1.0.1
File Size Uploaded
autoinclude_blueprints-1.0.1.tar.gz 3.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autoinclude-blueprints 1.0.1
File Interpreter ABI Platform
autoinclude_blueprints-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 10.0 kB

Release files / autoinclude_blueprints-1.0.1.tar.gz

Download URL autoinclude_blueprints-1.0.1.tar.gz
Size 3.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8c8475478aee32d1ed25984fe0a25a7a6643a65d996f8c610bd1d891ca32a3d8
BLAKE2b-256 checksum
How to use checksums
924b53ce84dddb9c93756d123297dcd0682571fbf7ede0ef47494e9a361a497d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

Release files / autoinclude_blueprints-1.0.1-py3-none-any.whl

Download URL autoinclude_blueprints-1.0.1-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2fdf3329f52f22ca44cb89ef0197669fc6d61f52fec017ecd422e774eb5f4250
BLAKE2b-256 checksum
How to use checksums
5d2400a141b001f8a8aef91fdea8e45026fc2e981e8bfc4f8e3dd3f2d602d038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page