mirror of
https://github.com/Lyxminxx/weatherCLI.git
synced 2026-10-12 05:07:45 +02:00
190 lines
7.3 KiB
Plaintext
190 lines
7.3 KiB
Plaintext
Metadata-Version: 2.1
|
|
Name: readchar
|
|
Version: 4.2.1
|
|
Summary: Library to easily read single chars and key strokes
|
|
Author-email: Miguel Ángel García <[email protected]>, Jan Wille <[email protected]>
|
|
Maintainer-email: Jan Wille <[email protected]>
|
|
License: MIT Licence
|
|
|
|
Copyright (c) 2022 Miguel Angel Garcia
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicence, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.
|
|
|
|
Project-URL: Homepage, https://pypi.org/project/readchar
|
|
Project-URL: Repository, https://github.com/magmax/python-readchar
|
|
Project-URL: Issues, https://github.com/magmax/python-readchar/issues
|
|
Project-URL: Changelog, https://github.com/magmax/python-readchar/releases
|
|
Keywords: characters,keystrokes,stdin,command line
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Operating System :: Microsoft :: Windows
|
|
Classifier: Operating System :: POSIX :: Linux
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
Classifier: Programming Language :: Python :: 3.8
|
|
Classifier: Programming Language :: Python :: 3.9
|
|
Classifier: Programming Language :: Python :: 3.10
|
|
Classifier: Programming Language :: Python :: 3.11
|
|
Classifier: Programming Language :: Python :: 3.12
|
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
Classifier: Environment :: Console
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: Topic :: Software Development
|
|
Classifier: Topic :: Software Development :: User Interfaces
|
|
Requires-Python: >=3.8
|
|
Description-Content-Type: text/markdown
|
|
License-File: LICENCE
|
|
|
|
[](https://github.com/magmax/python-readchar)
|
|
[](https://pypi.python.org/pypi/readchar)
|
|
[](https://pypi.python.org/pypi/readchar)
|
|
[](LICENCE) <br>
|
|
[](https://github.com/magmax/python-readchar/actions/workflows/run-tests.yaml?query=branch%3Amaster)
|
|
[](https://coveralls.io/github/magmax/python-readchar?branch=master)
|
|
[](https://pypi.python.org/pypi/readchar)
|
|
|
|
# python-readchar
|
|
|
|
Library to easily read single chars and keystrokes.
|
|
|
|
Born as a [python-inquirer](https://github.com/magmax/python-inquirer) requirement.
|
|
|
|
## Installation
|
|
|
|
simply install it via `pip`:
|
|
|
|
```bash
|
|
pip install readchar
|
|
```
|
|
|
|
Or download the source code from [PyPi](https://pypi.python.org/pypi/readchar).
|
|
|
|
## Usage
|
|
|
|
Simply read a character or keystroke:
|
|
|
|
```python
|
|
import readchar
|
|
|
|
key = readchar.readkey()
|
|
```
|
|
|
|
React to different kinds of key-presses:
|
|
|
|
```python
|
|
from readchar import readkey, key
|
|
|
|
while True:
|
|
k = readkey()
|
|
if k == "a":
|
|
# do stuff
|
|
if k == key.DOWN:
|
|
# do stuff
|
|
if k == key.ENTER:
|
|
break
|
|
```
|
|
|
|
## Documentation
|
|
|
|
There are just two methods:
|
|
|
|
### `readchar.readchar() -> str`
|
|
|
|
Reads one character from `stdin`, returning it as a string with length 1. Waits until a
|
|
character is available.
|
|
|
|
As only ASCII characters are actually a single character, you usually want to use the
|
|
next function, that also handles longer keys.
|
|
|
|
### `readchar.readkey() -> str`
|
|
|
|
Reads the next keystroke from `stdin`, returning it as a string. Waits until a keystroke
|
|
is available.
|
|
|
|
A keystroke can be:
|
|
|
|
- single characters as returned by `readchar()`. These include:
|
|
- character for normal keys: <kbd>a</kbd>, <kbd>Z</kbd>, <kbd>9</kbd>,...
|
|
- special characters like <kbd>ENTER</kbd>, <kbd>BACKSPACE</kbd>, <kbd>TAB</kbd>,...
|
|
- combinations with <kbd>CTRL</kbd>: <kbd>CTRL</kbd>+<kbd>A</kbd>,...
|
|
- keys that are made up of multiple characters:
|
|
- characters for cursors/arrows: <kbd>🡩</kbd>, <kbd>🡪</kbd>, <kbd>🡫</kbd>,
|
|
<kbd>🡨</kbd>
|
|
- navigation keys: <kbd>INSERT</kbd>, <kbd>HOME</kbd>,...
|
|
- function keys: <kbd>F1</kbd> to <kbd>F12</kbd>
|
|
- combinations with <kbd>ALT</kbd>: <kbd>ALT</kbd>+<kbd>A</kbd>,...
|
|
- combinations with <kbd>CTRL</kbd> and <kbd>ALT</kbd>:
|
|
<kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>SUPR</kbd>,...
|
|
|
|
> **Note** <kbd>CTRL</kbd>+<kbd>C</kbd> will not be returned by `readkey()`, but instead
|
|
> raise a `KeyboardInterupt`. If you want to handle it yourself, use `readchar()`.
|
|
|
|
### `readchar.key` module
|
|
|
|
This submodule contains a list of available keys to compare against. The constants are
|
|
defined depending on your operating system, so it should be fully portable. If a key is
|
|
listed here for your platform, `readkey()` can read it, and you can compare against it.
|
|
|
|
### `readchar.config` class
|
|
|
|
This static class contains configurations for `readchar`. It holds constants that are
|
|
used in other parts of the code as class attributes. You can override/change these to
|
|
modify its behaviour. Here is a description of the existing attributes:
|
|
|
|
<dl>
|
|
<dt><code>INTERRUPT_KEYS</code></dt>
|
|
<dd>
|
|
|
|
List of keys that will result in `readkey()` raising a `KeyboardInterrupt`. <br>
|
|
*Default:* `[key.CTRL_C]`
|
|
|
|
</dd>
|
|
</dl>
|
|
|
|
## OS Support
|
|
|
|
This library actively supports these operating systems:
|
|
|
|
- Linux
|
|
- Windows
|
|
|
|
Some operating systems are enabled, but not actively tested or supported:
|
|
|
|
- macOS
|
|
- FreeBSD / OpenBSD
|
|
|
|
Theoretically every Unix based system should work, but they will not be actively tested.
|
|
It is also required that somebody provides initial test results before the OS is enabled
|
|
and added to the list. Feel free to open a PR for that.
|
|
|
|
Thank you!
|
|
|
|
## How to contribute
|
|
|
|
You have an issue problem or found a bug? You have a great new idea or just want to fix
|
|
a typo? Great :+1:. We are happy to accept your issue or pull request, but first, please
|
|
read our
|
|
[contribution guidelines](https://github.com/magmax/python-readchar/blob/master/CONTRIBUTING.md).
|
|
They will also tell you how to write code for this repo and how to properly prepare an
|
|
issue or a pull request.
|
|
|
|
______________________________________________________________________
|
|
|
|
*Copyright (c) 2014-2022 Miguel Ángel García*
|