Skip to main content

SIGNAL API

PyPI - Version Telegram chat

Обертка над API Signal

Официальная документация https://api.sgnl.pro/openapi/swagger/index.html

Установка

pip install -U sgnl-api

Пример

import asyncio
import os
from sgnl_api import DocsApi
from dotenv import load_dotenv

load_dotenv()
CLIENT_ID = os.getenv("CLIENT_ID")
SECRET_ID = os.getenv("SECRET_ID")


async def main():

    async with await DocsApi.create(
        client_id=CLIENT_ID,
        client_secret=SECRET_ID
    ) as docs:
        projects = await docs.project.get_list()
        for project in projects:
            print(project)


if __name__ == "__main__":
    asyncio.run(main())

Клиент можно использовать и без async with — тогда после завершения работы стоит вызвать await docs.aclose(), чтобы закрыть пул соединений.

Обработка ошибок

При ошибке API методы бросают исключение, а не возвращают dict с ключом error — проверять каждый ответ вручную не нужно.

from sgnl_api import DocsApi, SgnlApiError, SgnlNotFoundError

try:
    project = await docs.project.info(project_id)
except SgnlNotFoundError:
    ...
except SgnlApiError as e:
    print(e.status_code, e.message)

Иерархия исключений: SgnlApiError (базовое) → SgnlRequestError (сетевые ошибки/таймауты), SgnlAuthenticationError (401), SgnlBadRequestError (400), SgnlForbiddenError (403), SgnlNotFoundError (404), SgnlQuotaExceededError (450), SgnlServerError (5xx).

Методы

Метод Описание Возвращает
item.get_list Список файлов в директории list[dict]
item.count Количество файлов в директории int
item.create_file Создает новый файл с версией UUID
item.create_link Создает новую ссылку UUID
item.get_link Получает ссылку для загрузки файла dict
item.add_version Добавляет новую версию к существующему файлу None
folder.get_list Список дочерних папок list[dict]
folder.create Создает новую папку UUID
folder.rename Переименовывает папку None
project.root_folder Информация о корневой папке проекта dict
project.root_folder_id UUID корневой папки проекта UUID
project.get_list Список проектов list[dict]
project.info Информация о проекте dict
project.users Список пользователей проекта list[dict]
project.roles Список ролей проекта list[dict]
project.users_permissions Список прав пользователя в проекте list[str]
company.users_list Список пользователей компании list[dict]
company.roles_list Список ролей компании list[dict]
version.get_list Список версий файла list[dict]
version.count Количество версий файла int
version.create Создает новую версию объекта UUID
file.get_object_upload Получает тикет на загрузку объекта dict
file.commit_uploading Завершает загрузку объекта None
file.upload Загружает файл dict или None

Metadata

Release files for sgnl-api 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sgnl-api 0.1.0
File Size Uploaded Provenance Actions
sgnl_api-0.1.0.tar.gz 15.1 kB Without provenance Details for sgnl_api-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sgnl-api 0.1.0
File Interpreter ABI Platform Actions
sgnl_api-0.1.0-py3-none-any.whl Python 3 none any Details for sgnl_api-0.1.0-py3-none-any.whl

Total release size: 29.2 kB

Release files / sgnl_api-0.1.0.tar.gz

Download URL sgnl_api-0.1.0.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
1f7c797882457e9cfa348a18d11c352a5cf1e6ff0f8f2d4b955905464def3470
BLAKE2b-256 checksum
How to use checksums
569268b5728a98268d29f251add64b6ebf68c37684ee9421085813aa930dc2e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.4

Release files / sgnl_api-0.1.0-py3-none-any.whl

Download URL sgnl_api-0.1.0-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
804fa2ac8fde7a807ed08be2a49f9724d465bd5cc9a863a17d08bcca65c4b555
BLAKE2b-256 checksum
How to use checksums
f44b21e99ccdfc1c851b4dc7f2c6be3a90bdfb28ef71888ca40a5ed048642284
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.5.4

Security for sgnl-api 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page