falcon-helpers


Namefalcon-helpers JSON
Version 0.20.0 PyPI version JSON
download
home_pagehttps://github.com/level12/falcon-helpers
SummaryA few helpful tools to make working with the falcon framework a real joy!
upload_time2024-02-12 20:35:14
maintainer
docs_urlNone
authorNick Zaccardi
requires_python
licenseBSD
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            .. 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"
}
        
Elapsed time: 0.18795s