semvec/pypi-packages huggingface dataset:
masslos 0.2.3
Multi purpose unit conversion package
Requires Python: >=3.13

# ***Maßlos*** unit conversion library

![coverage](https://img.shields.io/badge/coverage-50%25-yellowgreen)
![version](https://img.shields.io/badge/version-0.2.3-blue)
[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)

Set of functions to convert between different units including metric and imperial

< Add an optional screenshot of your project below >

![]()

**Table of Contents**

- [Installation](#installation)
- [Execution / Usage](#execution--usage)
- [Technologies](#technologies)
- [Features](#features)
- [Author](#author)
- [Change log](#change-log)
- [License](#license)

## Installation

On macOS and Linux:

```sh
$ python -m pip install masslos
```

On Windows:

```sh
PS> python -m pip install masslos
```

## Execution / Usage

Here are a few examples of using the **`masslos`** library in your code:

```python
from masslos import DistanceUnit, SpeedUnit, WeightUnit
```

```python
w = WeightUnit()
s = SpeedUnit()
d = DistanceUnit()

# without specifying the decimal digits (default = 2)
dist_in_meter = d.convert(10, "yd", "m")
weight_in_kg = w.convert(11, "lbs", "kg")

print("Speed units:")
print(s.list_units())
```

```python
# with specifying the decimal digits
dist_in_meter = d.convert(value=10, from_unit="yd", to_unit="m", ndigits=3)
weight_in_kg = w.convert(value=11, from_unit="lbs", to_unit="kg", ndigits=3)
```

Usage exampe of the new measure classes:
```python
from masslos import Distance, Speed, Weight
```

```python
w1 = Weight(5, "kg")
w2 = Weight(5000, "g")
s = Speed(55, "mph")
d = Distance(5, "km")

# equals
print(w1 == w2) # True: 5kg is the same as 5,000g
print(w1 == d)  # False: 5kg is NOT equal to 5km

# math
print(w1 + w2)  # 10kg
print(w2 - w1)  # 0g
print(s / 5)    # 11mph
print(d * 4)    # 20km
```

For more examples, please refer to the project's [Wiki](wiki) or [documentation page](docs).

## Technologies

**`masslos`** uses the following technologies and tools:

- [Python](https://www.python.org/): ![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54)

## Features

**`masslos`** currently has the following set of features:

- Converting **distances** including
    - metric
    - imperial
    - astronomical
- Converting **weights** including
    - metric
    - imperial
- Converting **speeds**

## Author

Andreas Haberl – # – develop@haberl-info.de

## Change log

- 0.2.3
    - feat: add Measure classes
    - feat: changing class names<br>
            BREAKING CHANGE: use new class names
    - test: update/ammend
    - docs: update/complete docstrings
- 0.2.2
    - fix: packaging
- 0.2.1
    - feat: add Speed class
    - feat: changing to class based API<br>
            BREAKING CHANGE: use instance methods instead of function calls
    - feat: add function "list_units"
    - test: updates
    - docs: update README.md
- 0.2.0
    - feat: argument for precision of conversion
- 0.1.0
    - First working version

## License

**`masslos`** is distributed under the MIT license. See [`LICENSE`](LICENSE.md) for more details.
epa-syllabifier 0.3.0
Automatic syllabification module for Spanish words
Requires Python: >=3.8
Keywords: linguistics, nlp, spanish, syllabification, text-processing

# EPA Syllabifier

Módulo Python para la silabificación de palabras.

## Uso

```python
>>> from epa_syllabifier import syllabify
>>> syllabify("arcançía")
['ar', 'can', 'çía']
```

## Desarrollo

### Instalación para desarrollo

Para contribuir al proyecto, primero clona el repositorio y luego instala las dependencias de desarrollo:

```bash
git clone https://github.com/andalugeeks/epa-syllabifier.git
cd epa-syllabifier

# Configuración completa de desarrollo (crea venv e instala dependencias)
make dev-setup

# Ver comando para activar el entorno virtual
make activate
```

### Ejecución de tests

Para ejecutar los tests:

```bash
# Ejecutar todos los tests
make test

# Ejecutar tests con cobertura
make test-coverage

# Ejecutar tests con salida detallada
make test-verbose

# Ejecutar tests
make quick-test
```

### Comandos útiles de desarrollo

```bash
# Ver todos los comandos disponibles
make help

# Formatear código con Black
make format

# Verificar formato del código
make lint

# Construir el paquete
make build

# Limpiar archivos temporales
make clean

# Configuración completa: limpieza + instalación + tests
make all
```

## Requisitos

- Python >= 3.8

## Licencia

Este proyecto está licenciado bajo la Licencia GPL v3 - ver el archivo [LICENSE](LICENSE) para más detalles.
file-crud 0.2.5
Simple CRUD operations for file handling in Python
Requires Python: >=3.6

# File Crud

Simple CRUD operations for files and directories in Python.

# Description

file-crud is a lightweight Python package that provides basic Create, Read, Update, and Delete (CRUD) functions for handling files and directories easily. It includes safe operations with error handling and supports nested directories. Perfect for beginners or simple file management tasks.

The package normalizes file and directory paths across different operating systems (Windows, Linux, macOS), ensuring consistent behavior regardless of how paths are written or used.

# Features

Create a new file with content.

Read the content of a file.

Update (append) content to an existing file.

Delete a file safely with error handling.

Create and delete directories, including nested folders.

Optional recursive deletion: remove directories even if they contain files/subfolders.

Copy and move files with optional overwrite protection.

Copy and move directories recursively with optional overwrite.

Cross-platform path normalization to handle differences between operating systems.

# Installation

```bash
pip install file-crud
```

# Usage

```bash
import file_crud as fc #more easy to use

#Create a file

fc.create_file('example.txt', 'Hello, world!') # If you donâ€™t want content, pass None

#Read the file

content = fc.read_file('example.txt')

#Update the file

fc.update_file('example.txt', '\nThis is an added line.') # If no content to add, pass None

## Delete the file

fc.delete_file('example.txt')

## Create a directory (nested paths allowed)

fc.create_directory('my_folder/subfolder')

## Delete a directory (only if empty)

fc.delete_directory('my_folder/subfolder')

## Delete a directory recursively (removes all contents)

fc.delete_directory('my_folder', recursive=True)

## Copy a file (won't overwrite by default)

fc.copy_file('source.txt', 'destination.txt')

## Move a file (won't overwrite by default)

fc.move_file('old_location.txt', 'new_location.txt')

## Copy a directory recursively (won't overwrite by default)

fc.copy_directory('source_folder', 'destination_folder')

## Move a directory recursively (won't overwrite by default)

fc.move_directory('old_folder', 'new_folder')
```

# Notes on recursive deletion and overwrite

delete_directory with recursive=True removes the entire directory and all its contents â€” use with caution.

Copy and move functions accept an overwrite parameter (default False) to control whether existing files/directories get overwritten.

# Path Normalization

All functions internally normalize file and directory paths to ensure compatibility across Windows, Linux, and macOS. This means you can use paths with ~, relative paths, or different slash styles, and they will be handled correctly.

# Logs

## 0.2.5

Description Bugs Fixed.

## 0.2.4

Description new areas.

## 0.2.0

Can copy and move files and directories. New Path Normalization
MathLamp 1.1.0
a functional programmig language focused on math
Requires Python: >=3.11

![MathLamp Logo](docs/img/logo.png)[![RubberSpring - MathLamp](https://img.shields.io/static/v1?label=RubberSpring&message=MathLamp&color=blue&logo=github)](https://github.com/RubberSpring/MathLamp "Go to GitHub repo")
[![GitHub tag](https://img.shields.io/github/tag/RubberSpring/MathLamp?include_prereleases=&sort=semver&color=blue)](https://github.com/RubberSpring/MathLamp/releases/)
[![issues - MathLamp](https://img.shields.io/github/issues/RubberSpring/MathLamp)](https://github.com/RubberSpring/MathLamp/issues)  
# About

MathLamp is a simple, powerful, functional programming language that can run complex equations in no time.

# Install

Run the [main.py](mathlamp/main.py) file to open te REPL.  
To run a .lmp (MathLamp source) file run `lamp [file]` where `[file]` is your code file.

# Features

* Basic Artimetic operations (+ - * / %)
* Really simple Algebra (`sqrt()` and `pow()`)
* A working REPL to type expressions

# Example

```
out(1 + 1) // Prints 2
x = 3 * 2 // Variables
y = sqrt(4) // Square Root
out(x / y)
```
# Licensing

`typer` license: [typer-LICENSE](https://github.com/mathlamp/MathLamp/blob/master/LICENSES/typer-LICENSE)  
`lark` license: [lark-LICENSE](https://github.com/mathlamp/MathLamp/blob/master/LICENSES/lark-LICENSE)
EasyCliMenu 0.1.0
Simple CLI menu library for Python
Requires Python: >=3.6

# cli-menu

Complete interactive CLI menu without external dependencies.

---

## Description

`cli-menu` is a Python library to easily create interactive command-line menus, compatible with Windows, Linux, and macOS, with **no external dependencies**.

Features:  
- Keyboard navigation (arrow keys up/down, left/right for paging)  
- Single or multiple selection mode (space bar to check/uncheck)  
- Quit with `q` or `ESC`  
- Colored display using ANSI codes  
- Customizable titles and descriptions  
- Automatic pagination  
- Callbacks for specific options  
- Windows and Unix compatible (handles console specifics)

---

## Installation

```bash
pip install cli-menu
```
## Basic Usage

```python
from cli_menu import CliMenu

menu = CliMenu(
    options=["Option 1", "Option 2", "Quit"],
    title="=== MAIN MENU ===",
    description="Use arrow keys and Enter to navigate.",
    multiselect=False
)

choice = menu.show()
print(f"You selected: {menu.options[choice]}")
```
## Main Parameters

| Parameter   | Type             | Description                              | Default          |
| ----------- | ---------------- | ---------------------------------------- | ---------------- |
| options     | list\[str]       | List of options displayed in the menu    | *Required*       |
| title       | str              | Title displayed above the menu           | `None`           |
| description | str              | Description displayed below the title    | `None`           |
| multiselect | bool             | Enable multiple selection with space bar | `False`          |
| page\_size  | int              | Max number of options displayed per page | `10`             |
| color       | bool             | Enable ANSI color output                 | `True`           |
| exit\_keys  | list\[str]       | Keys to exit menu (e.g., `q`, `ESC`)     | `['q', '\\x1b']` |
| callbacks   | dict\[int, func] | Functions triggered on option selection  | `{}`             |

## Methods

```python
 show()
```
Displays the menu and handles keyboard interaction.
Returns:

   - Selected index (int) in single-select mode

   - List of selected indices (list[int]) in multi-select mode

   - None if user exits with an exit key

### Author

Gaetan Lerley -- Hostinfire@gmail.com
sentry-auth-gitlab-v2 0.5.0
Gitlab authentication provider for Sentry

[![PyPI version](https://badge.fury.io/py/sentry-auth-gitlab-v2.svg)](https://badge.fury.io/py/sentry-auth-gitlab-v2)

## Disclaimer 1
That's a second level for of this library. This fork was made in order to prepare PyPi package and make installation process easier via supported plugins install flow.
[Original fork](https://github.com/cirmaciu/sentry-auth-gitlab) disclaimer is below.

## Disclaimer 2
I am NOT a python developer. I just changed what was necessary to make it work. This repository can be used directly or be an inspiration to others to enable Gitlab SSO with Sentry 10. These files can be installed from local folder only as no updated package is available in pip repository.

## How to install

### Install via `pip`

Use `enhance-image.sh` script to build new image with this plugin.
Create a new file `sentry/enhance-image.sh` if it is missing.
```shell
cp sentry/enhance-image.example.sh sentry/enhance-image.sh
```

Add the following line to `sentry/enhance-image.sh` file:
```shell
pip install sentry-auth-gitlab-v2
```

Then run `./install.sh` script to build new image with this plugin.

### Install from sources

Create plugins folder in `sentry` and clone this repo:
```shell
mkdir sentry/plugins
cd sentry/plugins
git clone https://github.com/zekker6/sentry-auth-gitlab.git
```

Use `enhance-image.sh` script to build new image with this plugin.
Create a new file `sentry/enhance-image.sh` if it is missing.
```shell
cp sentry/enhance-image.example.sh sentry/enhance-image.sh
```

Add the following line to `sentry/enhance-image.sh` file:
```shell
pip install /usr/src/sentry/plugins/sentry-auth-gitlab
```

### Gitlab configuration

Tested with an official [sentry/self-hosted](https://github.com/getsentry/self-hosted) installation:
- Sentry 25.3.0
- Gitlab 17.1

Create a new application under your GitLab.
Enter the **Callback URL** as the prefix to your Sentry installation:
```
http(s?)://sentry.example.com/auth/sso/
```

Once done, grab your API keys and drop them in your `sentry.conf.py`:

```python
GITLAB_APP_ID = "APP-ID"
GITLAB_APP_SECRET = "APP-SECRET"
GITLAB_BASE_DOMAIN = "git.example.com"
```

Optionally you may also specify the api version, scheme, and scope:

```python
GITLAB_API_VERSION = 4
GITLAB_HTTP_SCHEME = "https"
GITLAB_AUTH_SCOPE = "api"
```

### Notice

If your gitlab is deployed in a private network (probably).
You need to alter sentry's default ip black list to make oauth flow work.

Put following config in your **sentry.conf.py** and delete conflict ones


```python
SENTRY_DISALLOWED_IPS = (
    '0.0.0.0/8',
    '10.0.0.0/8',
    '100.64.0.0/10',
    '127.0.0.0/8',
    '169.254.0.0/16',
    '172.16.0.0/12',
    '192.0.0.0/29',
    '192.0.2.0/24',
    '192.88.99.0/24',
    '192.168.0.0/16',
    '198.18.0.0/15',
    '198.51.100.0/24',
    '224.0.0.0/4',
    '240.0.0.0/4',
    '255.255.255.255/32'
)
```