semvec/pypi-packages huggingface dataset:
HySOM 0.4.0
Fast, lightweight library for training Self-Organizing Maps on 2D time series, tailored for analyzing concentration-discharge hysteresis loops.
Keywords: Self-Organizing Maps, SOM, unsupervised learning, clustering, Hydrology, Water Quality, Discharge-Concentration, Hysteresis, time series

# HySOM

**Fast, lightweight Python library for training Self-Organizing Maps on 2D time series, tailored for analyzing concentration-discharge hysteresis loops.**  

> [!NOTE]
> Python 3.14 is now supported


## Overview

**HySOM** is a Python library that simplifies the training and visualization of Self-Organizing Maps (SOMs) for 2D time series. It is specifically designed for the study of concentration–discharge (C–Q) hysteresis loops. With **HySOM**, you can access the **General T-Q SOM**—a standard framework for classifying sediment transport hysteresis loops. The library also includes several visualization tools to streamline the analysis of sediment transport hysteresis loops. Additionally, **HySOM** allows you to train your own SOM for C–Q analysis.

---

## Features

- Direct access to the **General T-Q SOM** for sediment transport hysteresis loop analysis
- Tools for analyzing and classifying C-Q **hysteresis loops**
- **Visualization** utilities for SOM grids and hysteresis loops
- Easy, yet flexible, training of rectangular **Self-Organizing Maps** for 2D sequences
- Supports the **Dynamic Time Warping** distance function 
- Lightweight and dependency-minimized

---

# The General T-Q SOM
Includes the General T–Q SOM, a standard framework for analyzing sediment transport hysteresis loops. Usage examples can be found in the [Documentation](https://hysom.readthedocs.io/en/latest/)

<p align="center">
  <img src="https://raw.githubusercontent.com/ArlexMR/HySOM/refs/heads/main/docs/images/generalTQsom.png" alt="General T-Q SOM" width="600">
</p>

---
# 📖 [Documentation](https://hysom.readthedocs.io/en/latest/)
Comprehensive documentation is provided, including quickstart tutorials, How-to guides and an API reference. [Click Here!](https://hysom.readthedocs.io/en/latest/)

---
## 📦 Dependencies
HySOM requires the following libraries for proper functioning (which are automatically installed when installing **HySOM**):  

- Python
- numpy
- numba
- matplotlib

---

### 🤝 Contributing
We welcome contributions! If you'd like to include your own standard SOM for C-Q hysteresis analysis, improve the code, report issues, or request features, please open a GitHub issue or pull request.
miniminitel 1.0.4
Simple Minitel interface in Python
Requires Python: >=3.10

# MiniMinitel
![](https://img.shields.io/badge/Version-1.0.4-blue)
![](https://img.shields.io/badge/CI-none-red)

MiniMinitel is a simple Minitel interface in python. It has been created with the help of :
- http://543210.free.fr/TV/stum1b.pdf
- https://wiki-ima.plil.fr/mediawiki/images/b/b1/Minitel.pdf
- https://github.com/eserandour/Minitel1B_Hard

> MiniMinitel is now live on PyPi !

```python
from miniminitel import MiniMinitel

with MiniMinitel("COM4") as minitel:
    minitel.clear()
    
    minitel.cursor_move_to(4, 4)
    minitel.write_double_grandeur("Hello world")

    minitel.write_at(6, 6, "I'm a MiniMinitel")
    minitel.set_blinking()
    minitel.write_at(6, 7, "And I look cool")
    minitel.set_non_blinking()
```

Use `.start_listening` to handle input. This example script will listen for input and echo them.
Special key, such as ENVOI, RETOUR, ANNULATION will be logged in Python's terminal.

```python
from miniminitel import MiniMinitel, MinitelInput, MinitelCode

def echo(value: MinitelInput):
    if value.code == MinitelCode.TEXT:
        minitel.write(value.text)
    else:
        print("Key pressed : " + value.code)

with MiniMinitel() as minitel:
    minitel.clear()
    # Press Fnct + T then E to remove Minitel echo
    # (or else key pressed will be echoed twice, by the Minitel and by this script)
    minitel.start_listening(echo)
```

# Setup
## Python
Library is written with Python 3.10, no support for other version are guaranteed (should be compatible Python 3.11+)
```commandline
pip install miniminitel
```

## Minitel
Minitel need to be pluggged to computer throught serial port. Documentation need to be written