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