# 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:
```python
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:
```python
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:
```bash
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](https://github.com/fajril/pyscnomics/blob/main/LICENSE) file for details.
An economic engine for calculating PSC Scheme in Indonesia.
Raw data
{
"_id": null,
"home_page": null,
"name": "pyscnomics",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "Production Sharing Contract, PSC, Project Economic",
"author": null,
"author_email": "Aditya Dewanto <adityadewanto@gmail.com>, Muhammad Adhim Mulia <adhimmuliam@gmail.com>, Fajril Ambia <fambia@skkmigas.go.id>, Iskandar Fahmi <ifahmi@bpma.go.id>, Zuher Syihab <zuher.syihab@itb.ac.id>, Sudono <sudono@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/b1/40/b1c0f93a8f680b4318a4f3606ba746f34cbb002850a7477ec8f8d42e2e1c/pyscnomics-1.2.3.tar.gz",
"platform": null,
"description": "# Overview\n\nPySCnomics 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. \n\nDeveloped 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.\n\n\n## Installation\nTo install PySCnomics, simply run:\n\n`pip install pyscnomics`\n\n\n## Key Features\nPySCnomics offers comprehensive capabilities to evaluate the feasibility of various Indonesian PSC contracts, including a wide range of regime variations of each contract: \n- Base Project\n- Cost Recovery\n- Gross Split\n- Transition Cost Recovery - Cost Recovery\n- Transition Cost Recovery - Gross Split\n- Transition Gross Split - Gross Split \n- Transition Gross Split - Cost Recovery\n\nBeyond feasibility assessment, PySCnomics provides advanced tools for:\n- PSC Contract Optimization\n- PSC Contract Sensitivity\n- PSC Contract Uncertainty Analysis\n\nTo further streamline the assessment process, PySCnomics includes specialized modules for:\n- Depreciation\n- Inflation\n- Cost Taxing\n- Production Profile Generation\n- API service\n- And much more...\n\n## Quick Start\nCreate a new file, in this case named `sample.py` with the following code:\n\n```python\nfrom pyscnomics.dataset.object_sample import generate_contract_sample\nfrom pyscnomics.econ.selection import ContractSample\nfrom pyscnomics.tools.table import get_table\n\n# Initiating Contract Object\npsc = generate_contract_sample(case=ContractSample.CASE_1)\n\n# Get the cashflow table from the contract\ntables = get_table(contract=psc)\nprint(tables)\n```\n\n## Sensitivity Analysis\nCreate a new file with the following code:\n\n```python\nfrom pyscnomics.dataset.object_sample import generate_contract_sample\nfrom pyscnomics.econ.selection import ContractSample\nfrom pyscnomics.optimize.sensitivity import sensitivity_psc\nfrom pyscnomics.tools.summary import get_summary\n\n# Initiating Contract Object\npsc = generate_contract_sample(case=ContractSample.CASE_1)\n\n# Defining the contract arguments\ncontract_arguments = {\n 'effective_tax_rate': 0.40\n}\n\n# Defining the summary arguments\nsummary_arguments = {\n 'reference_year':2023,\n}\n\n# Executing the sensitivity\nresult = sensitivity_psc(\n contract=psc,\n contract_arguments=contract_arguments,\n summary_arguments=summary_arguments,\n min_deviation=0.2,\n max_deviation=0.2,\n base_value=1,\n step=10,\n)\n\n# Printing the sensitivity result\nfor i in result.keys():\n print(i)\n print(result[i])\n print('')\n\n```\n\n## API Service with PySCnomics\n\nPySCnomics 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.\n\n### How to Start the API Server\n\nTo run the PySCnomics API service, use the following command:\n\n```bash\npyscnomics --api 1 --port 9999\n```\nReplace 9999 with the desired port number if needed. By default, the API will be accessible at:\nhttp://localhost:9999\n\n### Accessing the API Documentation\nOnce the API server is running, you can view the interactive API documentation by navigating to: http://localhost:9999/docs\n\n\n\n\n\n\n\n## License\nThis project is licensed under the terms of the Apache Software license. See the [License](https://github.com/fajril/pyscnomics/blob/main/LICENSE) file for details.\n\nAn economic engine for calculating PSC Scheme in Indonesia.\n",
"bugtrack_url": null,
"license": null,
"summary": "An economic engine for calculating PSC Scheme in Indonesia.",
"version": "1.2.3",
"project_urls": {
"Documentation": "https://github.com/fajril/pyscnomics",
"Homepage": "https://github.com/fajril/pyscnomics"
},
"split_keywords": [
"production sharing contract",
" psc",
" project economic"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "60bbdc81e95d67ce5c64b4fe5958945001f6661a8ffcb53630c33e1620da525d",
"md5": "f5ccfeb20baa894aa642a4ded6cf05db",
"sha256": "08cec42a659f632b787b925547ed897874ba28bc2e595224753364781a65e562"
},
"downloads": -1,
"filename": "pyscnomics-1.2.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f5ccfeb20baa894aa642a4ded6cf05db",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 208591,
"upload_time": "2024-12-27T16:24:01",
"upload_time_iso_8601": "2024-12-27T16:24:01.279293Z",
"url": "https://files.pythonhosted.org/packages/60/bb/dc81e95d67ce5c64b4fe5958945001f6661a8ffcb53630c33e1620da525d/pyscnomics-1.2.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b140b1c0f93a8f680b4318a4f3606ba746f34cbb002850a7477ec8f8d42e2e1c",
"md5": "174239af993f7dce7f815bfe44ebb617",
"sha256": "3591825cef039b0d3212e1b691749dade59f69e733c70c84fe7f543b6a023794"
},
"downloads": -1,
"filename": "pyscnomics-1.2.3.tar.gz",
"has_sig": false,
"md5_digest": "174239af993f7dce7f815bfe44ebb617",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 206462,
"upload_time": "2024-12-27T16:24:04",
"upload_time_iso_8601": "2024-12-27T16:24:04.286750Z",
"url": "https://files.pythonhosted.org/packages/b1/40/b1c0f93a8f680b4318a4f3606ba746f34cbb002850a7477ec8f8d42e2e1c/pyscnomics-1.2.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-27 16:24:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fajril",
"github_project": "pyscnomics",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyscnomics"
}