Impose authorization requirements on Flask routes
Project description
flask-allows
Are your permissions making too much noise all the time? Are your permissions stomping all over your actual code? Are your permission decorators clawing at your line count all the time? Think there’s no answer? There is! Flask-Allows.
Flask-Allows is an authorization tool for Flask inspired by django-rest-framework’s permissioning system and rest_condition’s ability to compose simple requirements into more complex ones.
Installation
Flask-Allows is available on pypi and installable with:
pip install flask-allows
Flask Allows supports 2.7, and 3.4+. Support for 3.3 was ended in the version 0.3 release.
More Information
For more information, please visit the documentation.
Found a bug, have a question, or want to request a feature? Here is our issue tracker.
Need the source code? Here is the repository
Change Log
Version 0.7.1 (2018-10-03)
Added requirement name to deprecation message to make tracking down user-only requirements warnings easier.
Version 0.7 (2018-09-03)
Added flask_allows.view.guard_entire and flask_allows.views.exempt_from_requirements to make protecting entire blueprints easier.
Added __all__ export markers to flask_allows modules to prevent accidental re-export of other symbols when using from flask_allows.module import *
Version 0.6 (2018-05-26)
Permission no longer needs an application context for construction but does require one for evaluation now.
Added Allows.run a public helper that performs the complete fulfill and fail cycle. This cleans up the duplication between Allows.requires, requires and Permission.__enter__
Removed Permission.throw_type
Removed PermissionedView, PermissionedMethodView
Added ability to disable requirements already registered on routes and inside handlers via the flask_allows.overrides.OverrideManager class
Added ability to add more requirements to be run during checks on routes and other handlers via the flask_allows.additional.AdditionalManager class
Version 0.5.1 (2018-04-22)
Added wants_request to ease transition to user only requirements
Version 0.5 (2018-04-17)
Real documentation
Accepting request in requirements is now deprecated, pending removal in 1.0
Promoted internal _allows context local to part of the public interface
- Bug Fix: ConditionalRequirement returned False when no requirements were provided
it now returns True and mimics the behavior of all better
Version 0.4 (2017-08-29)
Clarify deprecation message for PermissionedView, will be removed in 0.6
Deprecate Permission.throw_type for 0.6 removak
Add optional on_fail for allows.requires and requires decoration
Fix coverage path problem with local testing
Version 0.3.2 (2017-08-29)
Fix package data not being included
Version 0.3.1 (2017-08-20)
Fix error that prevent sdist builds on 2.7
Version 0.3 (2017-08-20)
Drop official support for Python 3.3
Deprecate implicit decoration on class based views via the requirements attribute
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 flask-allows-0.7.1.tar.gz
.
File metadata
- Download URL: flask-allows-0.7.1.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6760e9ef6692cfbae8d50d4c16b987618301bc7ddc55b7667e1bc9cf3287aa0 |
|
MD5 | f0d00964e96ce6a37269bcbc52f876ee |
|
BLAKE2b-256 | d490caa1eea65cf2d2e4d9d6be79ef7f4dfba4d36026110902e1c9e78c861486 |
File details
Details for the file flask_allows-0.7.1-py2.py3-none-any.whl
.
File metadata
- Download URL: flask_allows-0.7.1-py2.py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d30304801536c20e903605697a013de7106e02f2ab61c7243318f7a98980c044 |
|
MD5 | 9ea0d26b42e85d43ed60940a5aaf724e |
|
BLAKE2b-256 | 4a4eccd3a92eb331f1f2652f62cba496d28f3f9771888c3f467fe95f97b91562 |