.. default-role:: code
.. role:: python(code)
:language: python
.. image:: https://codecov.io/gl/skosh/falcon-helpers/branch/master/graph/badge.svg
:target: https://codecov.io/gl/skosh/falcon-helpers
.. image:: https://gitlab.com/skosh/falcon-helpers/badges/master/pipeline.svg
:target: https://gitlab.com/skosh/falcon-helpers/commits/master
==============
Falcon Helpers
==============
A number of helpful utilities to make working with Falcon Framework a breeze.
Quickstart
----------
.. code:: sh
$ pip install falcon-helpers
.. code::
import falcon
import falcon_helpers
api = falcon.App(
middlewares=[
falcon_helpers.middlewares.StaticsMiddleware()
]
)
Development
-----------
1. Create a Python 3.10 virtual environment, and activate it.
2. ``pip install -e .[dev]``
3. ``pytest`` or run ``tox`` and verify the tests pass.
0.20.0 - 2024-02-12
###################
* [BREAK] Require marshmallow 3
0.19.0 - 2023-02-06
###################
* [BREAK] Require pyjwt>=2.4 due to https://pyup.io/vulnerabilities/CVE-2022-29217/48542/
0.18.0 - 2023-01-20
###################
* [NEW] Support falcon 3
* [NEW] Support Python 3.10
* [BREAK] Require falcon 3
* [BREAK] Limit some dependency versions
* [BREAK] Rename ``app.API`` to ``app.App`` in `accordance with falcon <https://github.com/falconry/falcon/issues/1579>`_
0.17.1 - 2020-11-04
###################
* [BUG] Rollback SQLA session when an error occurs before resource middleware is run (b455800_)
.. _b455800: https://github.com/nZac/falcon-helpers/commit/b455800f904ce7f22b49f8edd807b8451572c7e2
0.17.0 - 2018-10-17
###################
* [FEAT] Add some usefule logging features
* [FEAT] Add Logging to MultiMiddleware
* [BUG] Fix User REPR
* [BUG] Report Integrity Errors with Useful Messages
0.16.1 - 2018-06-27
###################
* [BUG] Cleanup Storage Logging Error (7a756d6_)
.. _7a756d6: https://gitlab.com/skosh/falcon-helpers/commit/7a756d6
0.16.0 - 2018-06-25
###################
* [FEAT] Create a New Base API Implementation (ed3f715_)
* [BUG] Squash a bunch of bugs
.. _ed3f715: https://gitlab.com/skosh/falcon-helpers/commit/ed3f715
0.15.3 - 2018-06-18
###################
* [FEAT] Fetching a file pointer in storage allows you to set the mode.
0.15.2 - 2018-06-06
###################
* [FEAT] Support passing S3 configuration to storages
* [BREAK] Default to using V4 of the AWS presigned key
0.15.1 - 2018-06-06
###################
* [FEAT] Allow column_filters to use non-entity columns
0.15.0 - 2018-06-02
###################
* [FEAT] Add Support for easier PUT updates (31d6175_)
.. _31d6175: https://gitlab.com/skosh/falcon-helpers/commit/31d6175
0.14.0 - 2018-06-01
###################
* [BREAK] Remove Statics Middleware
* [NEW] Add a simple Sentry Plugin
* [NEW] Create a server CLI
0.13.0 - 2018-05-22
###################
* [BREAK] SQLAlchemy Session is now a global (9d5d220_)
* [FEAT] Implement fetching from storage environments (7f7fc01_)
* [NEW] Add a basic Mapping type for Configuration objects (1884577_)
* [BUG] Allow None for Storage Paths (e3b625d_)
.. _9d5d220: https://gitlab.com/skosh/falcon-helpers/commit/9d5d220
.. _7f7fc01: https://gitlab.com/skosh/falcon-helpers/commit/7f7fc01
.. _1884577: https://gitlab.com/skosh/falcon-helpers/commit/1884577
.. _e3b625d: https://gitlab.com/skosh/falcon-helpers/commit/e3b625d
0.12.0 - 2018-04-15
###################
* [FEAT] Create Key Based Filtering
0.11.4 - 2018-04-05
###################
* [FEAT] Allow specifying your own default page size for ListBase
0.11.3 - 2018-03-31
###################
* [FEAT] Allow passing additional data to generate auth token
0.11.2 - 2018-03-30
###################
* [BUG] Remove Stray PDB
0.11.1 - 2018-03-30
###################
* [FEAT] Add hook to for deleting an object in CrudBase
0.11.0 - 2018-03-29
###################
* [FEAT] Add filter by field name on ListBase
* [FEAT] Allow turning off auto-marshalling
* [BUG] Session closing could fail with exceptions
0.10.1 - 2018-03-05
###################
* [FEAT] Added a remove function to storage backends
0.10.0 - 2018-03-03
###################
* [NEW] We now have a CI system with CodeCoverage
* [FEAT] You can now user auth_marshal=False to turn off auto JSON marshaling to Marshmallow
* [FEAT] Added a few helpful functions on auth.user
* [BUG] Fixed object deletion of CrudBase (which was what kicked the CI setup into high-gear)
0.9.6 - 2018-03-02
##################
* [BUG] Forgot a self
0.9.5 - 2018-03-01
##################
* [NEW] get_object was implemented for CrudBase
* [FEAT] has_permission now supports an enum type
* [NEW] kwargs is now used on CrudBase
0.9.3 - 2018-02-28
##################
* [BUG] Fix an issue with binary file opening
* [BUG] Utilize the correct exception with CRUD Base
0.9.2 - 2018-02-27
##################
[CHANGE] Add in fuzzy testing for nullable ORM columns
0.9.1 - 2018-02-24
##################
* [BUG] Add the Falcon-Multipart Requirement
0.9.0 - 2018-02-23
##################
* [FEAT] Added Support to Downloading
* [CHANGE] Renamed contrib.upload to contrib.storage
0.8.0 - 2018-02-23
##################
* [NEW] Add a Basic File Storage System (7c0bd4b_)
* [FEAT] CRUD resources now support \*\*kwargs (1d4543_)
.. _7c0bd4b: https://gitlab.com/skosh/falcon-helpers/commit/7c0bd4b
.. _1d4543: https://gitlab.com/skosh/falcon-helpers/commit/1d4543
0.7.0 - 2018-02-15
##################
** [NEW] Added a CRUD Base Library
** [FEAT] Added a token generation method to the user
** [CHANGE] Cleaned up the REPR for permissions entity
** [CHANGE] Only close the SA session when failure occurs
** [FIX] auth_required accepts the proper arguments
0.6.1 - 2017-12-15
##################
** [BUG] Add a req/resp to failed action functions
** [FEAT] Make ParseJWTMiddleware available at the middleware level
** [BUG] Allow setting of the get_id function
0.6.0 - 2017-12-15
##################
** [NEW] Added a global SQLAlchemy Scoped Session to facilitate testing and other items
** [CHANGE] AuthRequiredMiddleware was split into two and there is a new ParseJWTMiddleware
** [BUG] Cleaned up a number of issues with the way SQLAlchemy ORM is being used
0.5.0 - 2017-12-02
##################
+* [NEW] A brand-spanking new permission system with users, groups, and permissions
+* [FEAT] Post-login redirect is now configurable.
+* [FEAT] Create a simple redirection resource
+* [FEAT] Jinja2 Middleware can take application globals to inject into the template
+* [FEAT] Added a mixin for testing entities
0.4.2 - 2017-10-25
==================
* Enable Auth Middleware to always run. Helpful when then entire application is
an API that requires authentication.
0.4.1 - 2017-10-19
==================
* Fix issue with importing Marshmallow Middleware
0.4.0 - 2017-10-14
==================
* Added Marshmallow Middleware for auto schema loading (655cf76_)
.. _655cf76: https://gitlab.com/skosh/falcon-helpers/commit/655cf76
0.3.1 - 2017-10-09
==================
* [FEAT] Add a number of helpful SQLAlchemy Features
0.3.0 - 2017-10-07
==================
* [FEAT] Setup SQLAlchemy
* [BUG] Install cryptography for JWT's with RSA algo
0.2.1 - 2017-10-07
==================
* Fix issue when using HS256 tokens for authentication
0.2.0 - 2017-09-23
==================
* Release the Package and update the source location
0.1.0 - 2017-08-22
==================
* Added StaticsMiddleware
Raw data
{
"_id": null,
"home_page": "https://github.com/level12/falcon-helpers",
"name": "falcon-helpers",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Nick Zaccardi",
"author_email": "nicholas.zaccardi@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/31/5a/f70f7056e50a42be71672bd66d8cc46c7b086d4b9d6f95499c9ab44bb55b/falcon-helpers-0.20.0.tar.gz",
"platform": null,
"description": ".. default-role:: code\n.. role:: python(code)\n :language: python\n\n\n.. image:: https://codecov.io/gl/skosh/falcon-helpers/branch/master/graph/badge.svg\n :target: https://codecov.io/gl/skosh/falcon-helpers\n\n.. image:: https://gitlab.com/skosh/falcon-helpers/badges/master/pipeline.svg\n :target: https://gitlab.com/skosh/falcon-helpers/commits/master\n\n\n==============\nFalcon Helpers\n==============\n\nA number of helpful utilities to make working with Falcon Framework a breeze.\n\n\nQuickstart\n----------\n\n.. code:: sh\n\n $ pip install falcon-helpers\n\n\n.. code::\n\n import falcon\n import falcon_helpers\n\n api = falcon.App(\n middlewares=[\n falcon_helpers.middlewares.StaticsMiddleware()\n ]\n )\n\n\nDevelopment\n-----------\n1. Create a Python 3.10 virtual environment, and activate it.\n2. ``pip install -e .[dev]``\n3. ``pytest`` or run ``tox`` and verify the tests pass.\n\n\n0.20.0 - 2024-02-12\n###################\n* [BREAK] Require marshmallow 3\n\n0.19.0 - 2023-02-06\n###################\n* [BREAK] Require pyjwt>=2.4 due to https://pyup.io/vulnerabilities/CVE-2022-29217/48542/\n\n0.18.0 - 2023-01-20\n###################\n* [NEW] Support falcon 3\n* [NEW] Support Python 3.10\n* [BREAK] Require falcon 3\n* [BREAK] Limit some dependency versions\n* [BREAK] Rename ``app.API`` to ``app.App`` in `accordance with falcon <https://github.com/falconry/falcon/issues/1579>`_\n\n0.17.1 - 2020-11-04\n###################\n\n* [BUG] Rollback SQLA session when an error occurs before resource middleware is run (b455800_)\n\n.. _b455800: https://github.com/nZac/falcon-helpers/commit/b455800f904ce7f22b49f8edd807b8451572c7e2\n\n\n0.17.0 - 2018-10-17\n###################\n\n* [FEAT] Add some usefule logging features\n* [FEAT] Add Logging to MultiMiddleware\n\n* [BUG] Fix User REPR\n* [BUG] Report Integrity Errors with Useful Messages\n\n\n0.16.1 - 2018-06-27\n###################\n\n* [BUG] Cleanup Storage Logging Error (7a756d6_)\n\n.. _7a756d6: https://gitlab.com/skosh/falcon-helpers/commit/7a756d6\n\n\n0.16.0 - 2018-06-25\n###################\n\n* [FEAT] Create a New Base API Implementation (ed3f715_)\n* [BUG] Squash a bunch of bugs\n\n.. _ed3f715: https://gitlab.com/skosh/falcon-helpers/commit/ed3f715\n\n\n0.15.3 - 2018-06-18\n###################\n\n* [FEAT] Fetching a file pointer in storage allows you to set the mode.\n\n\n0.15.2 - 2018-06-06\n###################\n\n* [FEAT] Support passing S3 configuration to storages\n* [BREAK] Default to using V4 of the AWS presigned key\n\n\n0.15.1 - 2018-06-06\n###################\n\n* [FEAT] Allow column_filters to use non-entity columns\n\n\n0.15.0 - 2018-06-02\n###################\n\n* [FEAT] Add Support for easier PUT updates (31d6175_)\n\n.. _31d6175: https://gitlab.com/skosh/falcon-helpers/commit/31d6175\n\n\n0.14.0 - 2018-06-01\n###################\n\n* [BREAK] Remove Statics Middleware\n* [NEW] Add a simple Sentry Plugin\n* [NEW] Create a server CLI\n\n\n0.13.0 - 2018-05-22\n###################\n\n* [BREAK] SQLAlchemy Session is now a global (9d5d220_)\n* [FEAT] Implement fetching from storage environments (7f7fc01_)\n* [NEW] Add a basic Mapping type for Configuration objects (1884577_)\n* [BUG] Allow None for Storage Paths (e3b625d_)\n\n.. _9d5d220: https://gitlab.com/skosh/falcon-helpers/commit/9d5d220\n.. _7f7fc01: https://gitlab.com/skosh/falcon-helpers/commit/7f7fc01\n.. _1884577: https://gitlab.com/skosh/falcon-helpers/commit/1884577\n.. _e3b625d: https://gitlab.com/skosh/falcon-helpers/commit/e3b625d\n\n\n0.12.0 - 2018-04-15\n###################\n\n* [FEAT] Create Key Based Filtering\n\n\n0.11.4 - 2018-04-05\n###################\n\n* [FEAT] Allow specifying your own default page size for ListBase\n\n\n0.11.3 - 2018-03-31\n###################\n\n* [FEAT] Allow passing additional data to generate auth token\n\n0.11.2 - 2018-03-30\n###################\n\n* [BUG] Remove Stray PDB\n\n0.11.1 - 2018-03-30\n###################\n\n* [FEAT] Add hook to for deleting an object in CrudBase\n\n\n0.11.0 - 2018-03-29\n###################\n\n* [FEAT] Add filter by field name on ListBase\n* [FEAT] Allow turning off auto-marshalling\n* [BUG] Session closing could fail with exceptions\n\n\n0.10.1 - 2018-03-05\n###################\n\n* [FEAT] Added a remove function to storage backends\n\n\n0.10.0 - 2018-03-03\n###################\n\n* [NEW] We now have a CI system with CodeCoverage\n* [FEAT] You can now user auth_marshal=False to turn off auto JSON marshaling to Marshmallow\n* [FEAT] Added a few helpful functions on auth.user\n* [BUG] Fixed object deletion of CrudBase (which was what kicked the CI setup into high-gear)\n\n\n0.9.6 - 2018-03-02\n##################\n\n* [BUG] Forgot a self\n\n0.9.5 - 2018-03-01\n##################\n\n* [NEW] get_object was implemented for CrudBase\n* [FEAT] has_permission now supports an enum type\n* [NEW] kwargs is now used on CrudBase\n\n\n0.9.3 - 2018-02-28\n##################\n\n* [BUG] Fix an issue with binary file opening\n* [BUG] Utilize the correct exception with CRUD Base\n\n\n0.9.2 - 2018-02-27\n##################\n\n[CHANGE] Add in fuzzy testing for nullable ORM columns\n\n\n0.9.1 - 2018-02-24\n##################\n* [BUG] Add the Falcon-Multipart Requirement\n\n\n0.9.0 - 2018-02-23\n##################\n\n* [FEAT] Added Support to Downloading\n* [CHANGE] Renamed contrib.upload to contrib.storage\n\n\n0.8.0 - 2018-02-23\n##################\n\n* [NEW] Add a Basic File Storage System (7c0bd4b_)\n* [FEAT] CRUD resources now support \\*\\*kwargs (1d4543_)\n\n.. _7c0bd4b: https://gitlab.com/skosh/falcon-helpers/commit/7c0bd4b\n.. _1d4543: https://gitlab.com/skosh/falcon-helpers/commit/1d4543\n\n\n0.7.0 - 2018-02-15\n##################\n\n** [NEW] Added a CRUD Base Library\n** [FEAT] Added a token generation method to the user\n** [CHANGE] Cleaned up the REPR for permissions entity\n** [CHANGE] Only close the SA session when failure occurs\n** [FIX] auth_required accepts the proper arguments\n\n\n0.6.1 - 2017-12-15\n##################\n\n** [BUG] Add a req/resp to failed action functions\n** [FEAT] Make ParseJWTMiddleware available at the middleware level\n** [BUG] Allow setting of the get_id function\n\n\n0.6.0 - 2017-12-15\n##################\n\n** [NEW] Added a global SQLAlchemy Scoped Session to facilitate testing and other items\n** [CHANGE] AuthRequiredMiddleware was split into two and there is a new ParseJWTMiddleware\n** [BUG] Cleaned up a number of issues with the way SQLAlchemy ORM is being used\n\n\n0.5.0 - 2017-12-02\n##################\n\n+* [NEW] A brand-spanking new permission system with users, groups, and permissions\n+* [FEAT] Post-login redirect is now configurable.\n+* [FEAT] Create a simple redirection resource\n+* [FEAT] Jinja2 Middleware can take application globals to inject into the template\n+* [FEAT] Added a mixin for testing entities\n\n0.4.2 - 2017-10-25\n==================\n* Enable Auth Middleware to always run. Helpful when then entire application is\n an API that requires authentication.\n\n0.4.1 - 2017-10-19\n==================\n\n* Fix issue with importing Marshmallow Middleware\n\n0.4.0 - 2017-10-14\n==================\n\n* Added Marshmallow Middleware for auto schema loading (655cf76_)\n\n.. _655cf76: https://gitlab.com/skosh/falcon-helpers/commit/655cf76\n\n\n0.3.1 - 2017-10-09\n==================\n\n* [FEAT] Add a number of helpful SQLAlchemy Features\n\n0.3.0 - 2017-10-07\n==================\n\n* [FEAT] Setup SQLAlchemy\n* [BUG] Install cryptography for JWT's with RSA algo\n\n0.2.1 - 2017-10-07\n==================\n* Fix issue when using HS256 tokens for authentication\n\n0.2.0 - 2017-09-23\n==================\n* Release the Package and update the source location\n\n0.1.0 - 2017-08-22\n==================\n\n* Added StaticsMiddleware\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "A few helpful tools to make working with the falcon framework a real joy!",
"version": "0.20.0",
"project_urls": {
"Homepage": "https://github.com/level12/falcon-helpers"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "41274a2c1c8187475cea16c3d88fc79718829b592ec629b0d48bca6ee247145a",
"md5": "96b1afd981a58b8ad456201ece1d225b",
"sha256": "e0d07221c2a15cc9f0c5cc22d9f2766767222c6534b0891b18dc100fcd0cbc04"
},
"downloads": -1,
"filename": "falcon_helpers-0.20.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "96b1afd981a58b8ad456201ece1d225b",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 52178,
"upload_time": "2024-02-12T20:35:09",
"upload_time_iso_8601": "2024-02-12T20:35:09.926237Z",
"url": "https://files.pythonhosted.org/packages/41/27/4a2c1c8187475cea16c3d88fc79718829b592ec629b0d48bca6ee247145a/falcon_helpers-0.20.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "315af70f7056e50a42be71672bd66d8cc46c7b086d4b9d6f95499c9ab44bb55b",
"md5": "bc3f775e04d8ea4c379deae705cbd123",
"sha256": "817fe35d6fa1a517daf15293be6424cb239c01fe9700df1956409ed5e79df93e"
},
"downloads": -1,
"filename": "falcon-helpers-0.20.0.tar.gz",
"has_sig": false,
"md5_digest": "bc3f775e04d8ea4c379deae705cbd123",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 40232,
"upload_time": "2024-02-12T20:35:14",
"upload_time_iso_8601": "2024-02-12T20:35:14.266307Z",
"url": "https://files.pythonhosted.org/packages/31/5a/f70f7056e50a42be71672bd66d8cc46c7b086d4b9d6f95499c9ab44bb55b/falcon-helpers-0.20.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-12 20:35:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "level12",
"github_project": "falcon-helpers",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"tox": true,
"lcname": "falcon-helpers"
}