Пакет 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
Быстрый старт
Установите необходимые инструменты:
uv tool install tox --with tox-uv
Клонируйте репозиторий и перейдите в директорию проекта:
git clone ssh://git@stash.bars-open.ru:7999/m3/m3-gar-client.git
cd m3-gar-client
Запустите тесты и проверки:
tox
Проверка качества и форматирование кода
tox -e lint
Metadata
Release files for m3-gar-client 1.6.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| m3_gar_client-1.6.1.tar.gz | 46.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| m3_gar_client-1.6.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 95.4 kB
Release files / m3_gar_client-1.6.1.tar.gz
| Download URL | m3_gar_client-1.6.1.tar.gz |
|---|---|
| Size | 46.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
58828ada29b9bee4ac7fc42835fc218adb61aeef81595acc9807e567c5450739
|
|
BLAKE2b-256 checksum How to use checksums |
26df20ff7006542dc75a67f5b5b039053eeeb11a3997f6ebb7e902e93e03e275
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|
Release files / m3_gar_client-1.6.1-py3-none-any.whl
| Download URL | m3_gar_client-1.6.1-py3-none-any.whl |
|---|---|
| Size | 49.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1154581081d30dc8ab2499beb582a531a4a51aea8e311b39ed4383dd75faeb0d
|
|
BLAKE2b-256 checksum How to use checksums |
23c5ca5b4c2f245f981ac12845d049081bc4c855f66446c892acc1cda281f31c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|