Metadata-Version: 2.4
Name: thebundle
Version: 1.5.2
Summary: A modern, extensible Python framework for robust, maintainable, and high-performance software projects.
Author-email: "M. Treglia" <horuselohim@gmail.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/HorusElohim/TheBundle
Project-URL: Source, https://github.com/HorusElohim/TheBundle
Project-URL: Issues, https://github.com/HorusElohim/TheBundle/issues
Project-URL: Changelog, https://github.com/HorusElohim/TheBundle/releases
Keywords: framework,async,testing,pybind11,zmq,automation,tracing,logging
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Testing
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: zmq
Requires-Dist: tqdm
Requires-Dist: rich
Requires-Dist: toml
Requires-Dist: wheel
Requires-Dist: click
Requires-Dist: aiohttp
Requires-Dist: pybind11
Requires-Dist: tabulate
Requires-Dist: rich_click
Requires-Dist: requests
Requires-Dist: colorama
Requires-Dist: aiofiles
Requires-Dist: pydantic
Requires-Dist: jsonschema
Requires-Dist: asyncclick
Requires-Dist: playwright
Requires-Dist: setuptools
Requires-Dist: typing-extensions
Requires-Dist: tornado>=6.1; sys_platform == "win32"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-asyncio; extra == "test"
Requires-Dist: nest_asyncio; extra == "test"
Provides-Extra: dev
Requires-Dist: snakeviz; extra == "dev"
Provides-Extra: pypi
Requires-Dist: build; extra == "pypi"
Requires-Dist: twine; extra == "pypi"
Provides-Extra: ble
Requires-Dist: bleak>=0.22.1; extra == "ble"
Requires-Dist: pyyaml; extra == "ble"
Provides-Extra: discord
Requires-Dist: discord.py[voice]>=2.3; extra == "discord"
Provides-Extra: youtube
Requires-Dist: pytubefix; extra == "youtube"
Requires-Dist: mutagen; extra == "youtube"
Requires-Dist: ffmpeg-python; extra == "youtube"
Provides-Extra: report
Requires-Dist: latex; extra == "report"
Requires-Dist: matplotlib; extra == "report"
Requires-Dist: h5py; extra == "report"
Requires-Dist: numpy; extra == "report"
Provides-Extra: web
Requires-Dist: fastapi; extra == "web"
Requires-Dist: uvicorn[standard]; extra == "web"
Requires-Dist: websockets; extra == "web"
Requires-Dist: jinja2; extra == "web"
Requires-Dist: bleak>=0.22.1; extra == "web"
Requires-Dist: pyyaml; extra == "web"
Provides-Extra: website
Requires-Dist: fastapi; extra == "website"
Requires-Dist: uvicorn[standard]; extra == "website"
Requires-Dist: websockets; extra == "website"
Requires-Dist: jinja2; extra == "website"
Requires-Dist: httpx; extra == "website"
Requires-Dist: bleak>=0.22.1; extra == "website"
Requires-Dist: pyyaml; extra == "website"
Requires-Dist: pytubefix; extra == "website"
Requires-Dist: mutagen; extra == "website"
Requires-Dist: ffmpeg-python; extra == "website"
Requires-Dist: python-multipart; extra == "website"
Provides-Extra: hdf5
Requires-Dist: h5py; extra == "hdf5"
Requires-Dist: numpy; extra == "hdf5"
Provides-Extra: all
Requires-Dist: pytest; extra == "all"
Requires-Dist: pytest-asyncio; extra == "all"
Requires-Dist: nest_asyncio; extra == "all"
Requires-Dist: snakeviz; extra == "all"
Requires-Dist: build; extra == "all"
Requires-Dist: twine; extra == "all"
Requires-Dist: bleak>=0.22.1; extra == "all"
Requires-Dist: pyyaml; extra == "all"
Requires-Dist: pytubefix; extra == "all"
Requires-Dist: mutagen; extra == "all"
Requires-Dist: ffmpeg-python; extra == "all"
Requires-Dist: fastapi; extra == "all"
Requires-Dist: uvicorn[standard]; extra == "all"
Requires-Dist: websockets; extra == "all"
Requires-Dist: jinja2; extra == "all"
Requires-Dist: httpx; extra == "all"
Requires-Dist: python-multipart; extra == "all"
Requires-Dist: latex; extra == "all"
Requires-Dist: matplotlib; extra == "all"
Requires-Dist: h5py; extra == "all"
Requires-Dist: numpy; extra == "all"
Dynamic: license-file

