Перейти к основному содержимому

Python

Пакет для Python читает тот же .tdc-конфиг и при том же сиде выдаёт тот же результат, что и реализации на TypeScript, Java, C# и Rust — эта межъязыковая гарантия и есть одно из ключевых обещаний TDC.

Где взять

На PyPI — версия 0.2.0
pip install tdcv2

Ставит и библиотеку, и команду tdcv2, а стартовый набор паков лежит внутри колеса. Полная картина — на странице Установка.

Как пользоваться

from tdcv2 import TDC

data = TDC(config_file="users.tdc")
print(data.to_string())

for row in data.iterate():
print(row["Gender"])

Имена методов повторяют TypeScript APIto_string, write_file, iterate, to_array, get_at, preflight — в питоновском snake_case.

Разбираться в диагностике удобно через CLI: tdcv2 check печатает те же ошибки с подсветкой места в конфиге.

Одно значение без конфига

Пакет экспортирует ещё и tdc — он вытягивает одно значение из тех же пакетов данных, которые читает конфиг: ни файла, ни <env>, один вызов.

from tdcv2 import tdc

tdc.person.lastName() # Jones
tdc.country.usa.docs.ssn() # 699209702, с настоящими контрольными цифрами
tdc.person.lastName.many(5) # сразу пять
tdc.seed("demo").locale("ru").person.lastName() # закреплено и по-русски

Сегменты здесь остаются в camelCase, в отличие от имён методов выше. Это адреса, которые уже несут пакеты, а не идентификаторы, выбранные этим пакетом: person.lastName обязан читаться одинаково в конфиге, в справочнике и в четырёх других реализациях. Вся поверхность — на странице По одному значению.