Lemon is an async and lightweight API framework for python

Overview

Lemon logo

Build Status Coverage Status Codacy Badge

PyPi Version Python Version PyPI license FOSSA Status

Lemon is an async and lightweight API framework for python . Inspired by Koa and Sanic .

Documentation

https://pylemon.com

Installation

pip install -U pylemon

Hello Lemon

from lemon.app import Lemon
from lemon.context import Context

async def middleware(ctx: Context, nxt):
    ctx.body = {
        'msg': 'hello lemon'
    }
    await nxt()


async def handler(ctx: Context):
    ctx.body['ack'] = 'yeah !'

app = Lemon()

app.use(middleware, handler)

app.listen(port=9999)

Hello Lemon Router

from random import random

from lemon.app import Lemon
from lemon.context import Context
from lemon.router import Router


async def middleware(ctx: Context, nxt):
    ctx.body = {
        'msg': 'hello lemon'
    }
    await nxt()


async def handler1(ctx: Context):
    ctx.body['ack'] = 'yeah !'
    ctx.body['random'] = random()


async def handler2(ctx: Context):
    ctx.body = ctx.req.json


app = Lemon(debug=True)

router = Router()
router.get('/handler1', middleware, handler1)
router.post('/handler2', middleware, handler2)

app.use(router.routes())

