Перейти к содержанию

Python API

Пакет faas_client позволяет запускать расчёты FAAS, следить за их выполнением и получать результат.

import faas_client as fc

calc

calc(
    config: dict,
    quiet: bool = False,
    faas_url: str | None = None,
    faas_token: str | None = None,
    batch: bool = True,
    type_: str = 'features',
    auto_raise: bool = False,
) -> pandas.DataFrame

Рассчитывает заданные факторы.

Принимает конфиг FAAS и токен пользователя, а возвращает результат в виде pandas.DataFrame. Во время расчёта показывает индикатор выполнения tqdm.

Параметры

Имя Тип Описание По умолчанию
config dict Конфиг FAAS. —
quiet bool Если True, не выводить информацию о ходе выполнения в консоль. False
faas_url str | None URL сервиса FAAS. Если не указан, берется из переменной окружения FAAS_URL. None
faas_token str | None Токен пользователя FAAS. Если не указан, берется из переменной окружения FAAS_TOKEN. None
batch bool Если True, автоматически разбивать большой конфиг на пакеты. Разбиение не применяется, если точки переданы списком. True
type_ str Тип расчёта. 'features'
auto_raise bool Если True, бросать исключение, когда расчёт завершился с ошибками. False

Возвращает

Тип Описание
pandas.DataFrame Таблица с рассчитанными факторами.

Пример

import faas_client as fc

config = {
    'points': [
        {
            'id': 1,
            'geopos': {
                'type': 'Point',
                'coordinates': [30.33, 59.86],
            },
        },
    ],
    'features': {
        'apartments_foot_10min': {
            'type': 'isochrone',
            'dataset': 'ru-pub-households/apartments',
            'metric': 'foot',
            'limit': 10,
            'field': 'apartments',
            'agg': 'sum',
        },
    },
}

df = fc.calc(config, faas_token='token')

submit

submit(
    config: dict,
    quiet: bool = False,
    url: str | None = None,
    token: str | None = None,
    type_: str = 'features',
    session: requests.Session | None = None,
) -> str

Отправляет задание на расчёт факторов.

Параметры

Имя Тип Описание По умолчанию
config dict Конфиг FAAS. —
quiet bool Если True, не выводить идентификатор задания в консоль. False
url str | None URL сервиса FAAS. Если не указан, берется из переменной окружения FAAS_URL. None
token str | None Токен пользователя FAAS. Если не указан, берется из переменной окружения FAAS_TOKEN. None
type_ str Тип расчёта. 'features'
session requests.Session | None HTTP-сессия клиента. None

Возвращает

Тип Описание
str Идентификатор отправленного задания. Используйте его, чтобы проверять статус задания и получить результат.

wait

wait(
    job_id: str,
    quiet: bool = False,
    url: str | None = None,
    token: str | None = None,
    type_: str = 'features',
    fetch_result: bool = True,
    session: requests.Session | None = None,
) -> dict

Ожидает завершения задания на расчёт факторов.

Во время ожидания показывает индикатор выполнения tqdm, который обновляется раз в секунду. После завершения возвращает результат и статус задания.

Параметры

Имя Тип Описание По умолчанию
job_id str Идентификатор отправленного задания. —
quiet bool Если True, не выводить информацию о ходе выполнения в консоль. False
url str | None URL сервиса FAAS. Если не указан, берется из переменной окружения FAAS_URL. None
token str | None Токен пользователя FAAS. Если не указан, берется из переменной окружения FAAS_TOKEN. None
type_ str Тип расчёта. 'features'
fetch_result bool Если False, вернуть только статус, без результата расчёта. True
session requests.Session | None HTTP-сессия клиента. None

Возвращает

Тип Описание
dict Статус задания и, если fetch_result=True, результат расчёта.

fetch

fetch(
    job_id: str,
    url: str | None = None,
    token: str | None = None,
    fetch_result: bool = True,
    session: requests.Session | None = None,
)

Получает статус и результат задания на расчёт факторов. Если результат ещё не готов, возвращает текущий статус и пустой результат.

Параметры

Имя Тип Описание По умолчанию
job_id str Идентификатор отправленного задания. —
url str | None URL сервиса FAAS. Если не указан, берется из переменной окружения FAAS_URL. None
token str | None Токен пользователя FAAS. Если не указан, берется из переменной окружения FAAS_TOKEN. None
fetch_result bool Если False, вернуть только статус, без результата расчёта. True
session requests.Session | None HTTP-сессия клиента. None

Возвращает

Тип Описание
dict Статус задания и его результат. Поле result содержит список объектов с рассчитанными факторами.

abort

abort(
    job_id: str,
    url: str | None = None,
    token: str | None = None,
    session: requests.Session | None = None,
)

Прерывает выполняющееся задание на расчёт факторов.

Прерывание происходит не мгновенно: уже начатые точки завершаются, остальные не рассчитываются. После завершения задания будет доступен частичный результат, с баланса спишутся только успешно рассчитанные факторы.

Параметры

Имя Тип Описание По умолчанию
job_id str Идентификатор отправленного задания. —
url str | None URL сервиса FAAS. Если не указан, берется из переменной окружения FAAS_URL. None
token str | None Токен пользователя FAAS. Если не указан, берется из переменной окружения FAAS_TOKEN. None
session requests.Session | None HTTP-сессия клиента. None

Возвращает

Тип Описание
dict Ответ сервиса с сообщением о прерывании задания.