semvec/pypi-packages huggingface dataset:
certbot-onion 0.4.0
Certbot authenticator plugin for the onion-csr-01 challenge
License: MIT

# certbot-onion

`onion-csr-01` Authenticator plugin for Certbot

This plugin allows certbot to request certificates for `.onion` domains using the `onion-csr-01` challenge type,
signing the request with the key of the hidden service.

## Installation

```shell
pip install certbot-onion
```

## Usage

```shell
certbot --server https://acme.api.acmeforonions.org/directory certonly -d 5anebu2glyc235wbbop3m2ukzlaptpkq333vdtdvcjpigyb7x2i2m2qd.onion --authenticator onion-csr
```

The important arguments here is:  `--authenticator onion-csr`

### Configuration arguments

* `--onion-csr-torrc-file /etc/tor/torrc` - Provides the path to the `torrc` file, hidden service directories are discovered from this file.
* `--onion-csr-hs-dir /var/lib/tor/example_hs/` - Provides the path to the hidden service directory, this can be specified multiple times for multiple domains.

If your `torrc` is in the standard location of `/etc/tor/torrc` then you do not need to specify any configuration arguments.
pyucallerapi 0.1.1
Python service for convenient work with uCaller API
License: MIT
Requires Python: >=3.10

# pyucallerapi - Python service for convenient work with uCaller API

![](https://www.python.org/static/img/python-logo.png) 

# Documentation uCaller api: [DOC](https://developer.ucaller.ru)

Установка
============

Пользуем pip:
    
```
pip install pyucallerapi
```

Зависимости
    
    python>=3.10
    requests
    pydantic>=2.9.2

    
Как использовать
============
Все названия методов соответствуют action в ссылке (смотрите документацию).
**Пример названия метода:** 

- _/v1.0/**initCall**/ - `init_сall`_

**Варианты импорта**
Вы можете импортировать

    UCallerAPI - с всеми доступными методами 
    SettingAPI - только методы для работы с аккаунтом
    CallAPI - только запросы кода авторизации

Так же прошу вас обратить **внимание** на аннотацию типов аргументов 

Если вам нужно чтобы ответ был в dict - то при инициализации укажите аргумент **return_dict** = True
    
    api = UCallerAPI(service_id=service_id,key=key, return_dict=True)

    # Либо
    api = UCallerAPI(service_id=service_id,key=key,)
    api.return_dict = True

# Example

### Использование сервиса 

    import logging
    from pyucallerapi import APIUCaller, CallAPI, SettingAPI
    

    logger = logging.getLogger(__name__)
    logging.basicConfig(filename='example.log', encoding='utf-8', level=logging.DEBUG)

    service_id = <int>
    key = ""
    # запрашиваем звонок 
    api = APIUCaller(
        service_id=service_id,
        key=key,
        logger=logger
    )
    # Проверка работоспособности сервиса -> HealthModel | ErrorResponseModel
    api.health()

    # Запрос на авторизацию ->  InitCallModel | ErrorResponseModel
    out = api.init_call("+79000000001", "6123",) 
    
    # получить информацию о запросе авторизации 
    api.get_info(out.ucaller_id)



    
### Получение данных webhook (например, из FastAPI)
    from fastapi import APIRouter, Request
    from pyucallerapi import UcallerWebhookModel   

    router = APIRouter()
    
    @router.post("/ucaller-webhook")
    async def handle_webhook(request: Request):
        data = await request.json()
        webhook = UcallerWebhookRequest(**data)  # Валидация
        
    if webhook.isMnp:
        print(f"Номер портирован от {webhook.operatorName} к {webhook.operatorNameMnp}")
    
    return {"status": "ok"}