gicc-datasets
Datasets versionados en Amazon S3, desde Python o la terminal.
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.
doctorverifica 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)
| File | Size | Uploaded | |
|---|---|---|---|
| gicc_datasets-0.2.0.tar.gz | 29.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|