Herramienta open-source para auditar despilfarros financieros en clústeres PySpark (AWS Glue) y manipular S3.
Project description
🚀 Antigravity Lite (FinOps & AWS Glue Tools)
Auditor Financiero de Nube y Gestor Inteligente de S3 para Ecosistemas PySpark
🛑 El Asesino Silencioso de AWS Glue: El "Catalyst Optimizer"
¿Alguna vez te has preguntado por qué un clúster gigantesco de PySpark se queda congelado horas enteras procesando sin emitir un solo byte de datos al intentar evaluar una tabla ancha (Wide Dataframe)?
Muchos culpan a la partición de datos y terminan escalando la capacidad del clúster por pánico hacia carísimas instancias G.4X o G.8X en AWS Glue. Pero inyectar dinero en memoria no es la salvación. La solución de ingeniería no es comprar más RAM, es aislar la matemática.
📦 Instalación
pip install antigravity-lite
🛠 Herramientas Incluidas (Open-Source)
1. Automator de Renombrado en S3 (S3Finalizer)
¿Odiar que PySpark genere basura como part-00000...csv y archivos _SUCCESS temporales que ensucian tu Datalake?
S3Finalizer es una utilidad nativa en Boto3 que escanea la salida cruda de Spark y la renombra secuencialmente y elegantemente sin destruir la concurrencia.
from antigravity_lite.io.s3_finalizer import S3Finalizer
# Spark acaba de escribir archivos sucios en S3...
finalizador = S3Finalizer(bucket_name="mi-datalake-corporativo")
# Renombra automáticamente las salidas
finalizador.sequence_spark_outputs(
s3_prefix="zona_cruda/ventas/",
pattern="REPORTE_EMPRESA_DATA_{seq:04d}.parquet"
)
# Magia: REPORTE_EMPRESA_DATA_0001.parquet
2. Auditor FinOps de Clústeres AWS Glue (AgAuditor)
Inyecta este comando directo en tu entorno para escanear a nivel de facturación y JVM Heap cuántos cientos de dólares estás desperdiciando al mes pagando servidores gigantes solo para evitar que los "Wide Dataframes" ahoguen el Catalyst Optimizer.
from antigravity_lite.auditor.finops import AgAuditor
# Escanea el clúster usando CloudWatch y el API de AWS
AgAuditor.run_aws_audit(region="us-east-1", dias_analisis=7)
Salida en consola: Te dirá con precisión tus tipos de Workers (G.1X, G.4X) frente a la memoria comprimida de uso real para revelar la fuga de capital.
💎 Licenciamiento Comercial (Antigravity PRO)
La versión Lite puede decirte que estás perdiendo miles de dólares... Pagar la Licencia Corporativa de Antigravity PRO lo soluciona.
Si tu reporte AgAuditor marca "⚠️ RIESGO AST" o sobrepasas el 85% de RAM, necesitas el motor matemático DataFrameChunker (Sólo disponible en la edición Pro B2B).
La versión empresarial intercepta el planificador de Spark en bajo nivel y divide la matriz usando Árboles Binarios Logarítmicos (Tree Reduce) para truncar el Lineage algorítmico, permitiendo ejecutar clústeres diminutos G.1X procesando medio billón de operaciones sin riesgos de OutOfMemory.
💻 Solicita tu demostración técnica y Proof-of-Concept conectando a través de LinkedIn para un despliegue B2B.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file antigravity_lite-0.1.2.tar.gz.
File metadata
- Download URL: antigravity_lite-0.1.2.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1afd79f512683a3ced9aa09b5cf165ced9180311d67edab12a1c8d330ec817e
|
|
| MD5 |
ba6aa4332b3bf2a3aa689adc06a0917a
|
|
| BLAKE2b-256 |
2f12c9d0d7c1536eca27c4c776d445e10af83fea511b32079f108c2876d7e991
|
Provenance
The following attestation bundles were made for antigravity_lite-0.1.2.tar.gz:
Publisher:
publish-lite.yml on andresvega925/AntigravityFW
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
antigravity_lite-0.1.2.tar.gz -
Subject digest:
a1afd79f512683a3ced9aa09b5cf165ced9180311d67edab12a1c8d330ec817e - Sigstore transparency entry: 1208981353
- Sigstore integration time:
-
Permalink:
andresvega925/AntigravityFW@543cd72bc5092106625f175b5b0c24653f2ebaa4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/andresvega925
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-lite.yml@543cd72bc5092106625f175b5b0c24653f2ebaa4 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file antigravity_lite-0.1.2-py3-none-any.whl.
File metadata
- Download URL: antigravity_lite-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
267117d01f6430f55da9243f1eb270649e8ce9233d892cface328319dab672d4
|
|
| MD5 |
7b1df2ac72b12b886ede1a24c199153e
|
|
| BLAKE2b-256 |
713fbde9ad2e079d3ae18619e80c2ea051caa730427ad3a1a06c913068ecfa6c
|
Provenance
The following attestation bundles were made for antigravity_lite-0.1.2-py3-none-any.whl:
Publisher:
publish-lite.yml on andresvega925/AntigravityFW
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
antigravity_lite-0.1.2-py3-none-any.whl -
Subject digest:
267117d01f6430f55da9243f1eb270649e8ce9233d892cface328319dab672d4 - Sigstore transparency entry: 1208981547
- Sigstore integration time:
-
Permalink:
andresvega925/AntigravityFW@543cd72bc5092106625f175b5b0c24653f2ebaa4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/andresvega925
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-lite.yml@543cd72bc5092106625f175b5b0c24653f2ebaa4 -
Trigger Event:
workflow_dispatch
-
Statement type: