Metadata-Version: 2.4
Name: rustgression
Version: 0.6.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Rust
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Typing :: Typed
Requires-Dist: numpy>=1.20.0
Requires-Dist: scipy>=1.15.2
Requires-Dist: matplotlib>=3.10.1 ; extra == 'examples'
Provides-Extra: examples
License-File: LICENSE
Summary: Fast OLS and TLS regression using Rust backend
Author-email: connect0459 <connect0459@gmail.com>
License-Expression: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Bug Tracker, https://github.com/connect0459/rustgression/issues
Project-URL: Homepage, https://github.com/connect0459/rustgression

# rustgression

[![PyPI Downloads](https://static.pepy.tech/badge/rustgression)](https://pepy.tech/projects/rustgression)
[![CI](https://github.com/connect0459/rustgression/actions/workflows/ci.yml/badge.svg)](https://github.com/connect0459/rustgression/actions/workflows/ci.yml)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/connect0459/rustgression/blob/main/LICENSE)

This project provides fast regression analysis (OLS, TLS) as a Python package.

- **Homepage**: <https://github.com/connect0459/rustgression>
- **Bug Tracker**: <https://github.com/connect0459/rustgression/issues>

## Overview

`rustgression` provides high-performance regression analysis tools implemented in Rust as a Python package.
It includes the following features.

- **Ordinary Least Squares (OLS)**: Minimizes the sum of squared vertical residuals (errors in y only). Assumes x is measured without error.
- **Total Least Squares (TLS)**: Minimizes the sum of squared orthogonal (perpendicular) distances from data points to the fitted line. Accounts for measurement errors in both x and y.

This package targets Python version `3.11` and above.

## Installation

Using pip:

```bash
pip install rustgression
```

Using uv:

```bash
uv add rustgression
```

## Documentation

- [API Reference](https://github.com/connect0459/rustgression/blob/main/docs/api.md)
- [Contributing Guide](https://github.com/connect0459/rustgression/blob/main/CONTRIBUTING.md)
- [Changelog](https://github.com/connect0459/rustgression/blob/main/CHANGELOG.md)

