You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			173 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			173 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
Metadata-Version: 2.4
 | 
						|
Name: prompt_toolkit
 | 
						|
Version: 3.0.52
 | 
						|
Summary: Library for building powerful interactive command lines in Python
 | 
						|
Author: Jonathan Slenders
 | 
						|
Project-URL: Homepage, https://github.com/prompt-toolkit/python-prompt-toolkit
 | 
						|
Project-URL: Documentation, https://python-prompt-toolkit.readthedocs.io/en/stable/
 | 
						|
Classifier: Development Status :: 5 - Production/Stable
 | 
						|
Classifier: Intended Audience :: Developers
 | 
						|
Classifier: License :: OSI Approved :: BSD License
 | 
						|
Classifier: Operating System :: OS Independent
 | 
						|
Classifier: Programming Language :: Python :: 3
 | 
						|
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 :: 3.13
 | 
						|
Classifier: Programming Language :: Python :: 3 :: Only
 | 
						|
Classifier: Programming Language :: Python
 | 
						|
Classifier: Topic :: Software Development
 | 
						|
Requires-Python: >=3.8
 | 
						|
Description-Content-Type: text/x-rst
 | 
						|
License-File: LICENSE
 | 
						|
License-File: AUTHORS.rst
 | 
						|
Requires-Dist: wcwidth
 | 
						|
Dynamic: license-file
 | 
						|
 | 
						|
Python Prompt Toolkit
 | 
						|
=====================
 | 
						|
 | 
						|
|AppVeyor|  |PyPI|  |RTD|  |License|  |Codecov|
 | 
						|
 | 
						|
.. image :: /docs/images/logo_400px.png
 | 
						|
 | 
						|
``prompt_toolkit`` *is a library for building powerful interactive command line applications in Python.*
 | 
						|
 | 
						|
Read the `documentation on readthedocs
 | 
						|
<http://python-prompt-toolkit.readthedocs.io/en/stable/>`_.
 | 
						|
 | 
						|
 | 
						|
Gallery
 | 
						|
*******
 | 
						|
 | 
						|
`ptpython <http://github.com/prompt-toolkit/ptpython/>`_ is an interactive
 | 
						|
Python Shell, build on top of ``prompt_toolkit``.
 | 
						|
 | 
						|
.. image :: /docs/images/ptpython.png
 | 
						|
 | 
						|
`More examples <https://python-prompt-toolkit.readthedocs.io/en/stable/pages/gallery.html>`_
 | 
						|
 | 
						|
 | 
						|
prompt_toolkit features
 | 
						|
***********************
 | 
						|
 | 
						|
``prompt_toolkit`` could be a replacement for `GNU readline
 | 
						|
<https://tiswww.case.edu/php/chet/readline/rltop.html>`_, but it can be much
 | 
						|
more than that.
 | 
						|
 | 
						|
Some features:
 | 
						|
 | 
						|
- **Pure Python**.
 | 
						|
- Syntax highlighting of the input while typing. (For instance, with a Pygments lexer.)
 | 
						|
- Multi-line input editing.
 | 
						|
- Advanced code completion.
 | 
						|
- Both Emacs and Vi key bindings. (Similar to readline.)
 | 
						|
- Even some advanced Vi functionality, like named registers and digraphs.
 | 
						|
- Reverse and forward incremental search.
 | 
						|
- Works well with Unicode double width characters. (Chinese input.)
 | 
						|
- Selecting text for copy/paste. (Both Emacs and Vi style.)
 | 
						|
- Support for `bracketed paste <https://cirw.in/blog/bracketed-paste>`_.
 | 
						|
- Mouse support for cursor positioning and scrolling.
 | 
						|
- Auto suggestions. (Like `fish shell <http://fishshell.com/>`_.)
 | 
						|
- Multiple input buffers.
 | 
						|
- No global state.
 | 
						|
- Lightweight, the only dependencies are Pygments and wcwidth.
 | 
						|
- Runs on Linux, OS X, FreeBSD, OpenBSD and Windows systems.
 | 
						|
- And much more...
 | 
						|
 | 
						|
Feel free to create tickets for bugs and feature requests, and create pull
 | 
						|
requests if you have nice patches that you would like to share with others.
 | 
						|
 | 
						|
 | 
						|
Installation
 | 
						|
************
 | 
						|
 | 
						|
::
 | 
						|
 | 
						|
    pip install prompt_toolkit
 | 
						|
 | 
						|
