# 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/dmulyalin/picle",
"name": "picle",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Denis Mulyalin",
"author_email": "d.mulyalin@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/70/21/af0bd7f4400f64e944cd1ca936b922734fe13ecffc6faee7c5f977e6e148/picle-0.5.3.tar.gz",
"platform": null,
"description": "# PICLE - Python Interactive Command Line Shells\n\nPICLE is a module to construct interactive command line shell\napplications using Pydantic models.\n\nBuilt on top of Python's standard library \n[CMD module](https://docs.python.org/3/library/cmd.html) and \nuses [Pydantic](https://docs.pydantic.dev/) models to construct \nshell environments.\n\nWelcome to [documentation](https://dmulyalin.github.io/picle/) to\nexplore it further.\n\n# Comparison With Other Projects\n\n[python-nubia](https://github.com/facebookarchive/python-nubia) by \nFacebook - unfortunately this project no longer maintained, it also \nprovides no integration with Pydantic.\n\nWhy not [python-fire](https://github.com/google/python-fire), \n[click](https://github.com/pallets/click) or \n[argparse](https://docs.python.org/3/library/argparse.html) - \nall these libraries are great for building command line tools, \nbut they provide no support for interactive shell or input \ncomprehensive validation supported by Pydantic.\n\nWhy not \n[prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) \nor [textual](https://github.com/Textualize/textual) - those are extremely \ngood libraries for building Terminal User Interface (TUI) applications but \nthey provide no support for interactive shell and Pydantic validation of \ninput.",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python Interactive Command Line Shells",
"version": "0.5.3",
"project_urls": {
"Documentation": "https://dmulyalin.github.io/picle/",
"Homepage": "https://github.com/dmulyalin/picle",
"Repository": "https://github.com/dmulyalin/picle"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ce1f565aa1c4c110990941a2a1900d1acc5e4bce7abe1e114165be53f6372c6b",
"md5": "01fa87862b587eae5d54e9a54467fc1a",
"sha256": "c9b6ddb3455e6bde033a6b7237b1576d635f2a91ef78e7118fddbecd9c820460"
},
"downloads": -1,
"filename": "picle-0.5.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "01fa87862b587eae5d54e9a54467fc1a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 12991,
"upload_time": "2024-05-05T11:32:47",
"upload_time_iso_8601": "2024-05-05T11:32:47.402018Z",
"url": "https://files.pythonhosted.org/packages/ce/1f/565aa1c4c110990941a2a1900d1acc5e4bce7abe1e114165be53f6372c6b/picle-0.5.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7021af0bd7f4400f64e944cd1ca936b922734fe13ecffc6faee7c5f977e6e148",
"md5": "9d81293d3c890eb87f113c31390fc2a4",
"sha256": "afdff09d0390e482ef1418af74a383e03f9f96683a2c0e66bf6b8475fd48e930"
},
"downloads": -1,
"filename": "picle-0.5.3.tar.gz",
"has_sig": false,
"md5_digest": "9d81293d3c890eb87f113c31390fc2a4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 12187,
"upload_time": "2024-05-05T11:32:49",
"upload_time_iso_8601": "2024-05-05T11:32:49.137466Z",
"url": "https://files.pythonhosted.org/packages/70/21/af0bd7f4400f64e944cd1ca936b922734fe13ecffc6faee7c5f977e6e148/picle-0.5.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-05 11:32:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dmulyalin",
"github_project": "picle",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "picle"
}