{"id":22264349,"url":"https://github.com/theitsprojects/itsprompt","last_synced_at":"2025-08-25T00:32:08.704Z","repository":{"id":119360379,"uuid":"610211829","full_name":"TheItsProjects/ItsPrompt","owner":"TheItsProjects","description":"Prompting - the fancy way","archived":false,"fork":false,"pushed_at":"2024-04-24T13:17:28.000Z","size":2289,"stargazers_count":27,"open_issues_count":9,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-17T04:22:24.141Z","etag":null,"topics":["cli","cli-app","cmd","command-line","command-line-interface","inquirer","itsprompt","python","python-3","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheItsProjects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-03-06T10:17:14.000Z","updated_at":"2024-07-25T10:49:22.000Z","dependencies_parsed_at":"2024-01-02T20:21:42.385Z","dependency_job_id":"5f3d4834-56b2-4966-a4c3-9d94bce6c863","html_url":"https://github.com/TheItsProjects/ItsPrompt","commit_stats":{"total_commits":17,"total_committers":2,"mean_commits":8.5,"dds":0.4117647058823529,"last_synced_commit":"37413e2c959ec8c8bcb24053c99471fa25159b6f"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheItsProjects%2FItsPrompt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheItsProjects%2FItsPrompt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheItsProjects%2FItsPrompt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheItsProjects%2FItsPrompt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheItsProjects","download_url":"https://codeload.github.com/TheItsProjects/ItsPrompt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230852613,"owners_count":18290082,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","cli-app","cmd","command-line","command-line-interface","inquirer","itsprompt","python","python-3","python3"],"created_at":"2024-12-03T10:08:37.836Z","updated_at":"2024-12-22T15:55:58.294Z","avatar_url":"https://github.com/TheItsProjects.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPI version](https://badge.fury.io/py/ItsPrompt.svg)](https://badge.fury.io/py/ItsPrompt)\n[![linting](https://github.com/TheItsProjects/ItsPrompt/actions/workflows/lint.yml/badge.svg)](https://github.com/TheItsProjects/ItsPrompt/actions/workflows/lint.yml)\n[![Tests](https://github.com/TheItsProjects/ItsPrompt/actions/workflows/tests.yml/badge.svg)](https://github.com/TheItsProjects/ItsPrompt/actions/workflows/tests.yml)\n\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/ItsPrompt)](https://pypi.org/project/ItsPrompt/)\n[![GitHub issues](https://img.shields.io/github/issues/TheItsProjects/ItsPrompt)](https://github.com/TheItsProjects/ItsPrompt/issues)\n[![GitHub Repo stars](https://img.shields.io/github/stars/TheItsProjects/ItsPrompt)](https://github.com/TheItsProjects/ItsPrompt/stargazers)\n[![GitHub](https://img.shields.io/github/license/TheitsProjects/ItsPrompt)](https://github.com/TheItsProjects/ItsPrompt/blob/main/LICENSE)\n[![Discord](https://img.shields.io/discord/1082381448624996514)](https://discord.gg/rP9Qke2jDs)\n\n[![Read the Docs](https://img.shields.io/readthedocs/itsprompt)](http://itsprompt.readthedocs.io/)\n\n![Demonstration](https://raw.githubusercontent.com/TheItsProjects/ItsPrompt/main/docs/source/media/ItsPrompt.gif)\n\n# ItsPrompt\n\nDo you ever feel the need to ask a user of your code for an input?\n\nUsing `input()` is easy, but is it great?\n\nDo you want to give the user a selection list, a yes-or-no question, or maybe a multiline input field?\n\nAnd do you think all of this should be done easily, without caring to much how it all works?\n\nThen you are right here! **ItsPrompt** allows you to ask the user for input, the *fancy* way.\n\n**ItsPrompt** tries to be an easy-to-use module for managing prompts for the user. Your task is to create a great\nprogram, not finding yourself questioning how to ask the user for input. That is why **ItsPrompt** is there to take care\nof this problem, so you can focus on the important things!\n\n## TOC\n\n\u003c!-- TOC --\u003e\n* [ItsPrompt](#itsprompt)\n  * [TOC](#toc)\n    * [A small, thankful note](#a-small-thankful-note)\n  * [Features](#features)\n  * [Installation](#installation)\n  * [Quick Example](#quick-example)\n  * [Usage](#usage)\n  * [Further Information](#further-information)\n\u003c!-- TOC --\u003e\n\n---\n\n### A small, thankful note\n\nThis project is not the first to accomplish the above-mentioned tasks. There is another package, `PyInquirer`, which\ninspired me to build **ItsPrompt**.\n\nOn my way to create a small program I came to a point were I needed a simple GUI, and I tried `PyInquirer`.\nUnfortunately, at the current time it is not actively maintained and a bit outdated. I thought of updating it, but then\nI thought \"*Isn't it easier to just create my own version?*\" - And so I did!\n\n**ItsPrompt** is not a copy or a fork of `PyInquirer`. I built this module from the ground up, without ever looking deep\ninto the source code of `PyInquirer`.\n\nOn my way to build this package, I learned a lot about `prompt-toolkit`, and all of this just because of `PyInquirer`!\nThanks!\n\n---\n\n## Features\n\n- many prompt types:\n    - select\n    - raw_select\n    - expand\n    - checkbox\n    - confirm\n    - input\n    - table\n- prompt autocompletion and validation\n- customizable style with `prompt_toolkit`\n- a helpful toolbar with error messages\n- simple, pythonic syntax\n\n---\n\n## Installation\n\nThis package is hosted on pypi, so the installation is as simple as it can get:\n\n```bash\npython3 -m pip install ItsPrompt\n```\n\nThis will install `ItsPrompt` without pandas. If you want to use `TablePrompt`\n(see [table](https://itsprompt.readthedocs.io/en/latest/guide/prompt_types.html#table)) with\n`pandas.DataFrame`, you can install pandas support either by:\n\n- installing pandas separately\n- install `ItsPrompt` via `pip install ItsPrompt[df]`\n\n---\n\n## Quick Example\n\nImport the `Prompt` class:\n\n```py\nfrom ItsPrompt.prompt import Prompt\n```\n\nNow you can ask the user any type of prompt by calling the specific function from the `Prompt` class, e.g.:\n\n```py\nresult = Prompt.input('What is your name?')\nprint(result)\n```\n\nYou see how easy it is?\n\n---\n\n## Usage\n\nTo learn more about the usage, visit our [documentation](https://itsprompt.readthedocs.io).\n\n---\n\n## Further Information\n\nVisit our [documentation](https://itsprompt.readthedocs.io/) to learn more about the usage of **ItsPrompt**!\n\nIf you need some easy examples, refer to [example.py](example.py)!\n\nIf you want to contribute, check out the projects repository: [ItsPrompt](https://github.com/TheItsProjects/ItsPrompt)!\n\nIf you got any other questions, or want to give an idea on how to improve **ItsPrompt**:\n\n- visit our discussions: [ItsPrompt Discussions](https://github.com/TheItsProjects/ItsPrompt/discussions)!\n- join our discord: [TheItsProjects](https://discord.gg/rP9Qke2jDs)!\n\n---\n\nPuh, that was so much to read... But now, lets have fun with **ItsPrompt**!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheitsprojects%2Fitsprompt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheitsprojects%2Fitsprompt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheitsprojects%2Fitsprompt/lists"}