Python API¶
Пакет faas_client позволяет запускать расчёты FAAS, следить за их выполнением
и получать результат.
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 |
Ответ сервиса с сообщением о прерывании задания. |