Metadata-Version: 2.1
Name: uhg
Version: 0.1.0
Summary: Universal Hyperbolic Geometry Library for PyTorch
Home-page: https://github.com/zachbovaird/UHG-Library
Author: Zach Bovaird
Author-email: zach.bovaird@gmail.com
Project-URL: Documentation, https://uhg.readthedocs.io
Project-URL: Source, https://github.com/zachbovaird/UHG-Library
Project-URL: Bug Tracker, https://github.com/zachbovaird/UHG-Library/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Operating System :: OS Independent
Classifier: Framework :: Jupyter
Classifier: Framework :: Pytest
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch>=1.7.0
Requires-Dist: numpy>=1.19.0
Requires-Dist: scipy>=1.5.0
Requires-Dist: torch-geometric>=2.0.0
Requires-Dist: networkx>=2.5
Requires-Dist: tqdm>=4.50.0
Requires-Dist: matplotlib>=3.3.0
Requires-Dist: scikit-learn>=0.24.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0.0; extra == "dev"
Requires-Dist: pytest-cov>=2.10.0; extra == "dev"
Requires-Dist: black>=20.8b1; extra == "dev"
Requires-Dist: isort>=5.7.0; extra == "dev"
Requires-Dist: flake8>=3.8.0; extra == "dev"
Requires-Dist: mypy>=0.800; extra == "dev"
Requires-Dist: twine>=3.4.0; extra == "dev"
Requires-Dist: build>=0.7.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=4.0.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=0.5.0; extra == "docs"
Requires-Dist: nbsphinx>=0.8.0; extra == "docs"
Requires-Dist: jupyter>=1.0.0; extra == "docs"

# Universal Hyperbolic Geometry (UHG) Library

[![PyPI version](https://badge.fury.io/py/uhg.svg)](https://badge.fury.io/py/uhg)
[![Documentation Status](https://readthedocs.org/projects/uhg/badge/?version=latest)](https://uhg.readthedocs.io/en/latest/?badge=latest)
[![License](https://img.shields.io/github/license/zachbovaird/UHG-Library.svg)](https://github.com/zachbovaird/UHG-Library/blob/main/LICENSE)
[![Build Status](https://github.com/zachbovaird/UHG-Library/workflows/CI/badge.svg)](https://github.com/zachbovaird/UHG-Library/actions)
[![Code Coverage](https://codecov.io/gh/zachbovaird/UHG-Library/branch/main/graph/badge.svg)](https://codecov.io/gh/zachbovaird/UHG-Library)

A PyTorch library for hyperbolic deep learning using Universal Hyperbolic Geometry principles. All operations are performed directly in hyperbolic space without tangent space mappings.

## Installation

### Basic Installation

```bash
pip install uhg
```

### With GPU Support

```bash
pip install uhg[gpu]
```

### CPU-Only Version

```bash
pip install uhg[cpu]
```

### Development Version

```bash
pip install uhg[dev]
```

### Documentation Tools

```bash
pip install uhg[docs]
```

## Quick Start

```python
import uhg
import torch

# Create hyperbolic tensors
manifold = uhg.LorentzManifold()
x = uhg.HyperbolicTensor([1.0, 0.0, 0.0], manifold=manifold)
y = uhg.HyperbolicTensor([0.0, 1.0, 0.0], manifold=manifold)

# Compute hyperbolic distance
dist = uhg.distance(x, y)

# Create a hyperbolic neural network
model = uhg.nn.layers.HyperbolicGraphConv(
    manifold=manifold,
    in_features=10,
    out_features=5
)

# Use hyperbolic optimizer
optimizer = uhg.optim.HyperbolicAdam(
    model.parameters(),
    manifold=manifold,
    lr=0.01
)
```

## Features

- Pure UHG implementation without tangent space operations
- Hyperbolic neural network layers and models
- Hyperbolic optimizers (Adam, SGD)
- Hyperbolic samplers (HMC, Langevin)
- Graph neural networks in hyperbolic space
- Comprehensive documentation and examples

## Platform Support

- Linux (all major distributions)
- macOS (including Apple Silicon)
- Windows
- Docker containers
- Splunk environments

## Documentation

Full documentation is available at [https://uhg.readthedocs.io/](https://uhg.readthedocs.io/)

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Citation

If you use UHG in your research, please cite:

```bibtex
@software{uhg2023,
  title = {UHG: Universal Hyperbolic Geometry Library},
  author = {Bovaird, Zach},
  year = {2023},
  url = {https://github.com/zachbovaird/UHG-Library}
}
```
