Metadata-Version: 2.1
Name: picle
Version: 0.7.3
Summary: Python Interactive Command Line Shells
Home-page: https://github.com/dmulyalin/picle
License: MIT
Author: Denis Mulyalin
Author-email: d.mulyalin@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Provides-Extra: docs
Provides-Extra: full
Requires-Dist: mkdocs (==1.2.4) ; (python_version >= "3.7") and (extra == "docs")
Requires-Dist: mkdocs-material (==7.2.2) ; (python_version >= "3.7") and (extra == "docs")
Requires-Dist: mkdocs-material-extensions (==1.0.1) ; (python_version >= "3.7") and (extra == "docs")
Requires-Dist: mkdocstrings[python] (>=0.18.0,<0.19.0) ; (python_version >= "3.7") and (extra == "docs")
Requires-Dist: pydantic (>=2.0.1,<=3.0.0)
Requires-Dist: pygments (==2.11) ; (python_version >= "3.7") and (extra == "docs")
Requires-Dist: pymdown-extensions (==9.3) ; (python_version >= "3.7") and (extra == "docs")
Requires-Dist: pyreadline3 (==3.4.1) ; sys_platform == "win32"
Requires-Dist: rich (>=13.0.0,<=14.0.0) ; extra == "full"
Project-URL: Documentation, https://dmulyalin.github.io/picle/
Project-URL: Repository, https://github.com/dmulyalin/picle
Description-Content-Type: text/markdown

# PICLE - Python Interactive Command Line Shells

PICLE is a module to construct interactive command line shell
applications using Pydantic models.

Built on top of Python's standard library 
[CMD module](https://docs.python.org/3/library/cmd.html) and 
uses [Pydantic](https://docs.pydantic.dev/) models to construct 
shell environments.

Welcome to [documentation](https://dmulyalin.github.io/picle/) to
explore it further.

# Comparison With Other Projects

[python-nubia](https://github.com/facebookarchive/python-nubia) by 
Facebook - unfortunately this project no longer maintained, it also 
provides no integration with Pydantic.

Why not [python-fire](https://github.com/google/python-fire), 
[click](https://github.com/pallets/click) or 
[argparse](https://docs.python.org/3/library/argparse.html) - 
all these libraries are great for building command line tools, 
but they provide no support for interactive shell or input 
comprehensive validation supported by Pydantic.

Why not 
[prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) 
or [textual](https://github.com/Textualize/textual) - those are extremely 
good libraries for building Terminal User Interface (TUI) applications but 
they provide no support for interactive shell and Pydantic validation of 
input.
