Starlette middleware for Prerender

Overview

Prerender Python Starlette

Starlette middleware for Prerender

build codecov Dependabot Status PyPI version


Documentation: https://BeeMyDesk.github.io/prerender-python-starlette/

Source Code: https://github.com/BeeMyDesk/prerender-python-starlette


Introduction

Google, Facebook, Twitter, and Bing are constantly trying to view your website... but Google is the only crawler that executes a meaningful amount of JavaScript and Google even admits that they can execute JavaScript weeks after actually crawling. Prerender allows you to serve the full HTML of your website back to Google and other crawlers so that they don't have to execute any JavaScript. Google recommends using Prerender.io to prevent indexation issues on sites with large amounts of JavaScript.

Prerender is perfect for Angular SEO, React SEO, Vue SEO, and any other JavaScript framework.

This middleware intercepts requests to your Node.js website from crawlers, and then makes a call to the (external) Prerender Service to get the static HTML instead of the JavaScript for that page. That HTML is then returned to the crawler.

README of prerender_rails

This library is a Python implementation of a Prerender middleware for Starlette. It should work flawlessly with FastAPI and, probably, with any ASGI framework.

Installation

pip install prerender-python-starlette

Usage

from starlette.applications import Starlette
from starlette.middleware import Middleware
from prerender_python_starlette import PrerenderMiddleware

routes = ...

middleware = [
  Middleware(PrerenderMiddleware),
]

app = Starlette(routes=routes, middleware=middleware)

Parameters

  • prerender_service_url: URL of Prerender server. Defaults to PRERENDER_SERVICE_URL environment variable.
  • prerender_service_username: HTTP basic auth username of Prerender server. Defaults to PRERENDER_SERVICE_USERNAME environment variable.
  • prerender_service_password: HTTP basic auth password of Prerender server. Defaults to PRERENDER_SERVICE_PASSWORD environment variable.
  • prerender_service_token: Token set in X-Prerender-Token header. Defaults to PRERENDER_SERVICE_TOKEN environment variable.
  • crawler_user_agents: List of crawler user agents to intercept. Defaults to DEFAULT_CRAWLER_USER_AGENTS list.
  • extensions_to_ignore: List of file extensions to ignore. Defaults to DEFAULT_EXTENSIONS_TO_IGNORE list.
  • whitelist: List of path patterns to whitelist. Path not matching a pattern in the list won't be prerendered. Defaults to None.
  • blacklist: List of path patterns to blacklist. Path matching a pattern in the list won't be prerendered. Defaults to None.
  • before_render: Async function called before the prerendering. If it returns an HTMLResponse, it will be considered as cache and will bypass the call to the Prerender server. Defaults to None.
  • after_render: Async function called after the prerendering. Defaults to None.

Cache example

from starlette.applications import Starlette
from starlette.middleware import Middleware
from prerender_python_starlette import PrerenderMiddleware


async def before_render(request: Request) -> Optional[HTMLResponse]:
    cached_response = await cache.get(f"prerender:{request.url.path}")
    if cached_response:
        return HTMLResponse(cached_response)
    return None


async def after_render(
    request: Request, response: HTMLResponse, cached: bool
) -> None:
    if not cached:
        await cache.set(
            f"prerender:{request.url.path}", response.body.decode(response.charset)
        )


routes = ...

middleware = [
  Middleware(PrerenderMiddleware, before_render=before_render, after_render=after_render),
]

app = Starlette(routes=routes, middleware=middleware)

Development

Setup environement

You should have Pipenv installed. Then, you can install the dependencies with:

pipenv install --dev

After that, activate the virtual environment:

pipenv shell

Run unit tests

You can run all the tests with:

make test

Alternatively, you can run pytest yourself:

pytest

Format the code

Execute the following command to apply isort and black formatting:

make format

License

This project is licensed under the terms of the MIT license.

Comments
  • Bump codecov from 2.0.22 to 2.1.7

    Bump codecov from 2.0.22 to 2.1.7

    Bumps codecov from 2.0.22 to 2.1.7.

    Changelog

    Sourced from codecov's changelog.

    2.1.7

    • #279 Fix pinned coverage version

    2.1.6

    • #275 Fix GitHub Actions implementation

    2.1.5

    • #273 Implement retries on Codecov API calls
    • #265 Add GitHub Actions CI detection
    • #267 Add CODECOV_NAME as default for name

    2.1.4

    • #260 Enforce black formatting
    • #169 Fix command line quoting on Windows
    • #216 Fix GitLab CI project directory detection on Windows
    • #264 Fix GitLab CI post version 9
    • #262 Check text for NoneType on writes
    • #266 Include the cacert in the PUT call when uploading to S3
    • #263 Fixed gcov not being found in certain instances

    2.1.3

    • Fix find command not working on Windows
    • Add support for gzipping reports
    • Dynamic syncing of version

    2.1.1

    • Fix command when neither hg or git are not available

    2.1.0

    • Remove x-amz-acl header
    • Reformat with Black
    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.


    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)
    • 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 codecov from 2.0.22 to 2.1.4

    Bump codecov from 2.0.22 to 2.1.4

    Bumps codecov from 2.0.22 to 2.1.4.

    Changelog

    Sourced from codecov's changelog.

    2.1.4

    • #260 Enforce black formatting
    • #169 Fix command line quoting on Windows
    • #216 Fix GitLab CI project directory detection on Windows
    • #264 Fix GitLab CI post version 9
    • #262 Check text for NoneType on writes
    • #266 Include the cacert in the PUT call when uploading to S3
    • #263 Fixed gcov not being found in certain instances

    2.1.3

    • Fix find command not working on Windows
    • Add support for gzipping reports
    • Dynamic syncing of version

    2.1.1

    • Fix command when neither hg or git are not available

    2.1.0

    • Remove x-amz-acl header
    • Reformat with Black
    Commits
    • 658ddfd bump version (#269)
    • 7f98a41 Update readme with 400 error info (#268)
    • 9830120 Fixed gcov not found due to passing cmd string instead of list to try_to_run....
    • 1c0e078 Include the cacert in the PUT call when uploading to S3 (#266)
    • 53becf4 Check to see that text is not None before calling replace in write(). (#262)
    • fd64abc failing on GitLab ≥ 9 (bis) (#264)
    • 84048cd Fixed GitLab CI project directory detection on Windows. (#216)
    • 4ec70db Fix command line quoting for Windows (#169)
    • 6ba8cbc Merge pull request #260 from codecov/black-linting
    • 098c82b Only install on 3.7 because pypy is 3.6 and uses typed-ast
    • 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.


    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)
    • 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 codecov from 2.0.22 to 2.1.3

    Bump codecov from 2.0.22 to 2.1.3

    Bumps codecov from 2.0.22 to 2.1.3.

    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.


    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)
    • 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 codecov from 2.0.22 to 2.1.1

    Bump codecov from 2.0.22 to 2.1.1

    Bumps codecov from 2.0.22 to 2.1.1.

    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.


    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)
    • 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 codecov from 2.0.22 to 2.1.0

    Bump codecov from 2.0.22 to 2.1.0

    Bumps codecov from 2.0.22 to 2.1.0.

    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.


    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)
    • 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 flake8 from 3.7.9 to 3.8.1

    Bump flake8 from 3.7.9 to 3.8.1

    Bumps flake8 from 3.7.9 to 3.8.1.

    Commits
    • f94e009 Release 3.8.1
    • 00985a6 Merge branch 'issue638-ouput-file' into 'master'
    • e6d8a90 options: Forward --output-file to be reparsed for BaseFormatter
    • b4d2850 Release 3.8.0
    • 03c7dd3 Merge branch 'exclude_dotfiles' into 'master'
    • 9e67511 Fix using --exclude=.* to not match . and ..
    • 6c4b5c8 Merge branch 'linters_py3' into 'master'
    • 309db63 switch dogfood to use python3
    • 8905a7a Merge branch 'logical_position_out_of_bounds' into 'master'
    • 609010c Fix logical checks which report position out of bounds
    • 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.


    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)
    • 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 mkdocs from 1.1 to 1.1.1

    Bump mkdocs from 1.1 to 1.1.1

    Bumps mkdocs from 1.1 to 1.1.1.

    Commits
    • 85b3bef Bump version to 1.1.1.
    • 0d17a52 Flake8 cleanup.
    • fa5aa4a Make compressed sitemap deterministic (#2100)
    • a4eb4eb Fix markdownlint test (#2095)
    • 1ad6a91 Use README.md as index.html when use_directory_urls is false
    • 3bada39 Ignore links which start with a backslash.
    • 7b68f7b Pass builder to on_serve event.
    • f532ade Remove deprecated theme_dir option from CLI.
    • 7428679 Set dependency to lunr[languages]==0.5.8.
    • afa18ae Fix typo
    • 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.


    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)
    • 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 flake8 from 3.7.9 to 3.8.0

    Bump flake8 from 3.7.9 to 3.8.0

    Bumps flake8 from 3.7.9 to 3.8.0.

    Commits
    • b4d2850 Release 3.8.0
    • 03c7dd3 Merge branch 'exclude_dotfiles' into 'master'
    • 9e67511 Fix using --exclude=.* to not match . and ..
    • 6c4b5c8 Merge branch 'linters_py3' into 'master'
    • 309db63 switch dogfood to use python3
    • 8905a7a Merge branch 'logical_position_out_of_bounds' into 'master'
    • 609010c Fix logical checks which report position out of bounds
    • 0c3b804 Merge branch 'deprecate_git_hook' into 'master'
    • 1649827 exclude broken pylint version
    • 43b14ff Add deprecation message for git hook
    • 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.


    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)
    • 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 pytest from 5.4.1 to 5.4.2

    Bump pytest from 5.4.1 to 5.4.2

    Bumps pytest from 5.4.1 to 5.4.2.

    Release notes

    Sourced from pytest's releases.

    5.4.2

    pytest 5.4.2 (2020-05-08)

    Bug Fixes

    • #6871: Fix crash with captured output when using the capsysbinary fixture <capsysbinary>.
    • #6924: Ensure a unittest.IsolatedAsyncioTestCase is actually awaited.
    • #6925: Fix TerminalRepr instances to be hashable again.
    • #6947: Fix regression where functions registered with TestCase.addCleanup were not being called on test failures.
    • #6951: Allow users to still set the deprecated TerminalReporter.writer attribute.
    • #6992: Revert "tmpdir: clean up indirection via config for factories" #6767 as it breaks pytest-xdist.
    • #7110: Fixed regression: asyncbase.TestCase tests are executed correctly again.
    • #7143: Fix File.from_constructor so it forwards extra keyword arguments to the constructor.
    • #7145: Classes with broken __getattribute__ methods are displayed correctly during failures.
    • #7180: Fix _is_setup_py for files encoded differently than locale.
    Changelog

    Sourced from pytest's changelog.

    Commits
    • f838c7b Preparing release version 5.4.2
    • 25b53c4 Merge pull request #7188 from asottile/backport_7179
    • fc27171 Merge pull request #7189 from asottile/backport-7186
    • d18e426 Merge pull request #7186 from asottile/is_setup_py_encoding_agnostic
    • e83fa48 Merge pull request #7179 from asottile/py39
    • c53d52c Merge pull request #7174 from nicoddemus/backport-7168
    • 3886c6d Merge pull request #7168 from nicoddemus/saferepr-getattr-fail-7145
    • 80936b6 Merge pull request #7156 from nicoddemus/backport-7151
    • 5ca08e9 Merge pull request #7151 from nicoddemus/unittest-cleanup-6947
    • ba2c49e Merge pull request #7149 from nicoddemus/backport-7144
    • 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.


    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)
    • 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 starlette from 0.13.2 to 0.13.4

    Bump starlette from 0.13.2 to 0.13.4

    Bumps starlette from 0.13.2 to 0.13.4.

    Release notes

    Sourced from starlette's releases.

    Version 0.13.4

    • Add UUID convertor. #903
    • More lenient cookie parsing. #900
    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.


    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)
    • 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 pytest-mock from 3.0.0 to 3.1.0

    Bump pytest-mock from 3.0.0 to 3.1.0

    Bumps pytest-mock from 3.0.0 to 3.1.0.

    Changelog

    Sourced from pytest-mock's changelog.

    3.1.0 (2020-04-18)

    • New mocker fixtures added that allow using mocking functionality in other scopes:

      • class_mocker
      • module_mocker
      • package_mocker
      • session_mocker

      Added by @scorphus in #182.

    Commits
    • f1759fd Add CHANGELOG and README about other-scoped mocker fixtures
    • e43552a Merge pull request #182 from scorphus/scoped-mockers
    • 762f907 Add mocker for class, module, package and session scopes
    • d0cceef Merge pull request #181 from nicoddemus/release-3.0.0
    • See full diff 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.


    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)
    • 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 starlette from 0.13.2 to 0.13.6

    Bump starlette from 0.13.2 to 0.13.6

    Bumps starlette from 0.13.2 to 0.13.6.

    Release notes

    Sourced from starlette's releases.

    Version 0.13.6

    • Fix 404 errors with StaticFiles.

    Version 0.13.5

    0.13.5

    • Add support for Starlette(lifespan=...) functions.
    • More robust path-traversal check in StaticFiles app.
    • Fix WSGI PATH_INFO encoding.
    • RedirectResponse now accepts optional background parameter
    • Allow path routes to contain regex meta characters
    • Treat ASGI HTTP 'body' as an optional key.
    • Don't use thread pooling for writing to in-memory upload files.

    Version 0.13.4

    • Add UUID convertor. #903
    • More lenient cookie parsing. #900
    Changelog

    Sourced from starlette's changelog.

    0.13.6

    • Fix 404 errors with StaticFiles.

    0.13.5

    • Add support for Starlette(lifespan=...) functions.
    • More robust path-traversal check in StaticFiles app.
    • Fix WSGI PATH_INFO encoding.
    • RedirectResponse now accepts optional background parameter
    • Allow path routes to contain regex meta characters
    • Treat ASGI HTTP 'body' as an optional key.
    • Don't use thread pooling for writing to in-memory upload files.

    0.13.0

    • Switch to promoting application configuration on init style everywhere. This means dropping the decorator style in favour of declarative routing tables and middleware definitions.

    0.12.12

    • Fix request.url_for() for the Mount-within-a-Mount case.

    0.12.11

    • Fix request.url_for() when an ASGI root_path is being used.

    0.12.1

    • Add URL.include_query_params(**kwargs)
    • Add URL.replace_query_params(**kwargs)
    • Add URL.remove_query_params(param_names)
    • request.state properly persisting across middleware.
    • Added request.scope interface.

    0.12.0

    • Switch to ASGI 3.0.
    • Fixes to CORS middleware.
    • Add StaticFiles(html=True) support.
    • Fix path quoting in redirect responses.

    0.11.1

    • Add request.state interface, for storing arbitrary additional information.
    • Support disabling GraphiQL with GraphQLApp(..., graphiql=False).

    0.11.0

    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.


    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)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Bump codecov from 2.0.22 to 2.1.8

    Bump codecov from 2.0.22 to 2.1.8

    Bumps codecov from 2.0.22 to 2.1.8.

    Changelog

    Sourced from codecov's changelog.

    2.1.8

    • #285Add support for CODECOV_FLAGS
    • #276Add ability to specify number of upload retries

    2.1.7

    • #279 Fix pinned coverage version

    2.1.6

    • #275 Fix GitHub Actions implementation

    2.1.5

    • #273 Implement retries on Codecov API calls
    • #265 Add GitHub Actions CI detection
    • #267 Add CODECOV_NAME as default for name

    2.1.4

    • #260 Enforce black formatting
    • #169 Fix command line quoting on Windows
    • #216 Fix GitLab CI project directory detection on Windows
    • #264 Fix GitLab CI post version 9
    • #262 Check text for NoneType on writes
    • #266 Include the cacert in the PUT call when uploading to S3
    • #263 Fixed gcov not being found in certain instances

    2.1.3

    • Fix find command not working on Windows
    • Add support for gzipping reports
    • Dynamic syncing of version

    2.1.1

    • Fix command when neither hg or git are not available

    2.1.0

    • Remove x-amz-acl header
    • Reformat with Black
    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.


    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)
    • 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
  • Bump pytest-mock from 3.0.0 to 3.2.0

    Bump pytest-mock from 3.0.0 to 3.2.0

    Bumps pytest-mock from 3.0.0 to 3.2.0.

    Release notes

    Sourced from pytest-mock's releases.

    3.2.0 (2020-07-11)

    • AsyncMock is now exposed in mocker and supports provides assertion introspection similar to Mock objects.

      Added by @tirkarthi in #197.

    3.1.1 (2020-05-31)

    • Fixed performance regression caused by the ValueError raised when mocker is used as context manager (#191).

    3.1.0 (2020-04-18)

    • New mocker fixtures added that allow using mocking functionality in other scopes:

      • class_mocker
      • module_mocker
      • package_mocker
      • session_mocker

      Added by @scorphus in #182.

    Changelog

    Sourced from pytest-mock's changelog.

    3.2.0 (2020-07-11)

    • AsyncMock is now exposed in mocker and supports provides assertion introspection similar to Mock objects.

      Added by @tirkarthi in #197.

    3.1.1 (2020-05-31)

    • Fixed performance regression caused by the ValueError raised when mocker is used as context manager (#191).

    3.1.0 (2020-04-18)

    • New mocker fixtures added that allow using mocking functionality in other scopes:

      • class_mocker
      • module_mocker
      • package_mocker
      • session_mocker

      Added by @scorphus in #182.

    Commits
    • 9b6e106 Prepare changelog for 3.2.0
    • e6254ec Check for AsyncMock before async_wrappers patching.
    • 97b5800 Add support to display diffs for AsyncMock error messages
    • 7d20814 Merge pull request #192 from nicoddemus/context-slow
    • 55c11a9 Fix performance when raising ValueError when used as context-manager
    • 5842895 Merge pull request #190 from mgorny/warn-fail
    • 2547178 Using assert_outcomes as that is slightly safer
    • 1ef3d61 Permit warnings in *_stale_pyc tests
    • b3a051c Merge pull request #189 from nicoddemus/update-pre-commit-config
    • e6a1d0a Update pre-commit config
    • 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.


    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)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Bump pytest-cov from 2.8.1 to 2.10.0

    Bump pytest-cov from 2.8.1 to 2.10.0

    Bumps pytest-cov from 2.8.1 to 2.10.0.

    Changelog

    Sourced from pytest-cov's changelog.

    2.10.0 (2020-06-12)

    • Improved the --no-cov warning. Now it's only shown if --no-cov is present before --cov.
    • Removed legacy pytest support. Changed setup.py so that pytest>=4.6 is required.

    2.9.0 (2020-05-22)

    • Fixed RemovedInPytest4Warning when using Pytest 3.10. Contributed by Michael Manganiello in #354.
    • Made pytest startup faster when plugin not active by lazy-importing. Contributed by Anders Hovmöller in #339.
    • Various CI improvements. Contributed by Daniel Hahler in #363 and #364.
    • Various Python support updates (drop EOL 3.4, test against 3.8 final). Contributed by Hugo van Kemenade in #336 and #367.
    • Changed --cov-append to always enable data_suffix (a coverage setting). Contributed by Harm Geerts in #387.
    • Changed --cov-append to handle loading previous data better (fixes various path aliasing issues).
    • Various other testing improvements, github issue templates, example updates.
    • Fixed internal failures that are caused by tests that change the current working directory by ensuring a consistent working directory when coverage is called. See #306 and coveragepy#881
    Commits
    • 694f7fd Bump version: 2.9.0 → 2.10.0
    • 4cbd3bb Update changelog.
    • 45731f3 Rework assertion to work on old pytest.
    • 1689c9a Implement better --no-cov warning: only do it if --no-cov is present before -...
    • c5623ec Bump version: 2.8.1 → 2.9.0
    • cd6ca2e Update changelog.
    • daacd76 Skip horrendous breakage on pypy and windows.
    • b1ac198 More blissful ignorance (windows doesn't allow deleting while in cwd use).
    • 2612d2c Make test portable.
    • fa4bb12 Remove unused var.
    • 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.


    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)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Bump flake8 from 3.7.9 to 3.8.3

    Bump flake8 from 3.7.9 to 3.8.3

    Bumps flake8 from 3.7.9 to 3.8.3.

    Commits
    • 181bb46 Release 3.8.3
    • 3d68da9 Merge branch 'doctests-flag-desc' into 'master'
    • e817c63 Help clarify the option behaviour
    • b6d3fca Merge branch 'issues/665' into 'master'
    • 9b8f908 fix JobsArgument --help output
    • 94304de Merge branch 'issue-662' into 'master'
    • a68d4d0 processor: Catch SyntaxError also when generating tokens for a file
    • 4071645 Release 3.8.2
    • b9fe4d6 Merge branch 'extend_exclude_is_files' into 'master'
    • 31c2f9f treat --extend-exclude as a file list
    • 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.


    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)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Bump pytest from 5.4.1 to 5.4.3

    Bump pytest from 5.4.1 to 5.4.3

    Bumps pytest from 5.4.1 to 5.4.3.

    Release notes

    Sourced from pytest's releases.

    5.4.3

    pytest 5.4.3 (2020-06-02)

    Bug Fixes

    • #6428: Paths appearing in error messages are now correct in case the current working directory has changed since the start of the session.
    • #6755: Support deleting paths longer than 260 characters on windows created inside tmpdir.
    • #6956: Prevent pytest from printing ConftestImportFailure traceback to stdout.
    • #7150: Prevent hiding the underlying exception when ConfTestImportFailure is raised.
    • #7215: Fix regression where running with --pdb would call the tearDown methods of unittest.TestCase subclasses for skipped tests.

    5.4.2

    pytest 5.4.2 (2020-05-08)

    Bug Fixes

    • #6871: Fix crash with captured output when using the capsysbinary fixture <capsysbinary>.
    • #6924: Ensure a unittest.IsolatedAsyncioTestCase is actually awaited.
    • #6925: Fix TerminalRepr instances to be hashable again.
    • #6947: Fix regression where functions registered with TestCase.addCleanup were not being called on test failures.
    • #6951: Allow users to still set the deprecated TerminalReporter.writer attribute.
    • #6992: Revert "tmpdir: clean up indirection via config for factories" #6767 as it breaks pytest-xdist.
    • #7110: Fixed regression: asyncbase.TestCase tests are executed correctly again.
    • #7143: Fix File.from_constructor so it forwards extra keyword arguments to the constructor.
    • #7145: Classes with broken __getattribute__ methods are displayed correctly during failures.
    • #7180: Fix _is_setup_py for files encoded differently than locale.
    Changelog

    Sourced from pytest's changelog.

    Commits
    • b322004 Preparing release version 5.4.3
    • 2d795dc Merge pull request #7298 from nicoddemus/backport-6755
    • 2d6b846 Merge pull request #7299 from nicoddemus/backport-7294
    • 703d0f5 Merge pull request #7294 from nicoddemus/codecov-adjustments
    • 56e6482 Fix removal of very long paths on Windows (#6755)
    • 589176e Merge pull request #7285 from nicoddemus/backport-7220
    • 3734a27 [5.4] Do not call TestCase.tearDown for skipped tests (#7236) (#7283)
    • e1a21e4 Merge pull request #7220 from nicoddemus/issue-6428
    • 551400e Do not call TestCase.tearDown for skipped tests (#7236)
    • b7b7292 Merge pull request #7271 from asottile/backport-7257
    • 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.


    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)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
Releases(v1.0.1)
Owner
BeeMyDesk
BeeMyDesk
flask extension for integration with the awesome pydantic package

flask extension for integration with the awesome pydantic package

249 Jan 06, 2023
A dynamic FastAPI router that automatically creates CRUD routes for your models

⚡ Create CRUD routes with lighting speed ⚡ A dynamic FastAPI router that automatically creates CRUD routes for your models Documentation: https://fast

Adam Watkins 943 Jan 01, 2023
Stac-fastapi built on Tile38 and Redis to support caching

stac-fastapi-caching Stac-fastapi built on Tile38 to support caching. This code is built on top of stac-fastapi-elasticsearch 0.1.0 with pyle38, a Pyt

Jonathan Healy 4 Apr 11, 2022
Adds integration of the Chameleon template language to FastAPI.

fastapi-chameleon Adds integration of the Chameleon template language to FastAPI. If you are interested in Jinja instead, see the sister project: gith

Michael Kennedy 124 Nov 26, 2022
Hook Slinger acts as a simple service that lets you send, retry, and manage event-triggered POST requests, aka webhooks

Hook Slinger acts as a simple service that lets you send, retry, and manage event-triggered POST requests, aka webhooks. It provides a fully self-contained docker image that is easy to orchestrate, m

Redowan Delowar 96 Jan 02, 2023
FastAPI framework plugins

Plugins for FastAPI framework, high performance, easy to learn, fast to code, ready for production fastapi-plugins FastAPI framework plugins Cache Mem

RES 239 Dec 28, 2022
Minecraft biome tile server writing on Python using FastAPI

Blocktile Minecraft biome tile server writing on Python using FastAPI Usage https://blocktile.herokuapp.com/overworld/{seed}/{zoom}/{col}/{row}.png s

Vladimir 2 Aug 31, 2022
FastAPI IPyKernel Sandbox

FastAPI IPyKernel Sandbox This repository is a light-weight FastAPI project that is meant to provide a wrapper around IPyKernel interactions. It is in

Nick Wold 2 Oct 25, 2021
User authentication fastapi with python

user-authentication-fastapi Authentication API Development Setup environment You should create a virtual environment and activate it: virtualenv venv

Sabir Hussain 3 Mar 03, 2022
implementation of deta base for FastAPIUsers

FastAPI Users - Database adapter for Deta Base Ready-to-use and customizable users management for FastAPI Documentation: https://fastapi-users.github.

2 Aug 15, 2022
Easy and secure implementation of Azure AD for your FastAPI APIs 🔒

FastAPI-Azure-auth Azure AD Authentication for FastAPI apps made easy. 🚀 Description FastAPI is a modern, fast (high-performance), web framework for

Intility 216 Dec 27, 2022
FastAPI client generator

FastAPI-based API Client Generator Generate a mypy- and IDE-friendly API client from an OpenAPI spec. Sync and async interfaces are both available Com

David Montague 283 Jan 04, 2023
Fetching Cryptocurrency Prices from Coingecko and Displaying them on Grafana

cryptocurrency-prices-grafana Fetching Cryptocurrency Prices from Coingecko and Displaying them on Grafana About This stack consists of: Prometheus (t

Ruan Bekker 7 Aug 01, 2022
🐍Pywork is a Yeoman generator to scaffold a Bare-bone Python Application

Pywork python app yeoman generator Yeoman | Npm Pywork | Home PyWork is a Yeoman generator for a basic python-worker project that makes use of Pipenv,

Vu Tran 10 Dec 16, 2022
A Flask extension that enables or disables features based on configuration.

Flask FeatureFlags This is a Flask extension that adds feature flagging to your applications. This lets you turn parts of your site on or off based on

Rachel Greenfield 131 Sep 26, 2022
This code generator creates FastAPI app from an openapi file.

fastapi-code-generator This code generator creates FastAPI app from an openapi file. This project is an experimental phase. fastapi-code-generator use

Koudai Aono 632 Jan 05, 2023
Code for my FastAPI tutorial

FastAPI tutorial Code for my video tutorial FastAPI tutorial What is FastAPI? FastAPI is a high-performant REST API framework for Python. It's built o

José Haro Peralta 9 Nov 15, 2022
Sample-fastapi - A sample app using Fastapi that you can deploy on App Platform

Getting Started We provide a sample app using Fastapi that you can deploy on App

Erhan BÜTE 2 Jan 17, 2022
The template for building scalable web APIs based on FastAPI, Tortoise ORM and other.

FastAPI and Tortoise ORM. Powerful but simple template for web APIs w/ FastAPI (as web framework) and Tortoise-ORM (for working via database without h

prostomarkeloff 95 Jan 08, 2023
Restful Api developed with Flask using Prometheus and Grafana for monitoring and containerization with Docker :rocket:

Hephaestus 🚀 In Greek mythology, Hephaestus was either the son of Zeus and Hera or he was Hera's parthenogenous child. ... As a smithing god, Hephaes

Yasser Tahiri 16 Oct 07, 2022