Pyscnomics

Latest version: v1.3.0

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.3.0

New Features 🎉

✅ Summarizer Dataclass: Added for enhanced multi-contract analysis, allowing streamlined economic evaluations across multiple PSCs.
✅ Gross Split Regime (No. 13 Year 2024): Now supported in economic evaluations, ensuring compliance with the latest regulations.
✅ Sensitivity Module Detachment: Separated from the Excel workbook for improved modularity and flexibility in economic analysis.
✅ Uncertainty Module Detachment: Now operates independently from the Excel workbook, enhancing standalone uncertainty assessments.

This update enhances usability, compliance, and modularity, making PSCnomics more adaptable for production sharing contract evaluations. 🚀

Summarizer Dataclass Usage Sample 🛠

from pyscnomics.dataset.object_sample import generate_contract_sample
from pyscnomics.econ.selection import ContractSample
from pyscnomics.tools.summarizer import Summary

Defining the First Contract sample
psc_1 = generate_contract_sample(case=ContractSample.CASE_1)
psc_1.run()

Defining the Second Contract sample
psc_2 = generate_contract_sample(case=ContractSample.CASE_2)
psc_2.run()

Defining the Third Contract sample
psc_3 = generate_contract_sample(case=ContractSample.CASE_3)
psc_3.run()

Get the combination of the contracts
combination = Summary(contract=tuple([psc_1, psc_2, psc_3]))
result = combination.case_combine()
print(result)

Get the executive summary of the contracts
executive_summary = combination.get_executive_summary()
for key, value in executive_summary.items():
print(key, ': ', value)


**Full Changelog**: https://github.com/fajril/pyscnomics/compare/v1.2.3...v1.3.0

1.2.3

What's Changed

- Detaching the sensitivity module from Excel Workbook.
- Detaching the uncertainty module from Excel Workbook.
- Bug Fixing


**Full Changelog**: https://github.com/fajril/pyscnomics/compare/v1.2.2...v1.2.3

1.2.2

What's Changed
Updating the way of negative cashflow on economic limit calculated. Now the negative cashflow in the early years of the cashflow is being passed due to the nature of the business cashflow.

* Accepting the updates from branch version_1_2_0 by adhimmulia in https://github.com/fajril/pyscnomics/pull/49
* Receiving updates from branch version_1_2_0 by adhimmulia in https://github.com/fajril/pyscnomics/pull/50
* Receiving Codes Updates from branch Develop by adhimmulia in https://github.com/fajril/pyscnomics/pull/51


**Full Changelog**: https://github.com/fajril/pyscnomics/compare/v1.2.1...v1.2.2

1.2.1

What's Changed
* Merge feature_cost_of_sales_contract branch into version_1_1_0 by adhimmulia in https://github.com/fajril/pyscnomics/pull/40
* Merge branch of feature_test into version_1_1_0 by adhimmulia in https://github.com/fajril/pyscnomics/pull/41
* Patch for dependencies warning bug by adhimmulia in https://github.com/fajril/pyscnomics/pull/44
* Refactoring Cost by adhimmulia in https://github.com/fajril/pyscnomics/pull/45
* Merge Feature Economic Limit into Feature version_1_2_0 Branch by adhimmulia in https://github.com/fajril/pyscnomics/pull/46
* Accepting updates from branch Version_1_2_0 by adhimmulia in https://github.com/fajril/pyscnomics/pull/47
* Accepting updates from branch develop by adhimmulia in https://github.com/fajril/pyscnomics/pull/48


**Full Changelog**: https://github.com/fajril/pyscnomics/compare/v1.1.1...v1.2.1

v.1.1.1b
🚀 What's New & Improved
This release includes critical updates and patches for several modules. Key improvements are:

🔧 Fixed: Depreciation Method - Now, the default run excludes the summation of undepreciated costs in the final year.
📉 Patched: Weighted Average Price (WAP) calculation for multiple GSA input scenarios.
💰 Refined: Adjustments to Unrecoverable, Cost to be Recovered, and Cost Recovery calculations based on agreed terms.
Enjoy smoother operations and accurate computations! ✨

