Skip to main content

UI клиент для сервера ГАР m3-rest-gar

Project description

Пакет m3-gar-client предоставляет панель для ввода адресов Российской Федерации с использованием ГАР (Государственного адресного реестра), готовую к использованию в проектах на базе платформы M3 компании БАРС Груп.

Возможности

  • Работа с сервером ГАР m3-rest-gar.

  • Встраивание в интерфейс веб-приложений на базе ExtJS.

  • Поиск адресов в ГАР по мере ввода наименований адресных объектов (субъектов Федерации, населенных пунктов, улиц, зданий).

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

Подключение в варианте M3

Установка:

$ pip install m3-gar-client[m3]

Настройка:

INSTALLED_APPS += [
    'testapp',
    'rest_framework',
    'm3_gar_client',
]

GAR_API_URL = 'http://gar.bars.group/gar/v1/'

GAR = dict(
    BACKEND='m3_gar_client.backends.m3_rest_gar.proxy',  # <---
    URL=GAR_API_URL,
    USE_CACHE=True,
    USE_SIMPLE_SERVER=True,
)

Подключение в варианте REST

Установка:

$ pip install m3-gar-client[rest]

Настройка:

INSTALLED_APPS += [
    'testapp',
    'rest_framework',
    'm3_gar_client',
]

GAR_API_URL = 'http://gar.bars.group/gar/v1/'

GAR = dict(
    BACKEND='m3_gar_client.backends.m3_rest_gar.proxy_rest',  # <---
    URL=GAR_API_URL,
    USE_CACHE=True,
    USE_SIMPLE_SERVER=True,
    REST=dict(
        AUTHENTICATION_CLASSES=[
            'oidc_auth.authentication.JSONWebTokenAuthentication'
        ],
        PERMISSION_CLASSES=[
            'rest_framework.permissions.IsAuthenticated'
        ]
    )
)

Настройки

  • URL — URL API сервера ГАР.

  • TIMEOUT — timeout запроса к серверу ГАР в секундах.

  • PAGE_LIMIT — количество страниц запрашиваемых у m3-rest-gar, по умолчанию 1. При большом количестве можно заддосить ГАР

  • USE_CACHE — определяет необходимость кеширования HTTP-запросов к серверу m3-rest-gar. Значение по умолчанию: False

  • CACHE_TIMEOUT — определяет длительность кэширования (в секундах). Значение по умолчанию: 24 часа

  • USE_SIMPLE_SERVER — Использовать простой сервер, по умолчанию будет использоваться сервер OAUTH2

  • USE_IMPROVED_SORTING — Включает улучшенную сортировку результатов поиска адресных объектов.

    При значении True результаты сортируются по количеству совпадений запроса с частями адреса, совпадению первых букв, а затем по алфавиту. При значении False (по умолчанию) используется стандартная сортировка по уровню объекта и алфавиту.

  • OAUTH2 — параметры OAuth2: необходиы если не указано использовать простой сервер

    • TOKEN_URL — URL для получения токена, должен использоваться HTTPS.

    • CLIENT_ID — id клиента - создается на стороне РЕСТ сервера

    • CLIENT_SECRET — Секретный ключ клиента - генерируется на стороне РЕСТ сервера

    • USERNAME — username пользователя для получения токена

    • PASSWORD — password пользователя для получения токена

Работа над пакетом

Подготовка среды разработки

Необходимый набор инструментов:

  • tox — оркестрация окружений и запуск команд

  • tox-uv — для управлениями окружениями в tox

Быстрый старт

  1. Установите необходимые инструменты:

uv tool install tox --with tox-uv
  1. Клонируйте репозиторий и перейдите в директорию проекта:

git clone ssh://git@stash.bars-open.ru:7999/m3/m3-gar-client.git
cd m3-gar-client
  1. Запустите тесты и проверки:

tox

Проверка качества и форматирование кода

tox -e lint

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

m3_gar_client-1.6.1.tar.gz (46.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

m3_gar_client-1.6.1-py3-none-any.whl (49.1 kB view details)

Uploaded Python 3

File details

Details for the file m3_gar_client-1.6.1.tar.gz.

File metadata

  • Download URL: m3_gar_client-1.6.1.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for m3_gar_client-1.6.1.tar.gz
Algorithm Hash digest
SHA256 58828ada29b9bee4ac7fc42835fc218adb61aeef81595acc9807e567c5450739
MD5 8ca6f31b7f1c209d9c0f3aadeb9c21e0
BLAKE2b-256 26df20ff7006542dc75a67f5b5b039053eeeb11a3997f6ebb7e902e93e03e275

See more details on using hashes here.

File details

Details for the file m3_gar_client-1.6.1-py3-none-any.whl.

File metadata

  • Download URL: m3_gar_client-1.6.1-py3-none-any.whl
  • Upload date:
  • Size: 49.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for m3_gar_client-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1154581081d30dc8ab2499beb582a531a4a51aea8e311b39ed4383dd75faeb0d
MD5 93113efe8fcf146ebfffd30a89d3b566
BLAKE2b-256 23c5ca5b4c2f245f981ac12845d049081bc4c855f66446c892acc1cda281f31c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page