Metadata-Version: 2.4
Name: braidpy
Version: 0.1.0
Summary: Python library for working with braids
Author-email: Baptiste Labat <baptiste.labat@gmail.com>
License: MPL-2.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
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: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: braidvisualiser>=0.2.2
Requires-Dist: coverage>=7.8.2
Requires-Dist: matplotlib>=3.7.5
Requires-Dist: numpy>=1.21.0
Requires-Dist: pytest>=8.3.5
Requires-Dist: ruff>=0.11.11
Requires-Dist: sympy>=1.14.0
Requires-Dist: tornado>=6.4.2
Dynamic: license-file

# BraidPy

A Python library for working with braids.

## Features

- [x] Representation of braids
- [x] Braid operations and manipulations
- [x] Visualization capabilities
- [x] Mathematical properties and computations
- [] unreduced Burau matrix representation
- [] reduced Burau matrix representation
- [] Alexaner polynomial

## Usage

```python
from braidpy import Braid

# Create a braid
b = Braid([1, 2, -1])

# Perform operations
result = b * b.inverse()
```


## 🛠️ Installation
You can download the code directly from GitHub or using git:

```bash
git clone git@github.com:baptistelabat/braidpy.git
```

To install the required dependencies, follow the steps below:

1. Install `uv` by following the official [installation guide](https://docs.astral.sh/uv/getting-started/installation).
2. Alternatively, run the command from root of repository:  
   ```bash
   cd braidpy
   make install-uv
   ```

---

## Test
To launch the complete suite of tests, launch the following command:
```bash
uv run pytest tests
```
Alternatively, if you have make install, just run:
   ```bash
   make test
   ```


---

## 📜 Documentation
Documentation is available at:
https://braidpy.readthedocs.io/en/latest/

### Project Team:
Human: 
- **Baptiste Labat**
[![LinkedIn](https://img.shields.io/badge/-LinkedIn-blue?logo=linkedin&logoWidth=20&style=flat-square)](https://www.linkedin.com/in/baptiste-labat-01751138/)
[![GitHub](https://img.shields.io/badge/-GitHub-black?logo=github&logoWidth=20&style=flat-square)](https://github.com/baptistelabat)

Bot:
chatgpt
windsurf
---

## 🤝 Contributions

Contributions are welcome! Please open an issue or submit a pull request to suggest changes, report bugs, or propose new features.

Here are a few code guidelines:  
- We use english for code and comments.
- We use google style docstring.
- We use type hinting.  
Please be sure to install the pre-commit tool in order to check your code while commiting in order to keep a clean project history.
```bash
pre-commit install
```
Please have a look to makefile to find helpful commands.

## 📜 License
![License](https://img.shields.io/badge/license-MPL%202.0-brightgreen)

This project is licensed under the Mozilla Public License 2.0 - see the [LICENSE](./LICENSE) file for details.

---

## 🖇️ References
https://dehornoy.lmno.cnrs.fr
