# 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.9",
"maintainer_email": null,
"keywords": null,
"author": "Denis Mulyalin",
"author_email": "d.mulyalin@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/84/f4/de8ea3e5fe4c45fec321a0e02b9237ef56bd9383098456cc8db53f289b85/picle-0.8.5.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.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python Interactive Command Line Shells",
"version": "0.8.5",
"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": "23c1ca2099e2e9a79fc167cc7eccaa2df0ccfcc89be004bf0262fbf05c7c0c4e",
"md5": "347d70e7c9a4123f349f16c6db528fa6",
"sha256": "9d175cb4e8bddcc10da65efe572f26725b5eef355d0991f20588f0b9fe3b110b"
},
"downloads": -1,
"filename": "picle-0.8.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "347d70e7c9a4123f349f16c6db528fa6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 15940,
"upload_time": "2025-02-16T02:08:02",
"upload_time_iso_8601": "2025-02-16T02:08:02.880894Z",
"url": "https://files.pythonhosted.org/packages/23/c1/ca2099e2e9a79fc167cc7eccaa2df0ccfcc89be004bf0262fbf05c7c0c4e/picle-0.8.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "84f4de8ea3e5fe4c45fec321a0e02b9237ef56bd9383098456cc8db53f289b85",
"md5": "9d0e5034d94ff031ef080839e64a73e8",
"sha256": "0c78eaab0b32b8979ff0943311016573ae0c9edbbb519bfa5b2a2233f8046177"
},
"downloads": -1,
"filename": "picle-0.8.5.tar.gz",
"has_sig": false,
"md5_digest": "9d0e5034d94ff031ef080839e64a73e8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 14916,
"upload_time": "2025-02-16T02:08:04",
"upload_time_iso_8601": "2025-02-16T02:08:04.823439Z",
"url": "https://files.pythonhosted.org/packages/84/f4/de8ea3e5fe4c45fec321a0e02b9237ef56bd9383098456cc8db53f289b85/picle-0.8.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-16 02:08:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dmulyalin",
"github_project": "picle",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "picle"
}