Skip to main content

gicc-datasets

Datasets versionados en Amazon S3, desde Python o la terminal.

PyPI Python License: MIT

Sube carpetas, ZIP o archivos. Descarga versiones específicas y verifica su contenido con SHA-256. Cada usuario utiliza sus propias credenciales AWS y los permisos asignados a su bucket y prefijo.

Instalar

Python 3.11 o posterior. Se recomienda un entorno virtual.

pip install gicc-datasets

Empezar con las claves entregadas por tu equipo

El responsable te entrega tus propias claves, bucket, región y prefijo permitido. No necesitas AWS CLI, perfiles, ~/.aws, el repositorio ni scripts adicionales.

# Una sola vez; solicita el destino y las claves con entrada oculta.
gicc-datasets setup

# Uso diario, desde cualquier carpeta con tus datos.
gicc-datasets upload ./datos.csv

setup comprueba la identidad y el listado del prefijo antes de guardar. Para un usuario IAM propone uploads/NOMBRE_USUARIO/; confirma el prefijo asignado por el administrador. No crea recursos ni concede permisos. La escritura se comprueba al subir.

La carga elige el nombre del dataset a partir del archivo y una versión única con fecha UTC. Al terminar imprime el comando exacto para descargar. Cópialo; por ejemplo, sustituyendo VERSION_MOSTRADA:

gicc-datasets download datos --version VERSION_MOSTRADA

La descarga se guarda en ./descargas/datos/VERSION_MOSTRADA/ y verifica tamaño y SHA-256. Consulta las versiones con gicc-datasets versions datos.

Las claves se guardan sin cifrar en ~/.config/gicc-datasets/credentials.json, con permisos 600 en macOS/Linux y carpeta 700. El destino se guarda en config.toml. Si defines XDG_CONFIG_HOME, se usa esa ubicación. No compartas estos archivos. gicc-datasets logout elimina las claves locales; no revoca el acceso AWS. Para claves temporales, usa setup --temporary, introduce también el token y renueva las credenciales cuando expiren.

Archivos, carpetas y ZIP

Origen Comando Resultado
Carpeta upload ./datos Conserva archivos y subcarpetas.
ZIP upload ./datos.zip Conserva el ZIP intacto.
ZIP extraído upload ./datos.zip --extract-zip Publica los archivos del ZIP.
Archivo upload ./datos.csv Conserva el archivo original.

Anteponer gicc-datasets a cada comando. Una versión publicada no se reemplaza desde el cliente. Puedes seguir eligiendo nombres, versiones y destinos explícitos:

gicc-datasets upload ./datos --dataset muestra --version 1.0.0 --dry-run
gicc-datasets upload ./datos --dataset muestra --version 1.0.0
gicc-datasets download muestra --version 1.0.0 --output ./mi-descarga

--dry-run revisa archivos, bytes y exclusiones sin llamar a AWS; una versión automática mostrada en un ensayo no queda reservada. Las exclusiones no detectan todos los secretos: mantén las claves y su Excel fuera de los datos.

Python

from gicc_datasets import DatasetClient

client = DatasetClient.from_config()  # Reutiliza setup.
release = client.upload("./datos.csv")
client.download(release.dataset, version=release.version)

También se admite DatasetClient(bucket=..., prefix=..., region=..., access_key_id=..., secret_access_key=...) y session_token para acceso directo sin guardar claves. Obtén los valores con entrada oculta o un gestor de secretos; no los escribas en código.

Si ya usas perfiles, SSO o roles

El flujo anterior sigue disponible:

gicc-datasets configure --profile gicc --bucket mi-bucket \
  --prefix datasets/mi-equipo/ --region us-east-1
gicc-datasets doctor

configure guarda solo destino y perfil. Los perfiles seleccionados y las credenciales de entorno tienen prioridad sobre las claves de setup. Sin ellos, se usan las claves guardadas por el paquete; si no existen, se conserva la cadena estándar de Boto3. En servicios con rol AWS, usa un entorno sin claves guardadas por setup. Las claves directas de la API tienen prioridad y no se pueden combinar con profile o s3_client.

Consultar

gicc-datasets list
gicc-datasets versions muestra
gicc-datasets info muestra --version 1.0.0
gicc-datasets --json list

Acceso y alcance

  • Instalar el paquete no concede acceso a S3. AWS aplica los permisos de cada identidad.
  • doctor verifica identidad y listado del prefijo; no prueba la escritura ni modifica S3.
  • No incluye operaciones de borrado, administración IAM ni modificación de ACL.
  • Las descargas verifican tamaño y SHA-256 antes de copiar los datos al destino.
  • La protección contra sobrescrituras de versiones corresponde al cliente; no sustituye controles de retención en AWS.

Para archivos de más de 1 GB, reserva espacio temporal: se copia cada archivo al subir y se prepara la descarga completa para verificarla. La subida utiliza multipart y reintentos, pero no reanuda entre procesos ni muestra barra de progreso. Consulta a TI si el firewall bloquea HTTPS saliente a S3 o STS; conserva la verificación TLS.

Tutorial · Permisos · Formato y límites

Las guías también están en docs/ del archivo fuente descargable en PyPI. Los enlaces a GitHub requieren acceso al repositorio privado.

MIT · pshiguihara

Metadata

Release files for gicc-datasets 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gicc-datasets 0.2.0
File Size Uploaded
gicc_datasets-0.2.0.tar.gz 29.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gicc-datasets 0.2.0
File Interpreter ABI Platform
gicc_datasets-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.8 kB

Release files / gicc_datasets-0.2.0.tar.gz

Download URL gicc_datasets-0.2.0.tar.gz
Size 29.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e1991ddae626898df177db5d4596401860bce7f7f790a6b98db1f3b786899b35
BLAKE2b-256 checksum
How to use checksums
e6d84deab872962144b0910b795ae109e14619092742ef79231f9d9bf0e5f1a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / gicc_datasets-0.2.0-py3-none-any.whl

Download URL gicc_datasets-0.2.0-py3-none-any.whl
Size 21.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f707a11a5950eef453bf6f4045e5e080928a3dd94936d493b27940a375d390ed
BLAKE2b-256 checksum
How to use checksums
b2e7dea0829b8f913db2de66a4b923df0eee8f9f0245792281386121fdab93ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page