Saltar al contenido principal

Python

El paquete de Python lee la misma configuración .tdc y, con la misma semilla, produce la misma salida que las implementaciones de TypeScript, Java, C# y Rust: esa garantía entre lenguajes es una promesa central de TDC.

Cómo obtenerlo​

En PyPI — versión 0.3.7
pip install tdcv2

Eso le da la biblioteca y el comando tdcv2, con un juego inicial de paquetes de datos dentro del wheel. El panorama completo está en Instalación.

Cómo usarlo​

from tdcv2 import TDC

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

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

data.write_file("users.csv")

La salida completa es str(data), las filas son lo que se recorre, una fila es data[3] y cuántas hay es len(data): el objeto se comporta como el Python que ya escribe.

Junto a eso, el paquete responde a los nombres que comparten todas las implementaciones — to_string, to_array, iterate, get_at, to_columns, write_file, seed_info, preflight — de modo que un ejemplo escrito en otro lenguaje se lee aquí sin traducir. Véase los mismos nombres en todas partes. Los propios to_list, rows, uses_http, diagnostics, count y engine de Python no se ven afectados ni quedan obsoletos.

Para leer los diagnósticos conviene el CLI: tdcv2 check imprime los mismos errores señalando el lugar exacto en la configuración.

Un valor sin configuración​

El paquete exporta además tdc, que sortea un solo valor desde los mismos paquetes de datos que lee una configuración: sin archivo, sin <env>, una llamada.

from tdcv2 import tdc

tdc.person.lastName() # Jones
tdc.country.usa.docs.ssn() # 699209702, con sus dígitos de control reales
tdc.person.lastName.many(5) # cinco de ellos
tdc.seed("demo").locale("ru").person.lastName() # fijado y en ruso

Aquí los segmentos siguen en camelCase, al contrario que los nombres de métodos de arriba. Son direcciones que los paquetes ya traen, no identificadores que este paquete eligiera, y person.lastName tiene que leerse igual en una configuración, en la referencia y en las otras cuatro implementaciones. Toda la superficie está en Un valor a la vez.