semvec/pypi-packages huggingface dataset:
secure-auth 0.1.0
Secure password hashing and validation utilities
Requires Python: >=3.11

# 🔐 Secure Auth (Python)

[![CI](https://github.com/Jasbir88/secure-auth-python/actions/workflows/tests.yml/badge.svg)](https://github.com/Jasbir88/secure-auth-python/actions)
[![Python](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/)
[![Security](https://img.shields.io/badge/security-OWASP%20aligned-green.svg)](https://owasp.org/)

A **production‑ready password security library** for Python featuring:

✅ **Argon2 hashing (OWASP recommended)**  
✅ **Password blacklist protection**  
✅ **Defensive verification**  
✅ **Hash rehash detection (upgrade‑safe)**  
✅ **CI‑tested & package‑ready**

---

## 🚀 Installation

```bash
pip install secure-auth
agct 0.2.0
Another Genome Conversion Tool: Python frontend to Rust chainfile crate
Requires Python: >=3.11

# agct: Another Genome Conversion Tool

[![image](https://img.shields.io/pypi/v/agct.svg)](https://pypi.python.org/pypi/agct)
[![image](https://img.shields.io/pypi/l/agct.svg)](https://pypi.python.org/pypi/agct)
[![image](https://img.shields.io/pypi/pyversions/agct.svg)](https://pypi.python.org/pypi/agct)
[![Actions status](https://github.com/genomicmedlab/agct/actions/workflows/checks.yaml/badge.svg)](https://github.com/genomicmedlab/agct/actions/checks.yaml)

<!-- description -->
Lift over positions between genomic reference assemblies, using the St. Jude's [chainfile](https://docs.rs/chainfile/latest/chainfile/) crate.
<!-- description -->

Enables significantly faster chainfile loading from cold start (see `analysis/`).

## Installation

Install from [PyPI](https://pypi.org/project/agct/):

```shell
python3 -m pip install agct
```

## Usage

Initialize a class instance:

```python3
from agct import Converter, Assembly, Strand

c = Converter(Assembly.HG19, Assembly.HG38)
```

> If a chainfile is unavailable locally, it's downloaded from UCSC and saved using the `wags-tails` package -- see the [wags-tails configuration instructions](https://github.com/GenomicMedLab/wags-tails?tab=readme-ov-file#configuration) for information on how to designate a non-default storage location.

Call ``convert_coordinate()``:

```python3
c.convert_coordinate("chr7", 140453136, 140453137, Strand.POSITIVE)
# returns [LiftoverResult(chrom='chr7', start=140753336, end=140753337, strand=<Strand.POSITIVE: '+'>)]
```

## Development

The [Rust toolchain](https://www.rust-lang.org/tools/install) must be installed.

Create a virtual environment and install developer dependencies:

```shell
python3 -m virtualenv venv
source venv/bin/activate
python3 -m pip install -e '.[dev,tests]'
```

This installs Python code as editable, but after any changes to Rust code, run ``maturin develop`` to rebuild the Rust binary:

```shell
maturin develop
```

Be sure to install pre-commit hooks:

```shell
pre-commit install
```

Check Python style with `ruff`:

```shell
python3 -m ruff format . && python3 -m ruff check --fix .
```

Use `cargo fmt` to check Rust style (must be run from within the `rust/` subdirectory):

```shell
cd rust/
cargo fmt
```

Run tests with `pytest`:

```shell
pytest
```
MGost 0.5.0
MGost converter console app based on ArtichaAPI
Requires Python: <3.14,>=3.13
Keywords: ArtichaSite, api

# MGost
Библиотека позволяет пользоваться преимуществами MGost конвертера локально

## Установка

Для начала необходимо получить API токен на [официальном сайте конвертера](https://articha.ru/auth/tokens/)

После создания ключа можно запустить библиотеку напрямую через [uv](https://docs.astral.sh/uv/) (**Рекомендуется**):
```bash
uvx mgost version
```

Или через pip:
```bash
python3.13 -m pip install mgost
python3.13 -m mgost version
```

## Запуск
Для инициализации папки для проекта используйте `mgost init`. Первый запуск запросит API токен:
```console
$ uvx mgost init
API ключ не найден ни в переменных среды, ни в .env.
Введите код вручную или внесите его в вышеперечисленные источники
ARTICHAAPI_TOKEN=
```

После ввода токена, нужно выбрать проект:
```console
ARTICHAAPI_TOKEN= ...
Текущий проект недействительный в облаке. Воспользуйтесь mgost init для инициализации проекта
Создать новый проект или синхронизировать существующий?
0. Создать новый проект
1. "Проект1"
2. "Проект2"
Действие: 
```

В зависимости от выбора, могут быть другие вопросы инициализации

## Синхронизация
После инициализации проект можно синхронизировать и выполнять рендер. Команда `mgost render` синхронизирует проект с облаком и выполнит рендер.

```console
$ mgost render
Текущий проект: Проект1
Синхронизация ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3/3
Начинаю рендер
Рендер успешно завершён
↓ output.docx ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
```

В случае проблем с выполнением рендера, лог будет отображаться в консоли:
```console
$ mgost render
Текущий проект: Проект1
Синхронизация ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3/3
Начинаю рендер
Рендер успешно завершён
    ИНФО: grafana-logo-3.png не существует. Изображение (рисунок) пропущен
↓ output.docx ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
```
heavyedge-landmarks 1.5.0
Package to locate landmarks from edge profiles
Requires Python: >=3.10

# HeavyEdge-Landmarks

[![Supported Python Versions](https://img.shields.io/pypi/pyversions/heavyedge-landmarks.svg)](https://pypi.python.org/pypi/heavyedge-landmarks/)
[![PyPI Version](https://img.shields.io/pypi/v/heavyedge-landmarks.svg)](https://pypi.python.org/pypi/heavyedge-landmarks/)
[![License](https://img.shields.io/github/license/heavyedge/heavyedge-landmarks)](https://github.com/heavyedge/heavyedge-landmarks/blob/master/LICENSE)
[![CI](https://github.com/heavyedge/heavyedge-landmarks/actions/workflows/ci.yml/badge.svg)](https://github.com/heavyedge/heavyedge-landmarks/actions/workflows/ci.yml)
[![CD](https://github.com/heavyedge/heavyedge-landmarks/actions/workflows/cd.yml/badge.svg)](https://github.com/heavyedge/heavyedge-landmarks/actions/workflows/cd.yml)
[![Docs](https://readthedocs.org/projects/heavyedge-landmarks/badge/?version=latest)](https://heavyedge-landmarks.readthedocs.io/en/latest/?badge=latest)

![title](https://heavyedge-landmarks.readthedocs.io/en/latest/_images/plot-header.png)

Python package to locate landmarks from edge profiles.

Supports:

- Pseudo-landmark sampling.
- Mathematical landmark detection.
- Converting configuration matrix to pre-shape.
- Plateau fitting.

## Usage

HeavyEdge-Landmarks provides functions to locate landmarks from multiple profiles.

A simple use case to locate 10 pseudo-landmarks:

```python
from heavyedge import get_sample_path, ProfileData
from heavyedge_landmarks import pseudo_landmarks
with ProfileData(get_sample_path("Prep-Type2.h5")) as data:
    x = data.x()
    Ys, Ls, _ = data[:]
lm = pseudo_landmarks(x, Ys, Ls, 10)
```

Refer to the package documentation for more information.

## Installation

```
$ pip install heavyedge-landmarks
```

## Documentation

The manual can be found online:

> https://heavyedge-landmarks.readthedocs.io

If you want to build the document yourself, get the source code and install with `[doc]` dependency.
Then, go to `doc` directory and build the document:

```
$ pip install .[doc]
$ cd doc
$ make html
```

Document will be generated in `build/html` directory. Open `index.html` to see the central page.

## Developing

### Installation

For development features, you must install the package by `pip install -e .[dev]`.

### Testing

Run `pytest` command to perform unit test.