pghist-client


Namepghist-client JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://stash.bars-open.ru/projects/M3/repos/pghist-client
SummaryКлиент для взаимодействия с сервисом логирования действий пользователя (PGHist).
upload_time2024-11-05 06:56:55
maintainerNone
docs_urlNone
authorBARS Group
requires_pythonNone
licenseMIT
keywords django pghist client
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Пакет ``pghist-client`` предоставляет клиент для работы с сервисом ``pgchangehistory``.

Возможности
-----------

* Выполнение запросов к сервису логирования с учётом фильтров [pgchangehistory](https://stash.bars-open.ru/projects/M3/repos/pgchangehistory).
* Предобработка результатов выполнения запросов.
* Представление результатов в виде dataclass'ов.
* Предоставление провайдера `HistoryDataProvider` для работы с данными.

Системные требования
--------------------

* [Python](http://www.python.org/) >=3.6
* [Django](http://djangoproject.com/) >=2.2,<5.1
* [requests](https://pypi.org/project/requests/) >=2,<3
* [requests-oauthlib](https://pypi.org/project/requests-oauthlib/) <=1.3.1
* [oauthlib](https://pypi.org/project/oauthlib/) >=2,<3.3
* [djangorestframework](https://pypi.org/project/djangorestframework/)


Установка и подключение
-------------------------

Установка:

```bash
  $ pip install pghist-client
```


Настройка:

```python

  INSTALLED_APPS += [
      'rest_framework',
      'pghist_client',
  ]

  PGHIST = dict(
      API_URL='http://pgchangehistory.api.url/',
      TIMEOUT=5,
      USE_SIMPLE_SERVER=False,
      OAUTH2=dict(
          ACCESS_TOKEN='token_to_access',
          TOKEN_URL='http://pgchangehistory.api.url/oauth2/token/',
          CLIENT_ID='client_id',
          CLIENT_SECRET='client_secret',
          USERNAME='username',
          PASSWORD='******',
      ),
  )
```


Настройки
---------
- `API_URL` --- URL API сервера _**pgchangehistory**_.
- `TIMEOUT` --- timeout запроса к серверу **_pgchangehistory_** в секундах.
- `USE_SIMPLE_SERVER` --- Флаг использования сервиса без авторизации (при `True` потребуется какой-либо дефолтный `ACCESS_TOKEN`, имеющийся в сервисе).
- `ACCESS_TOKEN` --- Токен доступа к сервису (требуется только при использовании сервиса без авторизации).
- `OAUTH2` --- Блок параметров для OAUTH2 авторизации (необходимы при `USE_SIMPLE_SERVER=False`):
    * `TOKEN_URL` --- URL для получения токена, должен использоваться HTTPS.
    * `CLIENT_ID` --- ID клиента, созданный на стороне REST-сервера.
    * `CLIENT_SECRET` --- Секретный ключ клиента, созданный на стороне REST-сервера.
    * `USERNAME` --- username пользователя для получения токена.
    * `PASSWORD` --- password пользователя для получения токена.

            

Raw data

            {
    "_id": null,
    "home_page": "https://stash.bars-open.ru/projects/M3/repos/pghist-client",
    "name": "pghist-client",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "django pghist client",
    "author": "BARS Group",
    "author_email": "bars@bars.group",
    "download_url": "https://files.pythonhosted.org/packages/50/ad/a4aec64dbe7972bcd29df4d2d7a28b53f21c0483f67c97e4fc2187501c70/pghist_client-0.1.2.tar.gz",
    "platform": null,
    "description": "\u041f\u0430\u043a\u0435\u0442 ``pghist-client`` \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c ``pgchangehistory``.\n\n\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\n-----------\n\n* \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432 [pgchangehistory](https://stash.bars-open.ru/projects/M3/repos/pgchangehistory).\n* \u041f\u0440\u0435\u0434\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.\n* \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0432 \u0432\u0438\u0434\u0435 dataclass'\u043e\u0432.\n* \u041f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 `HistoryDataProvider` \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.\n\n\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\n--------------------\n\n* [Python](http://www.python.org/) >=3.6\n* [Django](http://djangoproject.com/) >=2.2,<5.1\n* [requests](https://pypi.org/project/requests/) >=2,<3\n* [requests-oauthlib](https://pypi.org/project/requests-oauthlib/) <=1.3.1\n* [oauthlib](https://pypi.org/project/oauthlib/) >=2,<3.3\n* [djangorestframework](https://pypi.org/project/djangorestframework/)\n\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\n-------------------------\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430:\n\n```bash\n  $ pip install pghist-client\n```\n\n\n\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430:\n\n```python\n\n  INSTALLED_APPS += [\n      'rest_framework',\n      'pghist_client',\n  ]\n\n  PGHIST = dict(\n      API_URL='http://pgchangehistory.api.url/',\n      TIMEOUT=5,\n      USE_SIMPLE_SERVER=False,\n      OAUTH2=dict(\n          ACCESS_TOKEN='token_to_access',\n          TOKEN_URL='http://pgchangehistory.api.url/oauth2/token/',\n          CLIENT_ID='client_id',\n          CLIENT_SECRET='client_secret',\n          USERNAME='username',\n          PASSWORD='******',\n      ),\n  )\n```\n\n\n\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\n---------\n- `API_URL` --- URL API \u0441\u0435\u0440\u0432\u0435\u0440\u0430 _**pgchangehistory**_.\n- `TIMEOUT` --- timeout \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 **_pgchangehistory_** \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445.\n- `USE_SIMPLE_SERVER` --- \u0424\u043b\u0430\u0433 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0431\u0435\u0437 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 (\u043f\u0440\u0438 `True` \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 `ACCESS_TOKEN`, \u0438\u043c\u0435\u044e\u0449\u0438\u0439\u0441\u044f \u0432 \u0441\u0435\u0440\u0432\u0438\u0441\u0435).\n- `ACCESS_TOKEN` --- \u0422\u043e\u043a\u0435\u043d \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443 (\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0431\u0435\u0437 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438).\n- `OAUTH2` --- \u0411\u043b\u043e\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f OAUTH2 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 (\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u043f\u0440\u0438 `USE_SIMPLE_SERVER=False`):\n    * `TOKEN_URL` --- URL \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u043a\u0435\u043d\u0430, \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f HTTPS.\n    * `CLIENT_ID` --- ID \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 REST-\u0441\u0435\u0440\u0432\u0435\u0440\u0430.\n    * `CLIENT_SECRET` --- \u0421\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 REST-\u0441\u0435\u0440\u0432\u0435\u0440\u0430.\n    * `USERNAME` --- username \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u043a\u0435\u043d\u0430.\n    * `PASSWORD` --- password \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u043a\u0435\u043d\u0430.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "\u041a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (PGHist).",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://stash.bars-open.ru/projects/M3/repos/pghist-client"
    },
    "split_keywords": [
        "django",
        "pghist",
        "client"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f211b2fe12f57820d4a711becd6958f6d0da45f51fcf337a21eb8ae48b25ccd3",
                "md5": "0181bd8ad4fde5b3a762e110492fb45a",
                "sha256": "1c492995515b160956a1bf7b8f043133dbd2369d722fc859699135351b5d66ac"
            },
            "downloads": -1,
            "filename": "pghist_client-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0181bd8ad4fde5b3a762e110492fb45a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 12428,
            "upload_time": "2024-11-05T06:56:54",
            "upload_time_iso_8601": "2024-11-05T06:56:54.539810Z",
            "url": "https://files.pythonhosted.org/packages/f2/11/b2fe12f57820d4a711becd6958f6d0da45f51fcf337a21eb8ae48b25ccd3/pghist_client-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "50ada4aec64dbe7972bcd29df4d2d7a28b53f21c0483f67c97e4fc2187501c70",
                "md5": "0981392b1c617dfc4d11641dc258727c",
                "sha256": "b71ce85c8647de5ae46d0bdba703b5a5db38d56fdb37806674b459ad1c9e25fe"
            },
            "downloads": -1,
            "filename": "pghist_client-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "0981392b1c617dfc4d11641dc258727c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 11226,
            "upload_time": "2024-11-05T06:56:55",
            "upload_time_iso_8601": "2024-11-05T06:56:55.866648Z",
            "url": "https://files.pythonhosted.org/packages/50/ad/a4aec64dbe7972bcd29df4d2d7a28b53f21c0483f67c97e4fc2187501c70/pghist_client-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-05 06:56:55",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pghist-client"
}
        
Elapsed time: 2.15487s