sgnl-api


Namesgnl-api JSON
Version 0.0.3 PyPI version JSON
download
home_pagehttps://github.com/gritsyuk/sgnl-api
SummaryAsynchronous python wrapper over API sgnl.pro
upload_time2024-11-20 13:38:30
maintainerNone
docs_urlNone
authorIgor Gritsyuk
requires_python>=3.9
licenseNone
keywords sgnl api signal docs construction supervision operation inspections constarctionsite building management
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # <img src="./img/logo.svg"> SIGNAL API

![PyPI - Version](https://img.shields.io/pypi/v/sgnl-api) [![Telegram chat](https://img.shields.io/badge/Просто_о_BIM-join-blue?logo=telegram)](https://t.me/prostobim)
## Обертка над API Signal 
Официальная документация [https://api.sgnl.pro/openapi/swagger/index.html](https://api.sgnl.pro/openapi/swagger/index.html)
## Установка
```bash
pip install -U sgnl-api
```

## Пример
```python
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():

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


if __name__ == "__main__":
    asyncio.run(main())
```
## Методы
| Метод                   | Описание                                                         | Возвращает         |
|-------------------------|-----------------------------------------------------------------|--------------------|
| `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`  |


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/gritsyuk/sgnl-api",
    "name": "sgnl-api",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "sgnl api signal docs construction supervision operation inspections constarctionsite building management",
    "author": "Igor Gritsyuk",
    "author_email": "gritsyuk.igor@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/52/b4/78578cd3c609fbfa6358fb06443c890f8d32b910134c8f69d49c241e6eef/sgnl_api-0.0.3.tar.gz",
    "platform": null,
    "description": "# <img src=\"./img/logo.svg\"> SIGNAL API\r\n\r\n![PyPI - Version](https://img.shields.io/pypi/v/sgnl-api) [![Telegram chat](https://img.shields.io/badge/\u041f\u0440\u043e\u0441\u0442\u043e_\u043e_BIM-join-blue?logo=telegram)](https://t.me/prostobim)\r\n## \u041e\u0431\u0435\u0440\u0442\u043a\u0430 \u043d\u0430\u0434 API Signal \r\n\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f [https://api.sgnl.pro/openapi/swagger/index.html](https://api.sgnl.pro/openapi/swagger/index.html)\r\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n```bash\r\npip install -U sgnl-api\r\n```\r\n\r\n## \u041f\u0440\u0438\u043c\u0435\u0440\r\n```python\r\nimport asyncio\r\nimport os\r\nfrom sgnl_api import DocsApi\r\nfrom dotenv import load_dotenv\r\n\r\nload_dotenv()\r\nCLIENT_ID = os.getenv(\"CLIENT_ID\")\r\nSECRET_ID = os.getenv(\"SECRET_ID\")\r\n\r\n\r\nasync def main():\r\n\r\n    docs = await DocsApi.create(\r\n        client_id=CLIENT_ID,\r\n        client_secret=SECRET_ID\r\n    )\r\n    projects = await docs.project.get_list()\r\n    for project in projects:\r\n        print(project)\r\n\r\n\r\nif __name__ == \"__main__\":\r\n    asyncio.run(main())\r\n```\r\n## \u041c\u0435\u0442\u043e\u0434\u044b\r\n| \u041c\u0435\u0442\u043e\u0434                   | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435                                                         | \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442         |\r\n|-------------------------|-----------------------------------------------------------------|--------------------|\r\n| `item.get_list`         | \u0421\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438                                       | `list[dict]`       |\r\n| `item.count`            | \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438                                   | `int`              |\r\n| `item.create_file`      | \u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 \u0432\u0435\u0440\u0441\u0438\u0435\u0439                                     | `UUID`             |\r\n| `item.create_link`      | \u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u0441\u0441\u044b\u043b\u043a\u0443                                             | `UUID`             |\r\n| `item.get_link`         | \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u0443 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u0430                               | `dict`             |\r\n| `item.add_version`      | \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c\u0443 \u0444\u0430\u0439\u043b\u0443                     | `None`             |\r\n| `folder.get_list`       | \u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u043f\u0430\u043f\u043e\u043a                                            | `list[dict]`       |\r\n| `folder.create`         | \u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443                                              | `UUID`             |\r\n| `folder.rename`         | \u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u043f\u0430\u043f\u043a\u0443                                            | `None`             |\r\n| `project.root_folder`   | \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430                              | `dict`             |\r\n| `project.root_folder_id`| UUID \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430                                      | `UUID`             |\r\n| `project.get_list`      | \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432                                                  | `list[dict]`       |\r\n| `project.info`          | \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0435                                             | `dict`             |\r\n| `project.users`         | \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0430                                     | `list[dict]`       |\r\n| `project.roles`         | \u0421\u043f\u0438\u0441\u043e\u043a \u0440\u043e\u043b\u0435\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0430                                             | `list[dict]`       |\r\n| `project.users_permissions` | \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u0430\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435                          | `list[str]`        |\r\n| `company.users_list`    | \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438                                    | `list[dict]`       |\r\n| `company.roles_list`    | \u0421\u043f\u0438\u0441\u043e\u043a \u0440\u043e\u043b\u0435\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438                                            | `list[dict]`       |\r\n| `version.get_list`      | \u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0435\u0440\u0441\u0438\u0439 \u0444\u0430\u0439\u043b\u0430                                              | `list[dict]`       |\r\n| `version.count`         | \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0435\u0440\u0441\u0438\u0439 \u0444\u0430\u0439\u043b\u0430                                          | `int`              |\r\n| `version.create`        | \u0421\u043e\u0437\u0434\u0430\u0435\u0442 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u0430                                     | `UUID`             |\r\n| `file.get_object_upload`| \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0442\u0438\u043a\u0435\u0442 \u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0430                               | `dict`             |\r\n| `file.commit_uploading` | \u0417\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0430                                       | `None`             |\r\n| `file.upload`           | \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u0444\u0430\u0439\u043b                                                   | `dict` \u0438\u043b\u0438 `None`  |\r\n\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Asynchronous python wrapper over API sgnl.pro",
    "version": "0.0.3",
    "project_urls": {
        "Download": "https://github.com/gritsyuk/sgnl-api/archive/refs/heads/develop.zip",
        "GitHub": "https://github.com/gritsyuk/sgnl-api",
        "Homepage": "https://github.com/gritsyuk/sgnl-api"
    },
    "split_keywords": [
        "sgnl",
        "api",
        "signal",
        "docs",
        "construction",
        "supervision",
        "operation",
        "inspections",
        "constarctionsite",
        "building",
        "management"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1f4cc87712c440dcc54a27643319599e6cbdc88226e9b308791f246e14c05678",
                "md5": "148021594139eb48b2b09deb84a9ddc0",
                "sha256": "19cec54126366acb54fa7ff6cfd0520381adf0f969693ec8a83cb2baf9a32460"
            },
            "downloads": -1,
            "filename": "sgnl_api-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "148021594139eb48b2b09deb84a9ddc0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 9008,
            "upload_time": "2024-11-20T13:38:28",
            "upload_time_iso_8601": "2024-11-20T13:38:28.539460Z",
            "url": "https://files.pythonhosted.org/packages/1f/4c/c87712c440dcc54a27643319599e6cbdc88226e9b308791f246e14c05678/sgnl_api-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "52b478578cd3c609fbfa6358fb06443c890f8d32b910134c8f69d49c241e6eef",
                "md5": "6b27d19c11f9c94e4f68f4353927a71a",
                "sha256": "dd84716fce70985245873f963ce29f1be4ebaa797fb016237cf379892e725bb5"
            },
            "downloads": -1,
            "filename": "sgnl_api-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "6b27d19c11f9c94e4f68f4353927a71a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 9509,
            "upload_time": "2024-11-20T13:38:30",
            "upload_time_iso_8601": "2024-11-20T13:38:30.369658Z",
            "url": "https://files.pythonhosted.org/packages/52/b4/78578cd3c609fbfa6358fb06443c890f8d32b910134c8f69d49c241e6eef/sgnl_api-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-20 13:38:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "gritsyuk",
    "github_project": "sgnl-api",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "sgnl-api"
}
        
Elapsed time: 0.37586s