What The Python?!
Helping you find answers to the errors Python spits out.
You can find the source code on GitHub at: https://github.com/what-the-python/wtpython
To install directly please run:
pip install wtpython
When you are running a python script, you might eventually come across an error like so.
$ 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
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.
- 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/commitlines twice.
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
flit install -s
.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
- 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