app.listen()
Issues
  • code docs

    code docs

    Description

    add code docs

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Checklist:

    • [x] My code follows the code style of this project.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    opened by joway 6
  • add docs and fix lint

    add docs and fix lint

    opened by joway 4
  • Bump coveralls from 1.9.2 to 1.10.0

    Bump coveralls from 1.9.2 to 1.10.0

    Bumps coveralls from 1.9.2 to 1.10.0.

    Release notes

    Sourced from coveralls's releases.

    1.10.0

    1.10.0 (2019-12-31)

    Features

    Changelog

    Sourced from coveralls's changelog.

    1.10.0 (2019-12-31)

    Features

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 3
  • Bump pytest from 5.3.1 to 5.3.3

    Bump pytest from 5.3.1 to 5.3.3

    Bumps pytest from 5.3.1 to 5.3.3.

    Release notes

    Sourced from pytest's releases.

    5.3.3

    pytest 5.3.3 (2020-01-16)

    Bug Fixes

    • #2780: Captured output during teardown is shown with -rP.
    • #5971: Fix a pytest-xdist crash when dealing with exceptions raised in subprocesses created by the multiprocessing module.
    • #6436: FixtureDef <_pytest.fixtures.FixtureDef> objects now properly register their finalizers with autouse and parameterized fixtures that execute before them in the fixture stack so they are torn down at the right times, and in the right order.
    • #6532: Fix parsing of outcomes containing multiple errors with testdir results (regression in 5.3.0).

    Trivial/Internal Changes

    • #6350: Optimized automatic renaming of test parameter IDs.

    5.3.2

    pytest 5.3.2 (2019-12-13)

    Improvements

    • #4639: Revert "A warning is now issued when assertions are made for None".

      The warning proved to be less useful than initially expected and had quite a few false positive cases.

    Bug Fixes

    • #5430: junitxml: Logs for failed test are now passed to junit report in case the test fails during call phase.
    • #6290: The supporting files in the .pytest_cache directory are kept with --cache-clear, which only clears cached values now.
    ... (truncated)
    Changelog

    Sourced from pytest's changelog.

    Commits
    • 544b4a1 Fix Hugo van Kemenade name in release announcement
    • 56dc301 Preparing release version 5.3.3
    • aa05334 Remove broken link for user @jgsonesen
    • 4806878 Drop deploy from Travis in favor of GitHub actions (#6480)
    • d1d7e5d Drop deploy from Travis in favor of GitHub actions
    • 5b0e255 Merge pull request #6465 from blueyed/doc-rootdir
    • f0fdafe Merge pull request #6477 from blueyed/tests-cleanup-unused-fixtures
    • 5049e25 tests: cleanup unused fixtures
    • d36c712 Merge pull request #6479 from blueyed/tests-fix-master
    • 7a0d1b3 Use a dummy RemoteTraceback for test in Python 3.5 Windows
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 3
  • Bump werkzeug from 0.16.0 to 0.16.1

    Bump werkzeug from 0.16.0 to 0.16.1

    Bumps werkzeug from 0.16.0 to 0.16.1.

    Release notes

    Sourced from werkzeug's releases.

    0.16.1

    Changelog

    Sourced from werkzeug's changelog.

    Version 0.16.1

    Released 2020-01-27

    • Fix import location in deprecation messages for subpackages. 1663
    • Fix an SSL error on Python 3.5 when the dev server responds with no content. 1659
    Commits
    • 2b2c4c3 release version 0.16.1
    • edecdab Merge branch '0.15.x' into 0.16.x
    • 9547d88 Merge pull request #1707 from pallets/remove-unicode-errors-docs
    • a578c8f remove old docs about decoding errors
    • 6eb110a update flake8 noqa
    • e46e520 Merge pull request #1692 from pgjones/trove
    • d0bc247 add Python 3.8 trove classifier
    • 6d39f04 Merge pull request #1676 from aenglander/bugfix/1659-ssl-eof-error-python-3.5
    • 1d8cd3c Only write body when there is a body to write.
    • 95d0e01 Merge pull request #1664 from Junnplus/patch-1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 3
  • Bump pytest from 5.3.1 to 5.3.2

    Bump pytest from 5.3.1 to 5.3.2

    Bumps pytest from 5.3.1 to 5.3.2.

    Release notes

    Sourced from pytest's releases.

    5.3.2

    No release notes provided.

    Changelog

    Sourced from pytest's changelog.

    Commits
    • 7f24cc2 Remove duplicated user from announcement
    • 10fcac7 Preparing release version 5.3.2
    • 8942a05 Change 4639 from feature to improvement
    • 66c1a12 Bugfix 5430 pass logs to junit report (#6274)
    • 8cdf9d4 Fixes #6326: Typo in the Security section docs home page. (#6327)
    • 2ddc330 Fixes #6326: Typo in the Security section docs home page.
    • 1c0ab3c Add 4.6.7 changelog to master (Wait until #6318) (#6319)
    • 7ff91d8 Merge pull request #6313 from nicoddemus/egg-rewrite-6301
    • 64c71da Add 4.6.7 changelog to master
    • c7f9fda Fix assertion rewriting module detection for egg dists
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 3
  • Bump uvicorn from 0.11.7 to 0.11.8

    Bump uvicorn from 0.11.7 to 0.11.8

    Bumps uvicorn from 0.11.7 to 0.11.8.

    Release notes

    Sourced from uvicorn's releases.

    Version 0.11.8

    0.11.8 - 2020-07-30

    • Fix a regression that caused Uvicorn to crash when using --interface=wsgi. (Pull #730)
    • Fix a regression that caused Uvicorn to crash when using unix domain sockets. (Pull #729)
    Changelog

    Sourced from uvicorn's changelog.

    0.11.8 - 2020-07-30

    • Fix a regression that caused Uvicorn to crash when using --interface=wsgi. (Pull #730)
    • Fix a regression that caused Uvicorn to crash when using unix domain sockets. (Pull #729)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 3
  • Bump sphinx from 2.3.0 to 2.3.1

    Bump sphinx from 2.3.0 to 2.3.1

    Bumps sphinx from 2.3.0 to 2.3.1.

    Changelog

    Sourced from sphinx's changelog.

    Release 2.3.1 (in development)

    Dependencies

    Incompatible changes

    Deprecated

    Features added

    Bugs fixed

    Testing

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 3
  • Bump sphinx from 2.3.0 to 2.4.0

    Bump sphinx from 2.3.0 to 2.4.0

    Bumps sphinx from 2.3.0 to 2.4.0.

    Changelog

    Sourced from sphinx's changelog.

    Release 2.4.0 (released Feb 09, 2020)

    Deprecated

    • The decode argument of sphinx.pycode.ModuleAnalyzer()
    • sphinx.directives.other.Index
    • sphinx.environment.temp_data['gloss_entries']
    • sphinx.environment.BuildEnvironment.indexentries
    • sphinx.environment.collectors.indexentries.IndexEntriesCollector
    • sphinx.ext.apidoc.INITPY
    • sphinx.ext.apidoc.shall_skip()
    • sphinx.io.FiletypeNotFoundError
    • sphinx.io.get_filetype()
    • sphinx.pycode.ModuleAnalyzer.encoding
    • sphinx.roles.Index
    • sphinx.util.detect_encoding()
    • sphinx.util.get_module_source()
    • sphinx.util.inspect.Signature
    • sphinx.util.inspect.safe_getmembers()
    • sphinx.writers.latex.LaTeXTranslator.settings.author
    • sphinx.writers.latex.LaTeXTranslator.settings.contentsname
    • sphinx.writers.latex.LaTeXTranslator.settings.docclass
    • sphinx.writers.latex.LaTeXTranslator.settings.docname
    • sphinx.writers.latex.LaTeXTranslator.settings.title
    • sphinx.writers.latex.ADDITIONAL_SETTINGS
    • sphinx.writers.latex.DEFAULT_SETTINGS
    • sphinx.writers.latex.LUALATEX_DEFAULT_FONTPKG
    • sphinx.writers.latex.PDFLATEX_DEFAULT_FONTPKG
    • sphinx.writers.latex.XELATEX_DEFAULT_FONTPKG
    • sphinx.writers.latex.XELATEX_GREEK_DEFAULT_FONTPKG

    Features added

    • #6910: inheritance_diagram: Make the background of diagrams transparent
    • #6446: duration: Add sphinx.ext.durations to inspect which documents slow down the build
    • #6837: LaTeX: Support a nested table
    • #7115: LaTeX: Allow to override LATEXOPTS and LATEXMKOPTS via environment variable
    • #6966: graphviz: Support :class: option
    • #6696: html: :scale: option of image/figure directive not working for SVG images (imagesize-1.2.0 or above is required)
    • #6994: imgconverter: Support illustrator file (.ai) to .png conversion
    • autodoc: Support Positional-Only Argument separator (PEP-570 compliant)
    • autodoc: Support type annotations for variables
    • #2755: autodoc: Add new event: :event:autodoc-before-process-signature
    • #2755: autodoc: Support type_comment style (ex. # type: (str) -> str)
    ... (truncated)
    Commits
    • a72135c Bump to 2.4.0 final
    • 5aaf374 Update CHANGES: merge 2.3.2 changes into 2.4.0
    • a17ad5c Merge branch '2.3.2' into 2.0
    • d07985e Merge pull request #7114 from tk0miya/7112_svg_not_floated
    • 89e3169 Merge pull request #7116 from tk0miya/7115_override_LATEXMKOPTS
    • 60797f8 fix
    • 2dd0272 Fix #7112: html: SVG image is not layouted as float even if aligned
    • ebb9a9a Merge pull request #7107 from tk0miya/7106_enumerated_nodes_marked_as_duplicated
    • f751ab8 Merge pull request #7113 from tk0miya/6327_apidoc_init.so
    • 3ad137b Merge branch '2.0' into 7106_enumerated_nodes_marked_as_duplicated
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 2
  • Bump werkzeug from 1.0.1 to 2.0.1

    Bump werkzeug from 1.0.1 to 2.0.1

    Bumps werkzeug from 1.0.1 to 2.0.1.

    Release notes

    Sourced from werkzeug's releases.

    2.0.1

    2.0.0

    New major versions of all the core Pallets libraries, including Werkzeug 2.0, have been released! :tada:

    This represents a significant amount of work, and there are quite a few changes. Be sure to carefully read the changelog, and use tools such as pip-compile and Dependabot to pin your dependencies and control your updates.

    2.0.0rc5

    2.0.0rc4

    2.0.0 Release Candidate 3

    Use the --pre flag to install this pre-release:

    pip install --pre Werkzeug==2.0.0rc3
    

    2.0.0 Release Candidate 2

    Use the --pre flag to install this pre-release:

    pip install --pre Werkzeug==2.0.0rc2
    

    2.0.0 Release Candidate 1

    Use the --pre flag to install this pre-release:

    pip install --pre Werkzeug==2.0.0rc1
    
    Changelog

    Sourced from werkzeug's changelog.

    Version 2.0.1

    Released 2021-05-17

    • Fix type annotation for send_file max_age callable. Don't pass pathlib.Path to max_age. 2119
    • Mark top-level names as exported so type checking understands imports in user projects. 2122
    • Fix some types that weren't available in Python 3.6.0. 2123
    • cached_property is generic over its return type, properties decorated with it report the correct type. 2113
    • Fix multipart parsing bug when boundary contains special regex characters. 2125
    • Type checking understands that calling headers.get with a string default will always return a string. 2128
    • If HTTPException.description is not a string, get_description will convert it to a string. 2115

    Version 2.0.0

    Released 2021-05-11

    • Drop support for Python 2 and 3.5. 1693
    • Deprecate utils.format_string, use string.Template instead. 1756
    • Deprecate utils.bind_arguments and utils.validate_arguments, use Signature.bind and inspect.signature instead. 1757
    • Deprecate utils.HTMLBuilder. 1761
    • Deprecate utils.escape and utils.unescape, use MarkupSafe instead. 1758
    • Deprecate the undocumented python -m werkzeug.serving CLI. 1834
    • Deprecate the environ["werkzeug.server.shutdown"] function that is available when running the development server. 1752
    • Deprecate the useragents module and the built-in user agent parser. Use a dedicated parser library instead by subclassing user_agent.UserAgent and setting Request.user_agent_class. 2078
    • Remove the unused, internal posixemulation module. 1759
    • All datetime values are timezone-aware with tzinfo=timezone.utc. This applies to anything using http.parse_date: Request.date, .if_modified_since, .if_unmodified_since; Response.date, .expires, .last_modified, .retry_after; parse_if_range_header, and IfRange.date. When comparing values, the other values must also be aware, or these values must be made naive. When passing parameters or setting attributes, naive values are still assumed to be in UTC. 2040
    • Merge all request and response wrapper mixin code into single Request and Response classes. Using the mixin classes is no longer necessary and will show a deprecation warning. Checking isinstance or issubclass against BaseRequest and BaseResponse will show a deprecation warning and check against Request or Response instead. 1963
    • JSON support no longer uses simplejson if it's installed. To use another JSON module, override Request.json_module and Response.json_module. 1766
    • Response.get_json() no longer caches the result, and the cache parameter is removed. 1698
    • Response.freeze() generates an ETag header if one is not set. The no_etag parameter (which usually wasn't visible anyway) is no longer used. 1963
    • Add a url_scheme argument to ~routing.MapAdapter.build to override the bound scheme. 1721
    • Passing an empty list as a query string parameter to build() won't append an unnecessary ?. Also drop any number of None items in a list. 1992
    • When passing a Headers object to a test client method or EnvironBuilder, multiple values for a key are joined into one comma separated value. This matches the HTTP spec on multi-value headers. 1655
    • Setting Response.status and status_code uses identical parsing and error checking. 1658, 1728
    • MethodNotAllowed and RequestedRangeNotSatisfiable take a response kwarg, consistent with other HTTP errors. 1748
    • The response generated by ~exceptions.Unauthorized produces one WWW-Authenticate header per value in www_authenticate, rather than joining them into a single value, to improve interoperability with browsers and other clients. 1755
    • If parse_authorization_header can't decode the header value, it returns None instead of raising a UnicodeDecodeError. 1816
    • The debugger no longer uses jQuery. 1807
    • The test client includes the query string in REQUEST_URI and RAW_URI. 1781
    • Switch the parameter order of default_stream_factory to match the order used when calling it. 1085
    • Add send_file function to generate a response that serves a file. Adapted from Flask's implementation. 265, 1850
    • Add send_from_directory function to safely serve an untrusted path within a trusted directory. Adapted from Flask's implementation. 1880
    • send_file takes download_name, which is passed even if as_attachment=False by using Content-Disposition: inline. download_name replaces Flask's attachment_filename. 1869
    • send_file sets conditional=True and max_age=None by default. Cache-Control is set to no-cache if max_age is not set, otherwise public. This tells browsers to validate conditional requests instead of using a timed cache. max_age=None replaces Flask's cache_timeout=43200. 1882
    • send_file can be called with etag="string" to set a custom ETag instead of generating one. etag replaces Flask's add_etags. 1868
    • send_file sets the Content-Encoding header if an encoding is returned when guessing mimetype from download_name. 3896
    • Update the defaults used by generate_password_hash. Increase PBKDF2 iterations to 260000 from 150000. Increase salt length to 16 from 8. Use secrets module to generate salt. 1935
    • The reloader doesn't crash if sys.stdin is somehow None. 1915

    ... (truncated)

    Commits
    • 73ed5ef Merge pull request #2135 from pallets/release-2.0.1
    • c09fe3f release version 2.0.1
    • f0bc6b2 Merge pull request #2134 from pallets/typeshed
    • e6305ec Merge pull request #2133 from pallets/http-description
    • 67ef741 convert HTTPException.description to string
    • ca830ca use _typeshed.wsgi instead of wsgiref.types
    • c2fd0f1 update 2128 changelog
    • 1b8907a Merge pull request #2129 from bayesimpact/pascal-type-get
    • 625aaba Enhance type of headers.get method.
    • 1104012 Merge pull request #2126 from pgjones/mpfix
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    If all status checks pass Dependabot will automatically merge this pull request.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Upgrade to GitHub-native Dependabot

    Upgrade to GitHub-native Dependabot

    Dependabot Preview will be shut down on August 3rd, 2021. In order to keep getting Dependabot updates, please merge this PR and migrate to GitHub-native Dependabot before then.

    Dependabot has been fully integrated into GitHub, so you no longer have to install and manage a separate app. This pull request migrates your configuration from Dependabot.com to a config file, using the new syntax. When merged, we'll swap out dependabot-preview (me) for a new dependabot app, and you'll be all set!

    With this change, you'll now use the Dependabot page in GitHub, rather than the Dependabot dashboard, to monitor your version updates, and you'll configure Dependabot through the new config file rather than a UI.

    You have configured automerging on this repository. There is no automerging support in GitHub-native Dependabot, so these settings will not be added to the new config file. Several 3rd-party GitHub Actions and bots can replicate the automerge feature.

    If you've got any questions or feedback for us, please let us know by creating an issue in the dependabot/dependabot-core repository.

    Learn more about migrating to GitHub-native Dependabot

    Please note that regular @dependabot commands do not work on this pull request.

    dependencies 
    opened by dependabot-preview[bot] 2
Releases(0.6.3)
Owner
Joway
Infrastructure Engineer
Joway
Async Python 3.6+ web server/framework | Build fast. Run fast.

Sanic | Build fast. Run fast. Build Docs Package Support Stats Sanic is a Python 3.6+ web server and web framework that's written to go fast. It allow

Sanic Community Organization 15.7k Jan 10, 2022
Async Python 3.6+ web server/framework | Build fast. Run fast.

Sanic | Build fast. Run fast. Build Docs Package Support Stats Sanic is a Python 3.6+ web server and web framework that's written to go fast. It allow

Sanic Community Organization 15.8k Jan 14, 2022
An effective, simple, and async security library for the Sanic framework.

Sanic Security An effective, simple, and async security library for the Sanic framework. Table of Contents About the Project Getting Started Prerequis

Sunset Dev 55 Jan 7, 2022
Endpoints is a lightweight REST api framework written in python and used in multiple production systems that handle millions of requests daily.

Endpoints Quickest API builder in the West! Endpoints is a lightweight REST api framework written in python and used in multiple production systems th

Jay Marcyes 31 Oct 23, 2021
APIFlask is a lightweight Python web API framework based on Flask and marshmallow-code projects

APIFlask APIFlask is a lightweight Python web API framework based on Flask and marshmallow-code projects. It's easy to use, highly customizable, ORM/O

Grey Li 380 Jan 18, 2022
Sierra is a lightweight Python framework for building and integrating web applications

A lightweight Python framework for building and Integrating Web Applications. Sierra is a Python3 library for building and integrating web applications with HTML and CSS using simple enough syntax. You can develop your web applications with Python, taking advantage of its functionalities and integrating them to the fullest.

null 78 Dec 25, 2021
TinyAPI - 🔹 A fast & easy and lightweight WSGI Framework for Python

TinyAPI - ?? A fast & easy and lightweight WSGI Framework for Python

xArty 3 Jan 9, 2022
PipeLayer is a lightweight Python pipeline framework

PipeLayer is a lightweight Python pipeline framework. Define a series of steps, and chain them together to create modular applications

greaterthan 63 Dec 26, 2021
Pretty tornado wrapper for making lightweight REST API services

CleanAPI Pretty tornado wrapper for making lightweight REST API services Installation: pip install cleanapi Example: Project folders structure: . ├──

Vladimir Kirievskiy 19 Dec 26, 2021
An abstract and extensible framework in python for building client SDKs and CLI tools for a RESTful API.

django-rest-client An abstract and extensible framework in python for building client SDKs and CLI tools for a RESTful API. Suitable for APIs made wit

Certego 2 Oct 22, 2021
Asita is a web application framework for python based on express-js framework.

Asita is a web application framework for python. It is designed to be easy to use and be more easy for javascript users to use python frameworks because it is based on express-js framework.

Mattéo 4 Nov 16, 2021
A minimal, extensible, fast and productive API framework for Python 3.

molten A minimal, extensible, fast and productive API framework for Python 3. Changelog: https://moltenframework.com/changelog.html Community: https:/

Bogdan Popa 973 Dec 31, 2021
Pyrin is an application framework built on top of Flask micro-framework to make life easier for developers who want to develop an enterprise application using Flask

Pyrin A rich, fast, performant and easy to use application framework to build apps using Flask on top of it. Pyrin is an application framework built o

Mohamad Nobakht 9 Dec 30, 2021
A public API written in Python using the Flask web framework to determine the direction of a road sign using AI

python-public-API This repository is a public API for solving the problem of the final of the AIIJC competition. The task is to create an AI for the c

Lev 1 Nov 8, 2021
Fully featured framework for fast, easy and documented API development with Flask

Flask RestPlus IMPORTANT NOTICE: This project has been forked to Flask-RESTX and will be maintained by by the python-restx organization. Flask-RESTPlu

Axel H. 2.6k Jan 14, 2022
Flask-Potion is a RESTful API framework for Flask and SQLAlchemy, Peewee or MongoEngine

Flask-Potion Description Flask-Potion is a powerful Flask extension for building RESTful JSON APIs. Potion features include validation, model resource

DTU Biosustain 482 Nov 23, 2021
Fully featured framework for fast, easy and documented API development with Flask

Flask RestPlus IMPORTANT NOTICE: This project has been forked to Flask-RESTX and will be maintained by by the python-restx organization. Flask-RESTPlu

Axel H. 2.5k Feb 17, 2021
Flask-Potion is a RESTful API framework for Flask and SQLAlchemy, Peewee or MongoEngine

Flask-Potion Description Flask-Potion is a powerful Flask extension for building RESTful JSON APIs. Potion features include validation, model resource

DTU Biosustain 484 Feb 3, 2021
REST API framework designed for human beings

Eve Eve is an open source Python REST API framework designed for human beings. It allows to effortlessly build and deploy highly customizable, fully f

eve 6.4k Jan 11, 2022