Metadata-Version: 2.4
Name: napistu-torch
Version: 0.3.11
Summary: PyTorch-based toolkit for working with Napistu network graphs
Home-page: https://github.com/napistu/napistu-torch
Author: Sean Hackett
Author-email: seanmchackett@gmail.com
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click<9.0.0,>=8.1.0
Requires-Dist: torch>=2.0.0
Requires-Dist: napistu>=0.10.0
Requires-Dist: numpy>=1.20.0
Requires-Dist: pandas>=1.3.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: rich<14.0.0,>=13.0.0
Requires-Dist: scikit-learn>=1.0.0
Provides-Extra: pyg
Requires-Dist: torch-geometric>=2.4.0; extra == "pyg"
Requires-Dist: torch-sparse>=0.6.17; extra == "pyg"
Requires-Dist: torch-scatter>=2.1.1; extra == "pyg"
Provides-Extra: dev
Requires-Dist: black>=24.0.0; extra == "dev"
Requires-Dist: huggingface_hub>=1.2.1; extra == "dev"
Requires-Dist: lightning; extra == "dev"
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: seaborn>=0.13.0; extra == "dev"
Requires-Dist: torch-geometric>=2.4.0; extra == "dev"
Requires-Dist: torch-sparse>=0.6.17; extra == "dev"
Requires-Dist: torch-scatter>=2.1.1; extra == "dev"
Requires-Dist: wandb; extra == "dev"
Provides-Extra: lightning
Requires-Dist: huggingface_hub>=0.20.0; extra == "lightning"
Requires-Dist: lightning; extra == "lightning"
Requires-Dist: tqdm>=4.65.0; extra == "lightning"
Requires-Dist: wandb; extra == "lightning"
Provides-Extra: analysis
Requires-Dist: seaborn>=0.13.0; extra == "analysis"
Dynamic: license-file

# Napistu PyTorch Library

Python package supporting integration of Napistu network graphs and PyTorch NNs

[![PyPI version](https://badge.fury.io/py/napistu_torch.svg)](https://badge.fury.io/py/napistu_torch)
[![Documentation](https://readthedocs.org/projects/napistu-torch/badge/?version=latest)](https://napistu-torch.readthedocs.io/)
[![CI](https://github.com/napistu/napistu-torch/actions/workflows/ci.yml/badge.svg)](https://github.com/napistu/napistu-torch/actions/workflows/ci.yml)
[![Release](https://github.com/napistu/napistu-torch/actions/workflows/release.yml/badge.svg)](https://github.com/napistu/napistu-torch/actions/workflows/release.yml)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

This Python package builds on the [Napistu Python package](https://github.com/napistu/napistu-py) with PyTorch-specific data, model, and results management. As part of the broader [Napistu project](https://github.com/napistu/napistu) this work is intended to create and interrogate genome-scale networks of cellular physiology.

## Setup

Napistu is available on [PyPI](https://pypi.org/project/napistu-torch) so the recommended way to use it is just to pip install with:

```bash
pip install napistu-torch
```

Alternatively, you can clone this repository and perform a local install. e.g., from this directory:

```bash
pip install .
```

### Mac setup

```bash
uv pip install torch==2.8.0
uv pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-2.8.0+cpu.html
uv install 'napistu-torch[dev]'
```

## Documentation
- 🚸 **Project Documentation**: [napistu/wiki](https://github.com/napistu/napistu/wiki)

## Advanced setup

### Wandb

If this is your first time using wandb, you'll need to authenticate:

1. Go to https://wandb.ai/ and create an account
2. Get your API key from https://wandb.ai/authorize
3. Run: wandb login
4. Or set environment variable: export WANDB_API_KEY=your_api_key_here
