# ColliderML
[](https://github.com/murnanedaniel/colliderml/actions/workflows/tests.yml)

[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
A modern machine learning library for high-energy physics data analysis.
## Features
- Efficient parallel data downloading with resume capability
- Support for common HEP data formats
- Machine learning utilities for particle physics
- Visualization tools for physics data
## Installation
### For Users
```bash
# Create and activate environment
conda create -n collider-env python=3.11 # 3.10 or 3.11 recommended
conda activate collider-env
# Install package
pip install colliderml
```
### For Developers
```bash
# Create and activate environment
conda create -n collider-dev python=3.11 # 3.10 or 3.11 recommended
conda activate collider-dev
# Clone repository
git clone https://github.com/murnanedaniel/colliderml.git
cd colliderml
# Install in development mode with extra dependencies
pip install -e ".[dev]"
```
## Quick Start
### CLI
```bash
# Download 100 events from the taster campaign into ./data
colliderml get -c taster -e 100 -O data
```
```python
from colliderml.core.data.manifest import ManifestClient
from colliderml.core.io import DataDownloader
manifest = ManifestClient()
files = manifest.select_files(campaign=None, datasets=["ttbar"], objects=["tracks"], max_events=1000)
downloader = DataDownloader()
results = downloader.download_files([f.path for f in files], local_dir="data", max_workers=4, resume=True)
for path, result in results.items():
print(path, result.success, result.error)
```
### Features
- **Manifest-driven**: Always selects files from the latest portal manifest
- **Parallel Downloads**: Download multiple files concurrently
- **Resume Capability**: Optionally resume interrupted downloads
- **Progress Tracking**: Real-time progress bars
- **Clear Errors**: Helpful failure messages and HEAD checks
## Development
1. Activate your environment:
```bash
conda activate collider-dev
```
2. Run tests:
```bash
# Run unit tests only
pytest -v -m "not integration"
# Run all tests including integration tests
pytest -v
# Run with coverage report
pytest --cov=colliderml
```
3. Build documentation:
```bash
mkdocs build
mkdocs serve # View at http://127.0.0.1:8000
```
## License
[MIT License](LICENSE)
Raw data
{
"_id": null,
"home_page": "https://github.com/murnanedaniel/colliderml",
"name": "colliderml",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.12,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Daniel Murnane",
"author_email": "dtmurnane@lbl.gov",
"download_url": "https://files.pythonhosted.org/packages/0a/c6/32a5ef4aab4b773e182d9c7fc49d43bced90ce7047daacd2b840b9101c3c/colliderml-0.1.3.tar.gz",
"platform": null,
"description": "# ColliderML\n\n[](https://github.com/murnanedaniel/colliderml/actions/workflows/tests.yml)\n\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n\nA modern machine learning library for high-energy physics data analysis.\n\n## Features\n\n- Efficient parallel data downloading with resume capability\n- Support for common HEP data formats\n- Machine learning utilities for particle physics\n- Visualization tools for physics data\n\n## Installation\n\n### For Users\n```bash\n# Create and activate environment\nconda create -n collider-env python=3.11 # 3.10 or 3.11 recommended\nconda activate collider-env\n\n# Install package\npip install colliderml\n```\n\n### For Developers\n```bash\n# Create and activate environment\nconda create -n collider-dev python=3.11 # 3.10 or 3.11 recommended\nconda activate collider-dev\n\n# Clone repository\ngit clone https://github.com/murnanedaniel/colliderml.git\ncd colliderml\n\n# Install in development mode with extra dependencies\npip install -e \".[dev]\"\n```\n\n## Quick Start\n\n### CLI\n\n```bash\n# Download 100 events from the taster campaign into ./data\ncolliderml get -c taster -e 100 -O data\n```\n\n```python\nfrom colliderml.core.data.manifest import ManifestClient\nfrom colliderml.core.io import DataDownloader\n\nmanifest = ManifestClient()\nfiles = manifest.select_files(campaign=None, datasets=[\"ttbar\"], objects=[\"tracks\"], max_events=1000)\n\ndownloader = DataDownloader()\nresults = downloader.download_files([f.path for f in files], local_dir=\"data\", max_workers=4, resume=True)\n\nfor path, result in results.items():\n print(path, result.success, result.error)\n```\n\n### Features\n\n- **Manifest-driven**: Always selects files from the latest portal manifest\n- **Parallel Downloads**: Download multiple files concurrently\n- **Resume Capability**: Optionally resume interrupted downloads\n- **Progress Tracking**: Real-time progress bars\n- **Clear Errors**: Helpful failure messages and HEAD checks\n\n## Development\n\n1. Activate your environment:\n ```bash\n conda activate collider-dev\n ```\n\n2. Run tests:\n ```bash\n # Run unit tests only\n pytest -v -m \"not integration\"\n \n # Run all tests including integration tests\n pytest -v\n \n # Run with coverage report\n pytest --cov=colliderml\n ```\n\n3. Build documentation:\n ```bash\n mkdocs build\n mkdocs serve # View at http://127.0.0.1:8000\n ```\n\n## License\n\n[MIT License](LICENSE) \n\n",
"bugtrack_url": null,
"license": null,
"summary": "A modern machine learning library for high-energy physics data analysis",
"version": "0.1.3",
"project_urls": {
"Documentation": "https://murnanedaniel.github.io/colliderml",
"Homepage": "https://github.com/murnanedaniel/colliderml",
"Issues": "https://github.com/murnanedaniel/colliderml/issues",
"Source": "https://github.com/murnanedaniel/colliderml"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c9b7d64df4446768734afd6f4335e1d4f61ab48764c771a265ca9662fa650198",
"md5": "22f9b503fcabac3e55028991039e899b",
"sha256": "04908b8ee677c3ebd19db33d3bc9853f5936d08ad9dca3cb66c94e11c6baeb3f"
},
"downloads": -1,
"filename": "colliderml-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "22f9b503fcabac3e55028991039e899b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.12,>=3.10",
"size": 14272,
"upload_time": "2025-09-17T09:35:29",
"upload_time_iso_8601": "2025-09-17T09:35:29.023514Z",
"url": "https://files.pythonhosted.org/packages/c9/b7/d64df4446768734afd6f4335e1d4f61ab48764c771a265ca9662fa650198/colliderml-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0ac632a5ef4aab4b773e182d9c7fc49d43bced90ce7047daacd2b840b9101c3c",
"md5": "f283edb01d67a83bce88a4ea6c7527e9",
"sha256": "ac5c5228eb042bb268b966bd6bd1f3fd01c7bc7dc7dfabbd74fb4908b9ba8bad"
},
"downloads": -1,
"filename": "colliderml-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "f283edb01d67a83bce88a4ea6c7527e9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.12,>=3.10",
"size": 480818,
"upload_time": "2025-09-17T09:35:30",
"upload_time_iso_8601": "2025-09-17T09:35:30.045374Z",
"url": "https://files.pythonhosted.org/packages/0a/c6/32a5ef4aab4b773e182d9c7fc49d43bced90ce7047daacd2b840b9101c3c/colliderml-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-17 09:35:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "murnanedaniel",
"github_project": "colliderml",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "colliderml"
}