# Managed Threads
A singleton-based thread management system with auto-registration, verbose logging, and dynamic mixin support.
## Quick Start
```python
from toomanythreads import ManagedThread, manager
import time
# Simple function to run in a thread
def worker_function(name, delay=1):
for i in range(5):
print(f"Worker {name}: iteration {i}")
time.sleep(delay)
# Create and start a managed thread
thread = ManagedThread(worker_function)
thread.start()
# Check registered threads
print(f"Active threads: {len(manager.threads)}")
# Wait for completion
thread.join()
```
### ManagedThread
A decorator/factory function that creates managed threads. Can be used as a decorator.
**Parameters:**
- `obj`: Callable to run in the thread
- `*args`: Arguments to pass to the callable
- `**kwargs`: Keyword arguments to pass to the callable
**Returns:** Thread instance with management capabilities
## Requirements
- Python 3.8+
- loguru >= 0.6.0
- singleton-decorator >= 1.0.0
## License
MIT License - see LICENSE file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "toomanythreads",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "threading, thread, management, singleton, decorator, async",
"author": "Miles Copeland Luce",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/1d/1b/e00c1bda26ad562c1600a79eb7b5dada47f06ab62b2a69458d7bb664a1cc/toomanythreads-0.2.1.tar.gz",
"platform": null,
"description": "# Managed Threads\r\n\r\nA singleton-based thread management system with auto-registration, verbose logging, and dynamic mixin support.\r\n\r\n## Quick Start\r\n\r\n```python\r\nfrom toomanythreads import ManagedThread, manager\r\nimport time\r\n\r\n# Simple function to run in a thread\r\ndef worker_function(name, delay=1):\r\n for i in range(5):\r\n print(f\"Worker {name}: iteration {i}\")\r\n time.sleep(delay)\r\n\r\n# Create and start a managed thread\r\nthread = ManagedThread(worker_function)\r\nthread.start()\r\n\r\n# Check registered threads\r\nprint(f\"Active threads: {len(manager.threads)}\")\r\n\r\n# Wait for completion\r\nthread.join()\r\n```\r\n\r\n### ManagedThread\r\n\r\nA decorator/factory function that creates managed threads. Can be used as a decorator.\r\n\r\n**Parameters:**\r\n- `obj`: Callable to run in the thread\r\n- `*args`: Arguments to pass to the callable\r\n- `**kwargs`: Keyword arguments to pass to the callable\r\n\r\n**Returns:** Thread instance with management capabilities\r\n\r\n## Requirements\r\n\r\n- Python 3.8+\r\n- loguru >= 0.6.0\r\n- singleton-decorator >= 1.0.0\r\n\r\n## License\r\n\r\nMIT License - see LICENSE file for details.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A singleton-based thread management system with auto-registration and verbose logging",
"version": "0.2.1",
"project_urls": {
"Repository": "https://github.com/genderlesspit/toomanythreads"
},
"split_keywords": [
"threading",
" thread",
" management",
" singleton",
" decorator",
" async"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4a3ffc80b391ea0a69d22c7ff1a9b69c053fdfd3a08d32484c24c7faadcd00fc",
"md5": "ae06e530f865b6ff004942b36b801608",
"sha256": "fd20d66702dfdc6ec6cd5a98890fd4a67802e9d899d8423a325491c7ff9b952d"
},
"downloads": -1,
"filename": "toomanythreads-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ae06e530f865b6ff004942b36b801608",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 5201,
"upload_time": "2025-07-18T21:44:46",
"upload_time_iso_8601": "2025-07-18T21:44:46.444668Z",
"url": "https://files.pythonhosted.org/packages/4a/3f/fc80b391ea0a69d22c7ff1a9b69c053fdfd3a08d32484c24c7faadcd00fc/toomanythreads-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1d1be00c1bda26ad562c1600a79eb7b5dada47f06ab62b2a69458d7bb664a1cc",
"md5": "a069d14f712f91a82ffdc98fd38d15d4",
"sha256": "a6f311ae7b10e7b76cbba83527be8ed9a35f26a4b548eb8415eeae8b9adfe072"
},
"downloads": -1,
"filename": "toomanythreads-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "a069d14f712f91a82ffdc98fd38d15d4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 6219,
"upload_time": "2025-07-18T21:44:47",
"upload_time_iso_8601": "2025-07-18T21:44:47.484417Z",
"url": "https://files.pythonhosted.org/packages/1d/1b/e00c1bda26ad562c1600a79eb7b5dada47f06ab62b2a69458d7bb664a1cc/toomanythreads-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-18 21:44:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "genderlesspit",
"github_project": "toomanythreads",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "toomanythreads"
}