# ConsoleM
A powerful Python library for terminal manipulation and text styling. ConsoleM provides a simple and intuitive API for creating beautiful terminal applications with advanced features like cursor control, text styling, and keyboard input handling.
## Features
* **Terminal Manipulation**
* Precise cursor movement (absolute and relative positioning)
* Screen clearing and line management
* Alternate screen support for full-screen applications
* Terminal size detection and cursor position tracking
* Cursor visibility control
* Non-blocking keyboard input handling
* **Text Styling**
* Rich text formatting with intuitive markup syntax
* 256-color support (foreground and background)
* Text styles (bold, underline, italic, etc.)
* Emoji support with automatic conversion
* Easy-to-use BBCode-like markup syntax
* Automatic style reset and cleanup
* **Input Handling**
* Non-blocking keyboard input capture
* Key event queue management
* Special key detection (arrows, function keys, etc.)
* Thread-safe input processing
* Clean shutdown handling
## Installation
```bash
pip install ConsoleM
```
## Quick Start
```python
from ConsoleM import Terminal
from ConsoleM.Style.text import Text
# Create a terminal instance
term = Terminal()
# Print styled text
Text("[blue bold]Welcome to ConsoleM![/]").print()
# Get terminal size
width, height = term.get_terminal_size()
Text(f"[green]Terminal size: {width}x{height}[/]").print()
```
## Documentation
For detailed documentation, visit: https://consolem.readthedocs.io/en/latest/index.html
## License
This project is licensed under the MIT License - see the LICENSE file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/Remi-Avec-Un-I/ConsoleM",
"name": "ConsoleM",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "terminal, console, text styling, cursor control, keyboard input",
"author": "Remi",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/4c/45/a402002e257e3b9f37d1e05b4d4fc0ad0cd512ee9ffae4abac0bd38d20a8/consolem-0.1.1.tar.gz",
"platform": null,
"description": "# ConsoleM\n\nA powerful Python library for terminal manipulation and text styling. ConsoleM provides a simple and intuitive API for creating beautiful terminal applications with advanced features like cursor control, text styling, and keyboard input handling.\n\n## Features\n\n* **Terminal Manipulation**\n * Precise cursor movement (absolute and relative positioning)\n * Screen clearing and line management\n * Alternate screen support for full-screen applications\n * Terminal size detection and cursor position tracking\n * Cursor visibility control\n * Non-blocking keyboard input handling\n\n* **Text Styling**\n * Rich text formatting with intuitive markup syntax\n * 256-color support (foreground and background)\n * Text styles (bold, underline, italic, etc.)\n * Emoji support with automatic conversion\n * Easy-to-use BBCode-like markup syntax\n * Automatic style reset and cleanup\n\n* **Input Handling**\n * Non-blocking keyboard input capture\n * Key event queue management\n * Special key detection (arrows, function keys, etc.)\n * Thread-safe input processing\n * Clean shutdown handling\n\n## Installation\n\n```bash\npip install ConsoleM\n```\n\n## Quick Start\n\n```python\nfrom ConsoleM import Terminal\nfrom ConsoleM.Style.text import Text\n\n# Create a terminal instance\nterm = Terminal()\n\n# Print styled text\nText(\"[blue bold]Welcome to ConsoleM![/]\").print()\n\n# Get terminal size\nwidth, height = term.get_terminal_size()\nText(f\"[green]Terminal size: {width}x{height}[/]\").print()\n```\n\n## Documentation\n\nFor detailed documentation, visit: https://consolem.readthedocs.io/en/latest/index.html\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details. \n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A powerful Python library for terminal manipulation and text styling",
"version": "0.1.1",
"project_urls": {
"Bug Tracker": "https://github.com/yourusername/ConsoleM/issues",
"Homepage": "https://github.com/yourusername/ConsoleM"
},
"split_keywords": [
"terminal",
" console",
" text styling",
" cursor control",
" keyboard input"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "64b0af12ca3e477b43aebf48d5e62916ad603514bb7d336e226bef516bfb69f9",
"md5": "7a41a7e58d5f4154a4f85bf42d6ec6b3",
"sha256": "067484a87d2cfa50289e02cd71aacda3577aa73bd67c2e701bd9cd6df8412169"
},
"downloads": -1,
"filename": "consolem-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7a41a7e58d5f4154a4f85bf42d6ec6b3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 43398,
"upload_time": "2025-03-19T01:45:49",
"upload_time_iso_8601": "2025-03-19T01:45:49.300057Z",
"url": "https://files.pythonhosted.org/packages/64/b0/af12ca3e477b43aebf48d5e62916ad603514bb7d336e226bef516bfb69f9/consolem-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4c45a402002e257e3b9f37d1e05b4d4fc0ad0cd512ee9ffae4abac0bd38d20a8",
"md5": "216c4c51ef3b41f7783da7d35b207b41",
"sha256": "6afa5a33677c31dc5d35f72f0b8c2005e608d05a309021517b7851407c1c4d1d"
},
"downloads": -1,
"filename": "consolem-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "216c4c51ef3b41f7783da7d35b207b41",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 41811,
"upload_time": "2025-03-19T01:45:50",
"upload_time_iso_8601": "2025-03-19T01:45:50.472077Z",
"url": "https://files.pythonhosted.org/packages/4c/45/a402002e257e3b9f37d1e05b4d4fc0ad0cd512ee9ffae4abac0bd38d20a8/consolem-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-03-19 01:45:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Remi-Avec-Un-I",
"github_project": "ConsoleM",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "sphinx",
"specs": [
[
">=",
"8.1.3"
]
]
},
{
"name": "sphinx-rtd-theme",
"specs": [
[
">=",
"3.0.0"
]
]
}
],
"lcname": "consolem"
}