Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyscnomics-1.4.0.tar.gz (222.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyscnomics-1.4.0-py3-none-any.whl (225.2 kB view details)

Uploaded Python 3

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

Hashes for pyscnomics-1.4.0.tar.gz
Algorithm Hash digest
SHA256 2bfeec59d3fc23d36b4fac0bc61a614bf2a3009cabd5f61bd53383dcfeb2a0d2
MD5 faf4f859383a79046ae1a22fa6d1592b
BLAKE2b-256 d642e611205b46444dc97dbf60119bca9b1a967516b35550bea3f8b28a1f4cec

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscnomics-1.4.0.tar.gz:

Publisher: python-publish.yml on fajril/pyscnomics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pyscnomics-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f10ebb4efb3c0e8a608719604cd6bf2b460a4dcedc7a981c65a583633b01ddaf
MD5 f4673e42261b32a3b4ea48f0b869db79
BLAKE2b-256 fd4d1859cf2701766b3aa10261cf2584c13824eb398d47c178fb4e9e8fdd2835

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyscnomics-1.4.0-py3-none-any.whl:

Publisher: python-publish.yml on fajril/pyscnomics

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page