For Conda, do:
 | 
						|
 | 
						|
::
 | 
						|
 | 
						|
    conda install -c https://conda.anaconda.org/conda-forge prompt_toolkit
 | 
						|
 | 
						|
 | 
						|
About Windows support
 | 
						|
*********************
 | 
						|
 | 
						|
``prompt_toolkit`` is cross platform, and everything that you build on top
 | 
						|
should run fine on both Unix and Windows systems. Windows support is best on
 | 
						|
recent Windows 10 builds, for which the command line window supports vt100
 | 
						|
escape sequences. (If not supported, we fall back to using Win32 APIs for color
 | 
						|
and cursor movements).
 | 
						|
 | 
						|
It's worth noting that the implementation is a "best effort of what is
 | 
						|
possible". Both Unix and Windows terminals have their limitations. But in
 | 
						|
general, the Unix experience will still be a little better.
 | 
						|
 | 
						|
 | 
						|
Getting started
 | 
						|
***************
 | 
						|
 | 
						|
The most simple example of the library would look like this:
 | 
						|
 | 
						|
.. code:: python
 | 
						|
 | 
						|
    from prompt_toolkit import prompt
 | 
						|
 | 
						|
    if __name__ == '__main__':
 | 
						|
        answer = prompt('Give me some input: ')
 | 
						|
        print('You said: %s' % answer)
 | 
						|
 | 
						|
For more complex examples, have a look in the ``examples`` directory. All
 | 
						|
examples are chosen to demonstrate only one thing. Also, don't be afraid to
 | 
						|
look at the source code. The implementation of the ``prompt`` function could be
 | 
						|
a good start.
 | 
						|
 | 
						|
Philosophy
 | 
						|
**********
 | 
						|
 | 
						|
The source code of ``prompt_toolkit`` should be **readable**, **concise** and
 | 
						|
**efficient**. We prefer short functions focusing each on one task and for which
 | 
						|
the input and output types are clearly specified. We mostly prefer composition
 | 
						|
over inheritance, because inheritance can result in too much functionality in
 | 
						|
the same object. We prefer immutable objects where possible (objects don't
 | 
						|
change after initialization). Reusability is important. We absolutely refrain
 | 
						|
from having a changing global state, it should be possible to have multiple
 | 
						|
independent instances of the same code in the same process. The architecture
 | 
						|
should be layered: the lower levels operate on primitive operations and data
 | 
						|
structures giving -- when correctly combined -- all the possible flexibility;
 | 
						|
while at the higher level, there should be a simpler API, ready-to-use and
 | 
						|
sufficient for most use cases. Thinking about algorithms and efficiency is
 | 
						|
important, but avoid premature optimization.
 | 
						|
 | 
						|
 | 
						|
`Projects using prompt_toolkit <PROJECTS.rst>`_
 | 
						|
***********************************************
 | 
						|
 | 
						|
Special thanks to
 | 
						|
*****************
 | 
						|
 | 
						|
- `Pygments <http://pygments.org/>`_: Syntax highlighter.
 | 
						|
- `wcwidth <https://github.com/jquast/wcwidth>`_: Determine columns needed for a wide characters.
 | 
						|
 | 
						|
.. |PyPI| image:: https://img.shields.io/pypi/v/prompt_toolkit.svg
 | 
						|
    :target: https://pypi.python.org/pypi/prompt-toolkit/
 | 
						|
    :alt: Latest Version
 | 
						|
 | 
						|
.. |AppVeyor| image:: https://ci.appveyor.com/api/projects/status/32r7s2skrgm9ubva?svg=true
 | 
						|
    :target: https://ci.appveyor.com/project/prompt-toolkit/python-prompt-toolkit/
 | 
						|
 | 
						|
.. |RTD| image:: https://readthedocs.org/projects/python-prompt-toolkit/badge/
 | 
						|
    :target: https://python-prompt-toolkit.readthedocs.io/en/master/
 | 
						|
 | 
						|
.. |License| image:: https://img.shields.io/github/license/prompt-toolkit/python-prompt-toolkit.svg
 | 
						|
    :target: https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/LICENSE
 | 
						|
 | 
						|
.. |Codecov| image:: https://codecov.io/gh/prompt-toolkit/python-prompt-toolkit/branch/master/graphs/badge.svg?style=flat
 | 
						|
    :target: https://codecov.io/gh/prompt-toolkit/python-prompt-toolkit/
 | 
						|
 |