regalias_vzla
Librería Python para el cálculo automatizado de regalías petroleras venezolanas, con validación estricta de tipos (Pydantic), modelos inmutables y un orden matemático de liquidación garantizado.
Instalación (desarrollo)
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install -e .[dev]
Requiere Python 3.9 o superior.
Uso rápido
from decimal import Decimal
from regalias_vzla import FluidoCrudo, MotorRegalias, TasaLegal
fluido = FluidoCrudo(volumen_bruto="100000", bs_w="0.02", gravedad_api=8.5)
motor = MotorRegalias(TasaLegal.para_gravedad_api(fluido.gravedad_api))
resultado = motor.liquidar(fluido, precio_marcador=Decimal("70"))
print(resultado.regalia_usd) # Decimal('617400.00')
print(resultado.model_dump_json()) # serializable a APIs / archivos
Orden de cálculo inalterable:
- Deducción de impurezas → volumen neto.
- Ajuste del precio marcador por factor API.
- Ingreso bruto = volumen neto × precio ajustado.
- Regalía = ingreso bruto × tasa legal.
⚠️ Aviso legal
regalias_vzla es una herramienta informática de carácter educativo y de
referencia técnica. No constituye asesoría legal, fiscal ni financiera.
- Esta librería no está afiliada, avalada ni patrocinada por Petróleos de Venezuela, S.A. (PDVSA), el Ministerio del Poder Popular de Petróleo, el Servicio Nacional Integrado de Administración Aduanera y Tributaria (SENIAT) ni ningún otro ente del Estado venezolano.
- Los resultados son estimaciones referenciales basadas en tasas y factores configurables. No tienen validez oficial para declaraciones fiscales, liquidaciones ante PDVSA, fiscalizaciones del Ministerio de Petróleo, procedimientos administrativos ni procesos judiciales.
- Las tasas incorporadas reflejan el texto de la Ley Orgánica de Hidrocarburos (Decreto N° 1.510, G.O. N° 37.323 del 13/11/2001; Reforma Parcial, G.O. N° 38.493 del 04/08/2006) y decretos complementarios citados en cada módulo, pero pueden ser modificados por normas posteriores o por cambios en la práctica administrativa. Verifique siempre el instrumento vigente en la Gaceta Oficial de la República Bolivariana de Venezuela.
- Los factores de ajuste por gravedad API son comercialmente referenciales y no provienen de ningún artículo legal.
- El autor no garantiza la exactitud, integridad ni actualidad de los datos normativos, y no asume responsabilidad por daños derivados de su uso, incluidas decisiones comerciales, fiscales o de inversión. Su empleo en contextos profesionales (auditorías, valoraciones, litigios) exige validación independiente por profesionales calificados en derecho petrolero venezolano.
Licencia MIT — ver LICENSE.
Estructura
| Módulo | Responsabilidad |
|---|---|
fluidos.py |
Capa física: validación y volúmenes netos |
marco_legal.py |
Tasas impositivas y factores de ajuste API |
calculo.py |
Orquestador financiero (MotorRegalias) |
ingesta.py |
Adaptadores CSV / JSON hacia los modelos de dominio |
Ver docs/ para contexto de dominio, arquitectura y guía de contribución, y la referencia API en línea para firmas completas generadas desde los docstrings.
Desarrollo
pytest # tests
ruff check . # lint
mypy # chequeo estático estricto
Publicación a PyPI
El workflow release.yml se dispara al crear un tag v*:
git tag v0.1.0 && git push origin v0.1.0
Pipeline: verifica que el tag coincida con la versión (pyproject.toml y __init__.py) → build sdist/wheel → twine check → smoke test del wheel en Python 3.9–3.13 → publicación con Trusted Publishing (OIDC).
Requisito único de configuración (una vez): dar de alta el trusted publisher en PyPI con owner shaka0241, repo regalias_vzla, workflow release.yml, environment pypi.
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 regalias_vzla-0.1.0.tar.gz.
File metadata
- Download URL: regalias_vzla-0.1.0.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a715e2a4268c7a556aa063dafe340f4f5d400ae13174cbc8bcfa67b8b8cd73c1
|
|
| MD5 |
82553470b79251cb27cff6cfc891eada
|
|
| BLAKE2b-256 |
56624b0cf2bc7742151d8fcb0428d8b3a4c40034d38ac0d03fe2869cdca33fdc
|
Provenance
The following attestation bundles were made for regalias_vzla-0.1.0.tar.gz:
Publisher:
release.yml on shaka0241/regalias_vzla
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
regalias_vzla-0.1.0.tar.gz -
Subject digest:
a715e2a4268c7a556aa063dafe340f4f5d400ae13174cbc8bcfa67b8b8cd73c1 - Sigstore transparency entry: 2581893054
- Sigstore integration time:
-
Permalink:
shaka0241/regalias_vzla@477fc0d55da27b98f87994b03e08a843ef53d7d4 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/shaka0241
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@477fc0d55da27b98f87994b03e08a843ef53d7d4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file regalias_vzla-0.1.0-py3-none-any.whl.
File metadata
- Download URL: regalias_vzla-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90d1e592f2fa1f33b700f53e3b0cec359350efaf130a075bd90dd11582178f06
|
|
| MD5 |
d2a63419dc2b21c8c088fc68f747257c
|
|
| BLAKE2b-256 |
cee911bc030887d286c22e7d57978c730039b613c4c4ec2e57ef3ee68840400a
|
Provenance
The following attestation bundles were made for regalias_vzla-0.1.0-py3-none-any.whl:
Publisher:
release.yml on shaka0241/regalias_vzla
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
regalias_vzla-0.1.0-py3-none-any.whl -
Subject digest:
90d1e592f2fa1f33b700f53e3b0cec359350efaf130a075bd90dd11582178f06 - Sigstore transparency entry: 2581893063
- Sigstore integration time:
-
Permalink:
shaka0241/regalias_vzla@477fc0d55da27b98f87994b03e08a843ef53d7d4 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/shaka0241
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@477fc0d55da27b98f87994b03e08a843ef53d7d4 -
Trigger Event:
push
-
Statement type: