Automatically find solutions when your Python code encounters an issue.

Overview

What The Python?!

Helping you find answers to the errors Python spits out.

Installation

You can find the source code on GitHub at: https://github.com/what-the-python/wtpython

To install directly please run:

pip install wtpython

Usage

When you are running a python script, you might eventually come across an error like so.

requests.get('badurl') File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/api.py", line 76, in get return request('get', url, params=params, **kwargs) File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/api.py", line 61, in request return session.request(method=method, url=url, **kwargs) File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/sessions.py", line 528, in request prep = self.prepare_request(req) File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/sessions.py", line 456, in prepare_request p.prepare( File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/models.py", line 316, in prepare self.prepare_url(url, params) File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/models.py", line 390, in prepare_url raise MissingSchema(error) requests.exceptions.MissingSchema: Invalid URL 'badurl': No schema supplied. Perhaps you meant http://badurl? ">
$ python example/runs_with_error.py
0
1
2
Traceback (most recent call last):
  File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/example/runs_with_error.py", line 8, in 
    requests.get('badurl')
  File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/sessions.py", line 528, in request
    prep = self.prepare_request(req)
  File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/sessions.py", line 456, in prepare_request
    p.prepare(
  File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/models.py", line 316, in prepare
    self.prepare_url(url, params)
  File "/home/cohan/github/perceptive-porcupines/Perceptive-Porcupines-Code-Jam-8/.venv/lib/python3.9/site-packages/requests/models.py", line 390, in prepare_url
    raise MissingSchema(error)
requests.exceptions.MissingSchema: Invalid URL 'badurl': No schema supplied. Perhaps you meant http://badurl?

In this case, simply replace python with wtpython and you will see the error message line as well as what installed packages were part of the stack trace.

$ wtpython example/runs_with_error.py

This will bring up something like below, the color scheme might be different based off how your terminal is setup.

wtpython TUI

Development Tools

  • Rich is a library to create styled text to the terminal. We'll use it for styling and formatting text.
  • Textual is a part of rich to further aid in TUI design. We'll use it to create widgets and adjust the change the layout of the TUI.
  • Flit is a simple way to develop Python packages. It's pretty lightweight but can do a lot. We'll use it to manage dependencies.
  • pre-commit will run a few tests before you can commit your code. Don't worry, it will make the changes for you. Worst case, you'll have to type the git add/commit lines twice.

Contribution instructions

To setup the system for development please fork the repository and do the below before submitting a pull request.

Create and activate a virtual environment

python -m venv .venv --prompt template
source .venv/bin/activate

Upgrade pip and install flit manually

python -m pip install -U pip flit

Install the package using symlinks

Run this command to install the package in your virtual environment. If you add dependencies to pyproject.toml, you'll have to run this command again to install the new dependencies. Make sure to pin the version in pyproject.toml.

flit install -s

Install pre-commit

The .pre-commit-config.yaml file is configured to perform the following tasks on each commit:

  • Validate yaml files
  • Validate toml files
  • Ensure a single new line on each file
  • Ensure trailing white spaces are removed
  • Format your code with black
  • Ensure your python imports are sorted consistently
pre-commit install

FAQ

  1. How do I clear all of the cached results?

You can clear the cache by using the --clear-cache param for the query or run delete the ~/.wtpython_cache.

Comments
  • Add command line option to clear the HTTP cache

    Add command line option to clear the HTTP cache

    Solves #87

    Perhaps the design could be improved. Currently the StackOverflowFinder() takes a boolean in the constructor to tell it to clear the cache before performing any requests.

    opened by mustafaquraish 4
  • Create panel to show full stacktrace

    Create panel to show full stacktrace

    This could be either a modal that pops on top or a frame we can toggle on and off attached to the bottom.

    traceback.print_exception(type(RAISED_EXC), RAISED_EXC, RAISED_EXC.__traceback__)

    The traceback module might have some points on how to eliminate the added lines of the stacktrace generated by how we run the script.

    https://docs.python.org/3/library/traceback.html

    opened by briancohan 4
  • Determine source of ResourceWarning

    Determine source of ResourceWarning

    Every time I run the app, this error is left in my terminal

    /usr/lib/python3.9/asyncio/base_events.py:681: ResourceWarning: unclosed event loop <_UnixSelectorEventLoop running=False closed=False debug=False>
      _warn(f"unclosed event loop {self!r}", ResourceWarning, source=self)
    ResourceWarning: Enable tracemalloc to get the object allocation traceback
    
    opened by briancohan 4
  • Flake8 ignore

    Flake8 ignore

    Reduced the number of error codes ignored by flake8 in the tox.ini file.

    The main goal was to add more structure to the docstrings, however additional codes were removed. No functional changes were made in the codebase. The only "code" that was changed what altering the tests from assert <cond> == True to assert <cond> is True.

    For the error codes that remain, the meaning of the error codes has been provided in tox.ini.

    opened by briancohan 3
  • Allowing questions to be clickable on the sidebar of the display

    Allowing questions to be clickable on the sidebar of the display

    This does only show previous, current, and future questions, so instead of having to create functions for every question, it will instead use the existing prev_question and next_question actions. Though, WSL is not allowing me to test out the future version, so could anyone test out this feature since WSL hasn't updated with the versions I have changed?

    opened by Shom770 3
  • Add syntax highlighting to inline/block code

    Add syntax highlighting to inline/block code

    Rich already supports markdown syntax highlighting, but markdownify did not add the language specifier for the code blocks when converting the HTML. Assuming (for now) that we are always dealing with Python code, I created a custom subclass of MarkdownConverter that adds the 'py' specifier for all the markdown code blocks, which gives us pretty syntax-highlighted code.

    Also, I enabled syntax highlighting for inline code. This was just a case of passing in the correct option into the Markdown initializer.

    opened by mustafaquraish 3
  • Leave a

    Leave a "thank you" message in the terminal for the user once they exit

    This is a small detail that doesn't impact much, but hopefully makes the user feel good about using our product.

    Right before we call Display().run(), we should print out a nicely formatted "thank you for using rich" kind of message and invite them to check in on the project or where to reach us if there was a bug. The app will pop up and they'll do what they need, but when they exit, they'll see a message from us.

    opened by briancohan 3
  • 3.7+ compatibility

    3.7+ compatibility

    This removes 3.9-specific type annotations and solves #114.

    Tested on python:3.7-alpine, python:3.8-alpine, python:3.9-alpine, and python:3.10-rc-alpine.

    opened by eniraa 2
  • Add instructions to README for when pip can't find the matching distribution of WTPython

    Add instructions to README for when pip can't find the matching distribution of WTPython

    A few people have been having problems installing wtpython because wtpython is 3.9.x and above, I saw the other issues regarding allowing wtpython to work for earlier versions, but for now there should be an update to the README.md regarding what to do when you come across that error, for Linux/WSL and Mac

    bug 
    opened by Shom770 2
  • Improve Results

    Improve Results

    Right now we just search for the exception class, but we should try to search for the full error message. If that doesn't return any results, then we should fall back to just the exception class.

    enhancement 
    opened by briancohan 2
  • Print traceback before proceeding to search for answers

    Print traceback before proceeding to search for answers

    In the main loop, we should probably print the full traceback (before going to stackoverflow) to the terminal so that they still get the stack trace even if our logic crashes. This would also allow the traceback to be visible if they exit the application.

    opened by briancohan 2
  • Bump abatilo/actions-poetry from 2.1.3 to 2.2.0

    Bump abatilo/actions-poetry from 2.1.3 to 2.2.0

    Bumps abatilo/actions-poetry from 2.1.3 to 2.2.0.

    Release notes

    Sourced from abatilo/actions-poetry's releases.

    v2.2.0

    2.2.0 (2022-11-26)

    Features

    • update default Poetry version to 1.2.2 (#57) (f295866)

    v2.1.6

    2.1.6 (2022-08-23)

    Bug Fixes

    • Updating default poetry version to 1.15 (#49) (0816ab2)

    v2.1.5

    2.1.5 (2022-06-26)

    Bug Fixes

    • quote versions to fix parsing errors (c1aba0c)

    v2.1.4

    2.1.4 (2021-10-18)

    Bug Fixes

    • deps: update default poetry version to 1.1.11 (#45) (7044c9c)
    Commits
    • f295866 feat: update default Poetry version to 1.2.2 (#57)
    • b64bee1 README.md: Upgrade GitHub Actions (#54)
    • 0e9948e Use major version for version expression in the example in README (#52)
    • 7f129ac Try to update a major only tag
    • 9b38e00 docs: Bump default version in all locations (#50)
    • 0816ab2 fix: Updating default poetry version to 1.15 (#49)
    • c1aba0c fix: quote versions to fix parsing errors
    • a6d22c8 quote versions (#47)
    • 7044c9c fix(deps): update default poetry version to 1.1.11 (#45)
    • 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)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump requests-cache from 0.8.0 to 0.9.7

    Bump requests-cache from 0.8.0 to 0.9.7

    Bumps requests-cache from 0.8.0 to 0.9.7.

    Release notes

    Sourced from requests-cache's releases.

    Improved performance, thread safety, Cache-Control support, and general QoL

    See Changelog for release details

    Changelog

    Sourced from requests-cache's changelog.

    0.9.7 (2022-10-26)

    Backport compatibility fixes from 1.0:

    • PyInstaller: Fix potential AttributeError due to undetected imports when requests-cache is bundled in a PyInstaller package
    • requests-oauthlib: Add support for header values as bytes for compatibility with OAuth1 features
    • cattrs: Add compatibility with cattrs 22.2
    • python: Add tests to ensure compatibility with python 3.11
    • Fix AttributeError when attempting to unpickle a CachedSession object, and instead disable pickling by raising a NotImplementedError

    Add the following for forwards-compatibility with 1.0:

    • DeprecationWarnings to give an earlier notice for methods deprecated (not removed) in 1.0
    • requests_cache.policy subpackage (will replace requests_cache.cache_control module)
    • BaseCache.contains()
    • BaseCache.delete()
    • BaseCache.filter()
    • CachedSession.settings

    0.9.6 (2022-08-24)

    Backport fixes from 1.0:

    • Remove potentially problematic row count from BaseCache.__str__()
    • Remove upper version constraints for all non-dev dependencies
    • Make dependency specification consistent between PyPI and Conda-Forge packages

    0.9.5 (2022-06-29)

    Backport fixes from 1.0:

    • Fix usage of memory backend with install_cache()
    • Add CachedRequest.path_url property
    • Add compatibility with cattrs 22.1

    0.9.4 (2022-04-22)

    Backport fixes from 1.0:

    • Fix forwarding connection parameters passed to RedisCache for redis-py 4.2 and python <=3.8
    • Fix forwarding connection parameters passed to MongoCache for pymongo 4.1 and python <=3.8

    0.9.3 (2022-02-22)

    • Fix handling BSON serializer differences between pymongo's bson and standalone bson codec.
    • Handle CorruptGridFile error in GridFS backend
    • Fix cache path expansion for user directories (~/...) for SQLite and filesystem backends
    • Fix request normalization for request body with a list as a JSON root
    • Skip normalizing a JSON request body if it's excessively large (>10MB) due to performance impact
    • Fix some thread safety issues:
      • Fix race condition in SQLite backend with dropping and recreating tables in multiple threads
      • Fix race condition in filesystem backend when one thread deletes a file after it's opened but before it is read by a different thread
      • Fix multiple race conditions in GridFS backend

    0.9.2 (2022-02-15)

    • Fix serialization in filesystem backend with binary content that is also valid UTF-8
    • Fix some regression bugs introduced in 0.9.0:
      • Add support for params as a positional argument to CachedSession.request()
      • Add support for disabling expiration for a single request with CachedSession.request(..., expire_after=-1)

    ... (truncated)

    Commits
    • fe4edbf Update changelog
    • ea25c28 Run CI jobs with python 3.11
    • 7ee48d9 Merge pull request #710 from requests-cache/forwards-compat
    • 096b10d Add wrapper properties for settings for partial forwards-compatibility with C...
    • 864afeb Add BaseCache.contains(), delete(), and filter() for forwards-compatibility w...
    • 1894434 Add DeprecationWarning if importing from cache_control module
    • 0035af2 Add policy subpackage for forwards-compatibility with 1.0
    • ae2a169 Add support for header values as bytes
    • 446bbc8 Explicitly disable pickling CachedSession objects
    • 170a627 Fix potential AttributeError due to undetected imports when requests-cache ...
    • 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)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump actions/checkout from 2 to 3.1.0

    Bump actions/checkout from 2 to 3.1.0

    Bumps actions/checkout from 2 to 3.1.0.

    Release notes

    Sourced from actions/checkout's releases.

    v3.1.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/checkout/compare/v3.0.2...v3.1.0

    v3.0.2

    What's Changed

    Full Changelog: https://github.com/actions/checkout/compare/v3...v3.0.2

    v3.0.1

    v3.0.0

    • Updated to the node16 runtime by default
      • This requires a minimum Actions Runner version of v2.285.0 to run, which is by default available in GHES 3.4 or later.

    v2.4.2

    What's Changed

    Full Changelog: https://github.com/actions/checkout/compare/v2...v2.4.2

    v2.4.1

    • Fixed an issue where checkout failed to run in container jobs due to the new git setting safe.directory

    v2.4.0

    • Convert SSH URLs like org-<ORG_ID>@github.com: to https://github.com/ - pr

    v2.3.5

    Update dependencies

    v2.3.4

    v2.3.3

    ... (truncated)

    Changelog

    Sourced from actions/checkout's changelog.

    v3.1.0

    v3.0.2

    v3.0.1

    v3.0.0

    v2.3.1

    v2.3.0

    v2.2.0

    v2.1.1

    • Changes to support GHES (here and here)

    v2.1.0

    v2.0.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)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump pytest-cov from 2.12.1 to 4.0.0

    Bump pytest-cov from 2.12.1 to 4.0.0

    Bumps pytest-cov from 2.12.1 to 4.0.0.

    Changelog

    Sourced from pytest-cov's changelog.

    4.0.0 (2022-09-28)

    Note that this release drops support for multiprocessing.

    • --cov-fail-under no longer causes pytest --collect-only to fail Contributed by Zac Hatfield-Dodds in [#511](https://github.com/pytest-dev/pytest-cov/issues/511) <https://github.com/pytest-dev/pytest-cov/pull/511>_.

    • Dropped support for multiprocessing (mostly because issue 82408 <https://github.com/python/cpython/issues/82408>_). This feature was mostly working but very broken in certain scenarios and made the test suite very flaky and slow.

      There is builtin multiprocessing support in coverage and you can migrate to that. All you need is this in your .coveragerc::

      [run] concurrency = multiprocessing parallel = true sigterm = true

    • Fixed deprecation in setup.py by trying to import setuptools before distutils. Contributed by Ben Greiner in [#545](https://github.com/pytest-dev/pytest-cov/issues/545) <https://github.com/pytest-dev/pytest-cov/pull/545>_.

    • Removed undesirable new lines that were displayed while reporting was disabled. Contributed by Delgan in [#540](https://github.com/pytest-dev/pytest-cov/issues/540) <https://github.com/pytest-dev/pytest-cov/pull/540>_.

    • Documentation fixes. Contributed by Andre Brisco in [#543](https://github.com/pytest-dev/pytest-cov/issues/543) <https://github.com/pytest-dev/pytest-cov/pull/543>_ and Colin O'Dell in [#525](https://github.com/pytest-dev/pytest-cov/issues/525) <https://github.com/pytest-dev/pytest-cov/pull/525>_.

    • Added support for LCOV output format via --cov-report=lcov. Only works with coverage 6.3+. Contributed by Christian Fetzer in [#536](https://github.com/pytest-dev/pytest-cov/issues/536) <https://github.com/pytest-dev/pytest-cov/issues/536>_.

    • Modernized pytest hook implementation. Contributed by Bruno Oliveira in [#549](https://github.com/pytest-dev/pytest-cov/issues/549) <https://github.com/pytest-dev/pytest-cov/pull/549>_ and Ronny Pfannschmidt in [#550](https://github.com/pytest-dev/pytest-cov/issues/550) <https://github.com/pytest-dev/pytest-cov/pull/550>_.

    3.0.0 (2021-10-04)

    Note that this release drops support for Python 2.7 and Python 3.5.

    • Added support for Python 3.10 and updated various test dependencies. Contributed by Hugo van Kemenade in [#500](https://github.com/pytest-dev/pytest-cov/issues/500) <https://github.com/pytest-dev/pytest-cov/pull/500>_.
    • Switched from Travis CI to GitHub Actions. Contributed by Hugo van Kemenade in [#494](https://github.com/pytest-dev/pytest-cov/issues/494) <https://github.com/pytest-dev/pytest-cov/pull/494>_ and [#495](https://github.com/pytest-dev/pytest-cov/issues/495) <https://github.com/pytest-dev/pytest-cov/pull/495>_.
    • Add a --cov-reset CLI option. Contributed by Danilo Šegan in [#459](https://github.com/pytest-dev/pytest-cov/issues/459) <https://github.com/pytest-dev/pytest-cov/pull/459>_.
    • Improved validation of --cov-fail-under CLI option. Contributed by ... Ronny Pfannschmidt's desire for skark in [#480](https://github.com/pytest-dev/pytest-cov/issues/480) <https://github.com/pytest-dev/pytest-cov/pull/480>_.
    • Dropped Python 2.7 support.

    ... (truncated)

    Commits
    • 28db055 Bump version: 3.0.0 → 4.0.0
    • 57e9354 Really update the changelog.
    • 56b810b Update chagelog.
    • f7fced5 Add support for LCOV output
    • 1211d31 Fix flake8 error
    • b077753 Use modern approach to specify hook options
    • 00713b3 removed incorrect docs on data_file.
    • b3dda36 Improve workflow with a collecting status check. (#548)
    • 218419f Prevent undesirable new lines to be displayed when report is disabled
    • 60b73ec migrate build command from distutils to setuptools
    • 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)
    dependencies python 
    opened by dependabot[bot] 0
  • Bump flake8-annotations from 2.6.2 to 2.9.1

    Bump flake8-annotations from 2.6.2 to 2.9.1

    Bumps flake8-annotations from 2.6.2 to 2.9.1.

    Release notes

    Sourced from flake8-annotations's releases.

    Release v2.9.1

    [v2.9.1]

    Changed

    • #144 Unpin the version ceiling for attrs.

    Fixed

    • Fix unit tests for opinionated warning codes in flake8 >= 5.0 (See: pycqa/flake8#284)

    Release v2.9.0

    [v2.9.0]

    Added

    • #135 Add --allow-star-arg-any to support suppression of ANN401 for *args and **kwargs.

    Release v2.8.0

    [v2.8.0]

    Added

    • #131 Add the ANN4xx error level for opinionated warnings that are disabled by default.
    • #131 Add ANN401 for use of typing.Any as an argument annotation.

    Changed

    • Python 3.7 is now the minimum supported version

    Release v2.7.0

    Changelog

    [v2.7.0]

    Added

    • #122 Add support for Flake8 v4.x

    Fixed

    • #117 Stop including CHANGELOG.md when building wheels.
    Changelog

    Sourced from flake8-annotations's changelog.

    [v2.9.1]

    Changed

    • #144 Unpin the version ceiling for attrs.

    Fixed

    • (Internal) Fix unit tests for opinionated warning codes in flake8 >= 5.0 (See: pycqa/flake8#284)

    [v2.9.0]

    Added

    • #135 Add --allow-star-arg-any to support suppression of ANN401 for *args and **kwargs.

    [v2.8.0]

    Added

    • #131 Add the ANN4xx error level for opinionated warnings that are disabled by default.
    • #131 Add ANN401 for use of typing.Any as an argument annotation.

    Changed

    • Python 3.7 is now the minimum supported version

    [v2.7.0]

    Added

    • #122 Add support for Flake8 v4.x

    Fixed

    • #117 Stop including CHANGELOG.md when building wheels.
    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)
    dependencies python 
    opened by dependabot[bot] 0
Releases(v0.1)
Owner
What The Python?!
What The Python?!
thonny plugin for gitonic

thonny-gitonic thonny plugin for gitonic open gitonic in thonny by pressing Control+Shift+g, or via tools menu press ESC key to minimize gitonic windo

karl 1 Apr 12, 2022
Projeto de Jogo de dados em Python 3 onde é definido o lado a ser apostado e número de jogadas, pontuando os acertos e exibindo se ganhou ou perdeu.

Jogo de DadoX Projeto de script que simula um Jogo de dados em Python 3 onde é definido o lado a ser apostado (1, 2, 3, 4, 5 e 6) ou se vai ser um núm

Estênio Mariano 1 Jul 10, 2021
Gerador de dafaces

🎴 DefaceGenerator Obs: esse script foi criado com a intenção de ajudar pessoas iniciantes no hacking que ainda não conseguem criar suas próprias defa

LordShinigami 3 Jan 09, 2022
Simple, configuration-driven backup software for servers and workstations

title permalink borgmatic index.html It's your data. Keep it that way. borgmatic is simple, configuration-driven backup software for servers and works

borgmatic collective 1.3k Dec 30, 2022
A python script to decrypt media files encrypted using the Android application 'Secret Calculator Photo Vault'. Supports brute force of PIN also.

A python script to decrypt media files encrypted using the Android application 'Secret Calculator Photo Vault'. Supports brute force of PIN also.

3 May 01, 2022
More routines for operating on iterables, beyond itertools

More Itertools Python's itertools library is a gem - you can compose elegant solutions for a variety of problems with the functions it provides. In mo

2.8k Jan 02, 2023
A framework that let's you compose websites in Python with ease!

Perry Perry = A framework that let's you compose websites in Python with ease! Perry works similar to Qt and Flutter, allowing you to create componen

Linkus 13 Oct 09, 2022
Shopping-card - Shopping Card Project With Python

Shopping Card Project this application was built to handle problems with saving

moein98 1 May 06, 2022
Calculadora-basica - Calculator with basic operators

Calculadora básica Calculadora com operadores básicos; O programa solicitará a d

Vitor Antoni 2 Apr 26, 2022
Заглушки .NET библиотек для IronPython

Код репозитория основан на ironpython-stubs. Выражаю gtalarico бесконечную благодарность за вклад в развитие сообщества разработчиков скриптов и плаги

12 Nov 23, 2022
Github Star Tracking app with Streamlit

github-star-tracking-python-app Github Star Tracking app with Streamlit #8daysofstreamlit How to run it locally? Clone or Download & Unzip the Repo En

amrrs 4 Sep 22, 2022
Rofi script to minimize / unminimize multiple windows in qtile

Qminimize Rofi script to minimize / unminimize multiple windows in qtile Additional requirements : EWMH module fuzzywuzzy module How to use it : - Clo

9 Sep 18, 2022
A simple IDA Pro plugin to show all HexRays decompiler comments written by user

XRaysComments A simple IDA Pro plugin to show all HexRays decompiler comments written by user Installation Copy the file xray_comments.py to the plugi

Nox 20 Dec 27, 2022
TB Set color display - Add-on for Blender to set multiple objects and material Display Color at once.

TB_Set_color_display Add-on for Blender with operations to transfer name between object, data, materials and action names Set groups of object's or ma

1 Jun 01, 2022
Pre-crisis Risk Management for Personal Finance

Антикризисный риск-менеджмент личных финансов Риск-менеджмент личных финансов условиях санкций и/или финансового кризиса: делаем сегодня все, чтобы за

Dmitry Petukhov 593 Jan 09, 2023
💡 Fully automatic light management based on conditions like motion, illuminance, humidity, and other clever features

Fully automatic light management based on motion as AppDaemon app. 🕓 multiple daytimes to define different scenes for morning, noon, ... 💡 supports

Ben 105 Dec 23, 2022
Automatically remove user join messages when the user leaves the server.

CleanLeave Automatically remove user join messages when the user leaves the server. Installation You will need to install poetry to run this bot local

11 Sep 19, 2022
Just RESTing

petnica-api-workshop Just RESTing Setup Using pipenv You can setup this project with pipenv if you want isolated libraries. After you've installed pip

Aleksa Tešić 1 Oct 23, 2021
Convert .1pux to .csv

1PasswordConverter Convert .1pux to .csv 1Password uses this new export format .1pux, I assume stands for 1 Password User eXport. As of right now, 1Pa

Shayne Hartford 7 Dec 16, 2022
dta Convert Dict To Attributes!

dta (Dict to Attributes) dta is very small dict (or json) to attributes converter. It is only have 1 files and applied to every python versions.

Rukchad Wongprayoon 0 Dec 31, 2021