Skip to main content

IO Extention

Project description

Advanced Input

Advanced input for python, where you can read in just one character or have inputs priority ordered.

Usage

from advanced-input import get_advanced_input, PriorityOrder
from threading import Thread
from time import sleep

input_handler = get_advanced_input()

def thread_one():
    user_input = input_handler.input(priority=PriorityOrder.High)
    print(user_input)

def main():
    backgroundThread = Thread(target=thread_one)
    backgroundThread.start()
    sleep(.1)
    input_handler.read("Press any character to exit...", PriorityOrder.Low)
    input_handler.stop()

This will result in a user input for thread_one being created before the main function's exit will be available. Normally, this would result in the program exiting, before accepting the user input of thread_one. With this, thread one will be in a higher priority than main, and that will be the first to be served the user's input. Additionally, Read() returns when one character is pressed.

If there are multiple inputs with the same priority, it will return them in a first come last serve method.

Windows quirks

Due to how Windows works with new line (\r\n), on Windows it is not possible to read the "Carriage Return" (\r) character. It will always return "Line Feed" (\n) instead. Due to how Windows console works, the default (utf-8) encoding input will not work with some special character. For it to work, please specify the encoding of your system.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

advanced_input-0.2.2.tar.gz (43.6 kB view details)

Uploaded Source

Built Distribution

advanced_input-0.2.2-py3-none-any.whl (43.7 kB view details)

Uploaded Python 3

File details

Details for the file advanced_input-0.2.2.tar.gz.

File metadata

  • Download URL: advanced_input-0.2.2.tar.gz
  • Upload date:
  • Size: 43.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.13

File hashes

Hashes for advanced_input-0.2.2.tar.gz
Algorithm Hash digest
SHA256 a3902b91361e20b92c6d2fafbe1fc283a072b2ef8ab7aa73fe50c0fed487da38
MD5 9befc39cc8ee67c0e61cb41391db8790
BLAKE2b-256 a165815c27017ac44c26dc239cee2f35bedd5885394ba5e24986da84bd36d82c

See more details on using hashes here.

File details

Details for the file advanced_input-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for advanced_input-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 536f4336e42e3c6a5cc24f92459fca5d8f14187577dc4ff505c9ae10d842e358
MD5 0b1e33fa6ff1ef0bf324eef536dae994
BLAKE2b-256 9dc2fde5e1ae717326eda566849ebad6964e4c822745ec55c8fdd531eafb3d01

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page