An economic engine for calculating PSC Scheme in Indonesia.
Project description
Overview
PySCnomics is a package contains tailored functionalities for assessing economic feasibility of oil and gas projects following the state-of-the-art Production Sharing Contract (PSC) schemes in Indonesia.
Developed through a collaborative research between Indonesia's Special Task Force for Upstream Oil and Gas Business Activities (SKK Migas) and the Department of Petroleum Engineering at Institut Teknologi Bandung (ITB), PySCnomics stands as a reliable solution for industry professionals.
Installation
To install PySCnomics, simply run:
pip install pyscnomics
Key Features
PySCnomics offers comprehensive capabilities to evaluate the feasibility of various Indonesian PSC contracts, including a wide range of regime variations of each contract:
- Base Project
- Cost Recovery
- Gross Split
- Transition Cost Recovery - Cost Recovery
- Transition Cost Recovery - Gross Split
- Transition Gross Split - Gross Split
- Transition Gross Split - Cost Recovery
Beyond feasibility assessment, PySCnomics provides advanced tools for:
- PSC Contract Optimization
- PSC Contract Sensitivity
- PSC Contract Uncertainty Analysis
To further streamline the assessment process, PySCnomics includes specialized modules for:
- Depreciation
- Inflation
- Cost Taxing
- Production Profile Generation
- API service
- And much more...
Quick Start
Create a new file, in this case named sample.py with the following code:
from pyscnomics.dataset.object_sample import generate_contract_sample
from pyscnomics.econ.selection import ContractSample
from pyscnomics.tools.table import get_table
# Initiating Contract Object
psc = generate_contract_sample(case=ContractSample.CASE_1)
# Get the cashflow table from the contract
tables = get_table(contract=psc)
print(tables)
Sensitivity Analysis
Create a new file with the following code:
from pyscnomics.dataset.object_sample import generate_contract_sample
from pyscnomics.econ.selection import ContractSample
from pyscnomics.optimize.sensitivity import sensitivity_psc
from pyscnomics.tools.summary import get_summary
# Initiating Contract Object
psc = generate_contract_sample(case=ContractSample.CASE_1)
# Defining the contract arguments
contract_arguments = {
'effective_tax_rate': 0.40
}
# Defining the summary arguments
summary_arguments = {
'reference_year':2023,
}
# Executing the sensitivity
result = sensitivity_psc(
contract=psc,
contract_arguments=contract_arguments,
summary_arguments=summary_arguments,
min_deviation=0.2,
max_deviation=0.2,
base_value=1,
step=10,
)
# Printing the sensitivity result
for i in result.keys():
print(i)
print(result[i])
print('')
API Service with PySCnomics
PySCnomics also supports running as an API service, making it easy to integrate into your applications or workflows. With just a single command, you can set up and start an API server to interact with PySCnomics programmatically.
How to Start the API Server
To run the PySCnomics API service, use the following command:
pyscnomics --api 1 --port 9999
Replace 9999 with the desired port number if needed. By default, the API will be accessible at: http://localhost:9999
Accessing the API Documentation
Once the API server is running, you can view the interactive API documentation by navigating to: http://localhost:9999/docs
License
This project is licensed under the terms of the Apache Software license. See the License file for details.
An economic engine for calculating PSC Scheme in Indonesia.
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 pyscnomics-1.4.0.tar.gz.
File metadata
- Download URL: pyscnomics-1.4.0.tar.gz
- Upload date:
- Size: 222.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bfeec59d3fc23d36b4fac0bc61a614bf2a3009cabd5f61bd53383dcfeb2a0d2
|
|
| MD5 |
faf4f859383a79046ae1a22fa6d1592b
|
|
| BLAKE2b-256 |
d642e611205b46444dc97dbf60119bca9b1a967516b35550bea3f8b28a1f4cec
|
Provenance
The following attestation bundles were made for pyscnomics-1.4.0.tar.gz:
Publisher:
python-publish.yml on fajril/pyscnomics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyscnomics-1.4.0.tar.gz -
Subject digest:
2bfeec59d3fc23d36b4fac0bc61a614bf2a3009cabd5f61bd53383dcfeb2a0d2 - Sigstore transparency entry: 212197385
- Sigstore integration time:
-
Permalink:
fajril/pyscnomics@614a3e34569b98d4cf52590c72546c0e720e38a7 -
Branch / Tag:
refs/tags/v1.4.0 - Owner: https://github.com/fajril
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@614a3e34569b98d4cf52590c72546c0e720e38a7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyscnomics-1.4.0-py3-none-any.whl.
File metadata
- Download URL: pyscnomics-1.4.0-py3-none-any.whl
- Upload date:
- Size: 225.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f10ebb4efb3c0e8a608719604cd6bf2b460a4dcedc7a981c65a583633b01ddaf
|
|
| MD5 |
f4673e42261b32a3b4ea48f0b869db79
|
|
| BLAKE2b-256 |
fd4d1859cf2701766b3aa10261cf2584c13824eb398d47c178fb4e9e8fdd2835
|
Provenance
The following attestation bundles were made for pyscnomics-1.4.0-py3-none-any.whl:
Publisher:
python-publish.yml on fajril/pyscnomics
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyscnomics-1.4.0-py3-none-any.whl -
Subject digest:
f10ebb4efb3c0e8a608719604cd6bf2b460a4dcedc7a981c65a583633b01ddaf - Sigstore transparency entry: 212197387
- Sigstore integration time:
-
Permalink:
fajril/pyscnomics@614a3e34569b98d4cf52590c72546c0e720e38a7 -
Branch / Tag:
refs/tags/v1.4.0 - Owner: https://github.com/fajril
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@614a3e34569b98d4cf52590c72546c0e720e38a7 -
Trigger Event:
release
-
Statement type: