Metadata-Version: 2.4
Name: hla-compass
Version: 2.0.6
Summary: Python SDK for HLA-Compass bioinformatics platform - Build powerful modules for immuno-peptidomics analysis
Author-email: Alithea Bio <armanas.povilionis@alithea.bio>
License: MIT
Project-URL: Bug Tracker, https://github.com/AlitheaBio/HLA-Compass-platform/issues
Project-URL: Documentation, https://docs.alithea.bio
Project-URL: Source Code, https://github.com/AlitheaBio/HLA-Compass-platform/tree/main/sdk/python
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.28.0
Requires-Dist: boto3>=1.26.0
Requires-Dist: click>=8.0.0
Requires-Dist: rich>=12.0.0
Requires-Dist: setuptools>=45.0.0
Requires-Dist: cryptography>=41.0.0
Requires-Dist: jsonschema>=4.17.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: dev
Requires-Dist: pip-tools>=7.0.0; extra == "dev"
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0.0; extra == "dev"
Requires-Dist: pytest-mock>=3.6.0; extra == "dev"
Requires-Dist: pytest-asyncio>=1.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=0.950; extra == "dev"
Requires-Dist: sphinx>=4.0.0; extra == "dev"
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "dev"
Provides-Extra: data
Requires-Dist: pandas>=2.2.0; python_version >= "3.9" and extra == "data"
Requires-Dist: pandas<2.0,>=1.5; python_version < "3.9" and extra == "data"
Requires-Dist: xlsxwriter>=3.0.0; extra == "data"
Requires-Dist: polars>=0.20.0; python_version >= "3.9" and extra == "data"
Provides-Extra: ml
Requires-Dist: scikit-learn>=1.0.0; extra == "ml"
Requires-Dist: torch>=1.10.0; extra == "ml"
Requires-Dist: transformers>=4.20.0; extra == "ml"

# HLA-Compass Python SDK

[![PyPI version](https://badge.fury.io/py/hla-compass.svg)](https://badge.fury.io/py/hla-compass)
[![Python Versions](https://img.shields.io/pypi/pyversions/hla-compass.svg)](https://pypi.org/project/hla-compass/)

The official Python SDK for developing modules on the HLA-Compass platform.

## 🚀 Quick Start

```bash
# 1. Install
pip install hla-compass

# 2. Setup
hla-compass auth login --env dev

# 3. Create
hla-compass init my-module --template no-ui
cd my-module

# 4. Test
hla-compass test

# 5. Ship
hla-compass build && hla-compass publish --env dev --generate-keys
```

📚 **New to HLA-Compass?** Try the **[Ten-Minute Tutorial](../../internal-docs/guides/module-developer/tutorial.md)**.

---

## 🛠️ CLI Entry Points

| Command | Description |
|:--------|:------------|
| `init` | Scaffold a new module from templates |
| `validate` | Validate module structure and manifest |
| `test` | Run module execution (local or remote context) |
| `build` | Build Docker image |
| `publish` | Sign and register module with the platform |
| `auth` | Manage platform login and keys |

---

## 🔧 Local SDK Development

When iterating on the SDK itself, build images against your local checkout:

```bash
hla-compass build --sdk-path ../sdk/python
# or set HLA_COMPASS_SDK_PATH=../sdk/python for dev/test/serve/build
```

To target a specific architecture:

```bash
hla-compass build --platform linux/amd64
```

Multi-arch builds require `--platform linux/amd64,linux/arm64 --push`.

---

## 💎 Key Features

- **Module-first CLI**: Scaffold, build, test, and publish with a single toolchain.
- **Signed publishing**: Keys + manifest signing baked into `publish`.
- **Data helpers**: Storage + data access helpers for module runtimes.
- **Local dev loop**: Containerized `dev`/`serve`/`test` flow that matches production.

---

## 📖 Advanced Documentation

- **[Installation Guide](../../DEVELOPER_GUIDE.md)** – Detailed setup for various roles.
- **[Module Developer Handbook](../../internal-docs/guides/module-developer/index.md)** – Best practices and deep dives.
- **[API Reference](https://developer.alithea.bio/sdk)** – Full Pydoc catalog of classes and methods.

---

## 🤝 Support & Issues

- **Bugs**: [GitHub Issues](https://github.com/AlitheaBio/HLA-Compass-platform/issues)
- **Discussion**: #hla-compass-dev Slack channel
