toomanythreads


Nametoomanythreads JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryA singleton-based thread management system with auto-registration and verbose logging
upload_time2025-07-18 21:44:47
maintainerNone
docs_urlNone
authorMiles Copeland Luce
requires_python>=3.8
licenseMIT
keywords threading thread management singleton decorator async
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 1.41692s