[![ubuntu 🐧](https://github.com/HorusElohim/TheBundle/actions/workflows/python-ubuntu.yml/badge.svg?branch=main)](https://github.com/HorusElohim/TheBundle/actions/workflows/python-ubuntu.yml)
[![macos 🍏](https://github.com/HorusElohim/TheBundle/actions/workflows/python-darwin.yml/badge.svg)](https://github.com/HorusElohim/TheBundle/actions/workflows/python-darwin.yml)
[![windows 🪟](https://github.com/HorusElohim/TheBundle/actions/workflows/python-windows.yml/badge.svg)](https://github.com/HorusElohim/TheBundle/actions/workflows/python-windows.yml)
[![PyPI Release 🐍](https://github.com/HorusElohim/TheBundle/actions/workflows/publish-pypi.yml/badge.svg)](https://github.com/HorusElohim/TheBundle/actions/workflows/publish-pypi.yml)
[![auto reference update 🔄](https://github.com/HorusElohim/TheBundle/actions/workflows/auto-reference-update.yml/badge.svg)](https://github.com/HorusElohim/TheBundle/actions/workflows/auto-reference-update.yml)

![The Bundle Dream](https://raw.githubusercontent.com/HorusElohim/TheBundle/main/thebundle.gif)

# TheBundle

**TheBundle** is a modern, extensible Python framework for robust, maintainable, and high-performance software projects. It provides a suite of core modules for logging, tracing, data modeling, process management, ZeroMQ sockets, browser automation, and more—plus advanced testing and pybind11/C++ extension tooling.

**Install**:
```sh
pip install thebundle
```

## Bootstrap Wizard

From a fresh machine, use the wizard to install Docker (plus WSL2/NVIDIA setup where applicable), Git, Python, create a venv, and install `thebundle[all]`.

Linux/macOS:
```sh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/HorusElohim/TheBundle/main/wizards/run.sh)"
```

Windows (PowerShell):
```powershell
powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/HorusElohim/TheBundle/main/wizards/platforms/windows.ps1 | iex"
```


### Continuous Integration: Platforms & Python Versions

| Platform  | Python Versions  |
| --------- | ---------------- |
| 🐧 Ubuntu  | 3.10 3.11, 3.12 |
| 🍏 macOS   | 3.10, 3.11, 3.12 |
| 🪟 Windows | 3.10, 3.11, 3.12 |

## Documentation
For more information, see the inline documentation in each module and the example projects in `tests/`.
- [Core Modules Guide](https://github.com/HorusElohim/TheBundle/blob/main/src/bundle/core/README.md)
- [Testing Module Guide](https://github.com/HorusElohim/TheBundle/blob/main/src/bundle/testing/README.md)
- [Pybind Subpackage Guide](https://github.com/HorusElohim/TheBundle/blob/main/src/bundle/pybind/README.md)
- [Website Guide](https://github.com/HorusElohim/TheBundle/blob/main/src/bundle/website/README.md)
- [LaTeX Module Guide](https://github.com/HorusElohim/TheBundle/blob/main/src/bundle/latex/README.md)
- [HDF5 Module Guide](https://github.com/HorusElohim/TheBundle/blob/main/src/bundle/hdf5/README.md)
- [Performance Report Guide](https://github.com/HorusElohim/TheBundle/blob/main/src/bundle/perf_report/README.md)


## License

Licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/HorusElohim/TheBundle/blob/main/LICENSE) for details.
