Name | mask4llm JSON |
Version |
1.0.0
JSON |
| download |
home_page | None |
Summary | A terminal user interface (TUI) app built with Textual to easily mask and unmask sensitive information. |
upload_time | 2025-08-03 18:28:14 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.12 |
license | MIT |
keywords |
tui
textual
masking
privacy
unmasking
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# mask4llm
A terminal user interface (TUI) tool to safely mask and unmask sensitive data before interacting with large language models (LLMs). Built with Textual, it lets you obfuscate protected fields in your data before sending to an LLM, and then restore the originals after receiving the LLM's response.
## Features
- Mask sensitive info (names, emails, etc.) before sending prompts to LLMs.
- Unmask LLM output swap masked placeholders back after processing.
- Modern TUI built with Textual, with easy navigation.
- Clipboard support via pyperclip.
- Simple installation, cross-platform support.
## Installation
Install via pip (PyPI):
```base
pip install mask4llm
```
Or, if using the uv package manager:
```bash
uv pip install mask4llm
```
Once installed, launch the app with:
```bash
mask4llm
```
## Development Setup
This project is managed with `uv` and uses `Just` for dev tasks. The dev dependencies include basedpyright, ruff, pytest, and pre-commit.
1. Clone the repository and install Just and uv
```bash
git clone https://github.com/hemanthhari2000/mask4llm.git
cd mask4llm
# Install uv and just using your OS/package manager
```
2. Sync the Development Environment
```bash
just install
# or, directly:
uv sync
```
This sets up `.venv` and installs all runtime and [dev] dependencies.
3. Run App in Development
```bash
uv run mask4llm
```
## Common Just Commands
| Command | Description |
| :-------------- | :------------------------------------------------ |
| just install | Sync env & install all dependencies |
| just update | Upgrade all dependencies |
| just lint | Run Ruff for linting (with autofix) |
| just format | Run Ruff for formatting |
| just typing | Type-check with basedpyright |
| just test | Run all tests with pytest |
| just pre-commit | Run pre-commit hooks |
| just clean | Complete cleanup (caches, pyc files, venv) |
| just fresh | Clean and reinstall all dependencies |
| just all-dev | Run lint, format, and type-check (fast dev check) |
## Usage/Examples
- Mask Data:
- Paste or type sensitive data, run mask, and copy masked output to LLM prompt.
- Unmask Output:
- Paste LLM output, run unmask, and restore sensitive data.
Details and instructions are shown in the TUI footer and help screens.
## Contributing
Contributions are welcome! Please open issues or PRs as needed. Run all checks before submitting:
```bash
just all-dev && just test
```
## License
This project is licensed under the [MIT](https://choosealicense.com/licenses/mit/) license. See [LICENSE](./LICENSE) file for details.
## Acknowledgements
- [Textual](https://textual.textualize.io/) for the TUI framework.
- [uv](https://docs.astral.sh/uv/), [ruff](https://docs.astral.sh/ruff/), and [basedpyright](https://docs.basedpyright.com/latest/) for the awesome developer tools.
Raw data
{
"_id": null,
"home_page": null,
"name": "mask4llm",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "TUI, Textual, masking, privacy, unmasking",
"author": null,
"author_email": "Hemanth Kumar <hemanthhari2000@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f4/cd/615506794142e9fe4ed1d98138ed8b37eec436873e5b91e4fe9d4b2e1a4a/mask4llm-1.0.0.tar.gz",
"platform": null,
"description": "# mask4llm\n\nA terminal user interface (TUI) tool to safely mask and unmask sensitive data before interacting with large language models (LLMs). Built with Textual, it lets you obfuscate protected fields in your data before sending to an LLM, and then restore the originals after receiving the LLM's response.\n\n## Features\n\n- Mask sensitive info (names, emails, etc.) before sending prompts to LLMs.\n- Unmask LLM output swap masked placeholders back after processing.\n- Modern TUI built with Textual, with easy navigation.\n- Clipboard support via pyperclip.\n- Simple installation, cross-platform support.\n\n## Installation\n\nInstall via pip (PyPI):\n\n```base\npip install mask4llm\n```\n\nOr, if using the uv package manager:\n\n```bash\nuv pip install mask4llm\n```\n\nOnce installed, launch the app with:\n\n```bash\nmask4llm\n```\n\n## Development Setup\n\nThis project is managed with `uv` and uses `Just` for dev tasks. The dev dependencies include basedpyright, ruff, pytest, and pre-commit.\n\n1. Clone the repository and install Just and uv\n\n```bash\ngit clone https://github.com/hemanthhari2000/mask4llm.git\ncd mask4llm\n# Install uv and just using your OS/package manager\n```\n\n2. Sync the Development Environment\n\n```bash\njust install\n# or, directly:\nuv sync\n```\n\nThis sets up `.venv` and installs all runtime and [dev] dependencies.\n\n3. Run App in Development\n\n```bash\nuv run mask4llm\n```\n\n## Common Just Commands\n\n| Command | Description |\n| :-------------- | :------------------------------------------------ |\n| just install | Sync env & install all dependencies |\n| just update | Upgrade all dependencies |\n| just lint | Run Ruff for linting (with autofix) |\n| just format | Run Ruff for formatting |\n| just typing | Type-check with basedpyright |\n| just test | Run all tests with pytest |\n| just pre-commit | Run pre-commit hooks |\n| just clean | Complete cleanup (caches, pyc files, venv) |\n| just fresh | Clean and reinstall all dependencies |\n| just all-dev | Run lint, format, and type-check (fast dev check) |\n\n## Usage/Examples\n\n- Mask Data:\n\n - Paste or type sensitive data, run mask, and copy masked output to LLM prompt.\n\n- Unmask Output:\n - Paste LLM output, run unmask, and restore sensitive data.\n\nDetails and instructions are shown in the TUI footer and help screens.\n\n## Contributing\n\nContributions are welcome! Please open issues or PRs as needed. Run all checks before submitting:\n\n```bash\njust all-dev && just test\n```\n\n## License\n\nThis project is licensed under the [MIT](https://choosealicense.com/licenses/mit/) license. See [LICENSE](./LICENSE) file for details.\n\n## Acknowledgements\n\n- [Textual](https://textual.textualize.io/) for the TUI framework.\n- [uv](https://docs.astral.sh/uv/), [ruff](https://docs.astral.sh/ruff/), and [basedpyright](https://docs.basedpyright.com/latest/) for the awesome developer tools.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A terminal user interface (TUI) app built with Textual to easily mask and unmask sensitive information.",
"version": "1.0.0",
"project_urls": null,
"split_keywords": [
"tui",
" textual",
" masking",
" privacy",
" unmasking"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a9e31da14ea643fa799f79d477e5c783f4f25e7e5208d0419af7f21968dd2fc5",
"md5": "a3ddeda8b3fa3b395728ffbd1f4275e7",
"sha256": "4ee023d5c08282fb37104353e9cb3d28c8fd3a742a2cd80012b450fa96ba0633"
},
"downloads": -1,
"filename": "mask4llm-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a3ddeda8b3fa3b395728ffbd1f4275e7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 7530,
"upload_time": "2025-08-03T18:28:13",
"upload_time_iso_8601": "2025-08-03T18:28:13.412642Z",
"url": "https://files.pythonhosted.org/packages/a9/e3/1da14ea643fa799f79d477e5c783f4f25e7e5208d0419af7f21968dd2fc5/mask4llm-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f4cd615506794142e9fe4ed1d98138ed8b37eec436873e5b91e4fe9d4b2e1a4a",
"md5": "d2822323abd8f40fc17ea0b26373ab47",
"sha256": "7a9ba95afc313c9d72a37eba829d989d71411ecc453a3430ce3318dcc8223e11"
},
"downloads": -1,
"filename": "mask4llm-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "d2822323abd8f40fc17ea0b26373ab47",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 34997,
"upload_time": "2025-08-03T18:28:14",
"upload_time_iso_8601": "2025-08-03T18:28:14.821968Z",
"url": "https://files.pythonhosted.org/packages/f4/cd/615506794142e9fe4ed1d98138ed8b37eec436873e5b91e4fe9d4b2e1a4a/mask4llm-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-03 18:28:14",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "mask4llm"
}