An open API service indexing awesome lists of open source software.

https://github.com/hafaio/homeotopy

A python library for computing homeomorphisms between some common continuous spaces
https://github.com/hafaio/homeotopy

homeomorphism numpy python simplex sphere topology

Last synced: 12 days ago
JSON representation

A python library for computing homeomorphisms between some common continuous spaces

Awesome Lists containing this project

README

          

# Homotopy

[![build](https://github.com/erikbrinkman/homeotopy/actions/workflows/python-package.yml/badge.svg)](https://github.com/erikbrinkman/homeotopy/actions/workflows/python-package.yml)
[![pypi](https://img.shields.io/pypi/v/homeotopy)](https://pypi.org/project/homeotopy/)
[![docs](https://img.shields.io/badge/api-docs-blue)](https://erikbrinkman.github.io/homeotopy)

A python library for computing homeomorphisms between some common continuous
spaces.

## Installation

```sh
pip install homeotopy
```

## Usage

```py
import homeotopy

points = ...
# create a mapping from the simplex to the surface of the sphere
mapping = homeotopy.homeomorphism(homeotopy.simplex(), homeotopy.sphere())
sphere_points = mapping(points)

rev_mapping = ~mapping
duplicate_points = rev_mapping(sphere_points)
```

## Development

### Checks

```sh
uv run ruff format --check
uv run ruff check
uv run pyright
uv run pytest
```

### Publishing

Releases are cut manually: run the [`release` workflow](https://github.com/hafaio/homeotopy/actions/workflows/release.yml)
from the Actions tab and pick a version bump (patch/minor/major). It runs the checks,
bumps the version, builds and publishes to PyPI via
[trusted publishing](https://docs.pypi.org/trusted-publishers/) (no API token), tags the
release, and deploys the docs.