What's Changed
* Patch and Adjustment for some modules by adhimmulia in https://github.com/fajril/pyscnomics/pull/42
* Merge Develop to Main Branch by adhimmulia in https://github.com/fajril/pyscnomics/pull/43
* Patch for dependencies warning bug by adhimmulia in https://github.com/fajril/pyscnomics/pull/44


**Full Changelog**: https://github.com/fajril/pyscnomics/compare/v1.1.0...v.1.1.1b

1.1.0

This release contains updates of tailored functionalities for assessing economic feasibility of oil and gas projects while following the state-of-the-art Production Sharing Contract (PSC) schemes in Indonesia.

Installation and Upgrade Steps 🔨

PyPi

pip install pyscnomics
pip install pyscnomics --upgrade


GitHub

pip install git+https://github.com/fajril/pyscnomics.git#egg=pyscnomics


Breaking Changes 🔗

- The refactor of Tangible dataclass into CapitalCost dataclass. The Tangible dataclass has been restructured and renamed into CapitalCost to maintain the consistency with the established Production Sharing Contract (PSC) terms.

New Features 🎉

- Base Project support. Added foundational support for initializing and managing base projects within the algorithm.
- Baseline Production features. Introduced baseline production features to facilitate the cumulative production and progressive split under gross split regimes.
- New Optimization Parameters: Useful Life, Value Added Tax (VAT) Discount, Land and Building Tax (LBT) Discount. Added functionality in Optimization module to optimize the contract by altering the useful life of the CapitalCost, VAT Discount, and LBT Discount.
- Ability to run PySCnomics API backend directly from the package Command Line Interface (CLI).
- Transition API routes support. API routes have been updated to support transitions, ensuring smooth integration and operation.
- Transition Optimization support. Enhanced the system to include optimization routine for transition contract, improving overall efficiency.
- Gross Split Regimes support. Implemented support for Gross Split Regimes, expanding the system's versatility. The supported regimes are as the following:
- Indonesia's Energy and Mineral Resource Ministry Regulation No. 8 Year 2017
- Indonesia's Energy and Mineral Resource Ministry Regulation No. 52 Year 2017
- Indonesia's Energy and Mineral Resource Ministry Regulation No. 20 Year 2019
- Indonesia's Energy and Mineral Resource Ministry Regulation No. 12 Year 2020


Bug Fixes 🐛

- Various bugs have been fixed to improve system stability and performance.

Improvements 🚀

- Improved performance by substituting for loops with comprehensions where applicable, resulting in faster execution and shorter codes lines.

Changelog 📃
Full Changelog could be seen in the following link: https://github.com/fajril/pyscnomics/compare/v1.0.0...v1.1.0

------

1.0.0

Upgrade Steps
- pip install pyscnomics --upgrade
- pip install git+https://github.com/fajril/pyscnomics.git#egg=httpie

Features

This release introduces new approach of defining the element in Production Sharing Contract (PSC),
a framework for representing and analyzing the economic aspects of oil and gas projects. Key functionalities include:

Project Properties
Stores essential details: start/end dates, lifting data (oil, gas, etc.), tangible/intangible costs, operational expenses (OPEX), and Abandonment and Site Restoration (ASR) costs.
Calculates project duration and associates it with corresponding years.

Lifting Data
Manages lifting information for various fluids (oil, gas, sulfur, electricity, CO2) through Lifting objects.
Provides methods to retrieve specific lifting data.

Cost Data
Manages cost information for tangible and intangible components, OPEX, and ASR costs for oil and gas through separate objects.
Calculates total costs per component (tangible, intangible, OPEX, ASR) for both oil and gas.
Provides methods to retrieve specific cost data.

Revenue Calculation
Calculates revenue based on lifting data for each fluid type.


Overall, this PySCnomics package offers a comprehensive framework to model and analyze oil and gas project economics.



------

Links

Releases

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.