semvec/pypi-packages huggingface dataset:
purelint 0.1.12
A functional python pylint plugin
Requires Python: >=3.13

# purelint
Excessive mutability checking for Python. This is a Pylint plugin.

I have been learning Haskell and Gleam, but those are not languages that I use in production.
The motivation behind this project is to see how far I can get adding functional constraints to Python
and see what I can actually build.

## Features

- `match` exhaustiveness checker, ensuring that all `match` statements have a `_` clause
  - It is recommended to use something like `assert_never(value)` so that type checkers like `mypy` pick up on any unmatched cases
    For example:
    ```python
    from typing import assert_never

    def taker(v: Animal | None | int):
        """Check animal lint"""
        match v:
            case None:
                pass
            case Animal():
                pass
            case int():
                pass
            case _:
                assert_never(v)
    ```
    Then run `mypy` on your code. It will give you an error if you're not checking all cases.
- Variable rebinding
- No augmented assignments
- No mutable methods
- No subscript assignment
- No deletes
- A `pipe` tool for immutable transformations on a data structure
  For example:
  ```python
  from purelint import pipe
  
  sorted_after_deletes = pipe(
      build_tree(values),  # start with tree
      lambda t: delete(t, 2),  # delete 2
      lambda t: delete(t, 5),  # delete 5
      inorder,  # get sorted tuple
  )
   ```


## Installing

With `uv`:
```
uv add --dev purelint
```

With `pip`:
```
pip install -U purelint
```

## Running

```
pylint --load-plugins=purelint example.py
```

With `uv`:
```
uv run pylint --load-plugins=purelint example.py
```

## Testing

```
uv run pytest
```
uzhond 0.1.0
A library for processing Uzbek text, including conversion, cleaning, and analysis.
Requires Python: >=3.6

# Uzhond

Uzhond is a Python library for processing Uzbek text. It provides functionalities for text conversion, cleaning, stop word management, and text analysis, making it a useful tool for both beginners and advanced users.

## Features

- Convert between Cyrillic and Latin scripts
- Clean text by removing special characters and extra spaces
- Manage Uzbek stop words
- Analyze text for word and sentence counts

## Installation

```bash
pip install uzhond
```

## Usage

```python
from uzhond.converter import to_latin, to_cyrillic
from uzhond.cleaner import remove_special_chars, remove_emojis, normalize_spaces
from uzhond.stopwords import remove_stopwords
from uzhond.analyzer import count_words, count_sentences

text = "Салом дунё! 😊  Узбек тилидаги матн."

# Конвертация
latin_text = to_latin(text)
cyrillic_text = to_cyrillic(latin_text)

# Очистка
cleaned = remove_special_chars(text)
no_emoji = remove_emojis(cleaned)
normalized = normalize_spaces(no_emoji)

# Работа со стоп-словами
filtered = remove_stopwords(normalized)

# Анализ
words = count_words(filtered)
sentences = count_sentences(filtered)

print(f"Слов: {words}, Предложений: {sentences}")
```

## Contributing

Contributions are welcome! Please open an issue or submit a pull request.

## License

This project is licensed under the MIT License.
hunspell2 0.2.1
A modern Python interface to Hunspell, compatible with current Hunspell releases and easy to install across platforms
Requires Python: >=3.11
Keywords: dictionary, hunspell, linguistics, nlp, pyhunspell, spell-checker, spellcheck, text-processing

# myhunspell

A modern, lightweight Python interface to **Hunspell**, designed to work with **current Hunspell versions** and to be **easy to install across platforms**, including macOS.

This project was created as a maintained alternative to [`pyhunspell`](https://github.com/pyhunspell/pyhunspell), which is no longer actively maintained and does not support newer releases of Hunspell.

---

## Motivation

Hunspell is widely used for spell checking, but existing Python bindings—most notably `pyhunspell`—have fallen behind:

- `pyhunspell` is no longer actively maintained
- It does not support modern Hunspell versions (≥ 1.7)
- Installation often fails on newer systems, or requires manual tinkering, especially macOS

This library aims to provide:

- ✅ Compatibility with **current Hunspell versions**
- ✅ Simple installation on **macOS, Linux, and other platforms**
- ✅ A clean, Pythonic API
- ✅ Minimal build complexity

---

## Design

Instead of tightly coupling to Hunspell’s internal C++ headers and build layout, this library relies on the **system-installed `hunspell` command-line tool**.

This design choice provides several benefits:

- No fragile dependency on Hunspell’s internal header structure
- Works with any Hunspell version available on the system
- Simplifies installation, especially on macOS
- Avoids compiler and ABI issues common with native Python extensions

---

## Requirements

- Python 3.11+
- **Hunspell must be installed and available on your `PATH`**

You can verify Hunspell is available by running:

```bash
hunspell -v
git-sqlite-filter 0.1.2
A clean/smudge git filter for SQLite databases with noise reduction
Requires Python: >=3.7

git-sqlite-filter
=================

A Git clean/smudge filter for SQLite databases that ensures logical, deterministic SQL dumps.

Features
--------
*   **Noise Reduction**: Stable row sorting by Primary Key prevents "phantom diffs".
*   **FTS5 Support**: Correctly filters virtual table shadow tables for transparent restoration.
*   **Generated Columns**: Excludes virtual/stored columns from INSERT statements.
*   **Lock Resilience**: Uses atomic backups to handle busy databases during commits.

Installation
------------
Install directly via pip:

.. code-block:: bash

    pip install git-sqlite-filter

Usage
-----
Configure the filter in your ``.gitattributes``:

.. code-block:: text

    *.sqlite filter=sqlite diff=sqlite
    *.db filter=sqlite diff=sqlite

And in your ``.gitconfig`` (global or local):

.. code-block:: ini

    [filter "sqlite"]
        clean = git-sqlite-clean %f
        smudge = git-sqlite-smudge %f
        required = true
    [diff "sqlite"]
        # Allows 'git diff' to show readable SQL changes
        textconv = git-sqlite-clean

Debugging
---------
Enable debug logging with the ``--debug`` flag or by setting ``GIT_TRACE=1``:

.. code-block:: bash

    GIT_TRACE=1 git diff mydb.sqlite

Development
-----------
Run the test suite with coverage:

.. code-block:: bash

    make dev-deps
    make test

Run linting:

.. code-block:: bash

    make lint
lymia 0.0.6
Easy to use curses wrapper
Requires Python: >=3.13
Keywords: curses

# Lymia

Make a simple curses app with this easy to use wrapper.

> [!NOTE]
> This one's in an alpha stage.

## Availability

Linux, Mac (???), Windows with curses

## Dependency

`curses` (Check your Python if it has curses or not)

## Features

1. Stack-based Scenes
2. Easy to use Panels
3. Menus
4. Forms
5. Animations
6. Coloring guides
7. Several cool utility tools

### Issues & Contribution

TBA