This release is a pre-release and may not be stable for production use.
PSR Factory
Factory is a library that helps to manage SDDP cases. It contains functions that create, load, and save studies, and also functions that create, access, and modify objects in a study.
Installation
Open the command prompt and run the following command:
pip install psr-factory
Factory will be available to all Python scripts in your system after importing it:
import psr.factory
Usage sample
import psr.factory
study = psr.factory.load_study(r"C:\temp\my\study")
system_1 = study.find("System.*")[0]
battery = study.create("Battery")
battery.code = 1
battery.name = "Battery 1"
battery.set("InstalledCapacity", 10.0)
battery.set("RefSystem", system_1)
study.add(battery)
study.save(r"C:\temp\my\updated_study")
Reading results
load_dataframe reads a result file whole. When one is too large for that --
an hourly case easily is -- scan_dataframe reads it in batches, so memory
follows the batch size and not the file size:
import psr.factory
with psr.factory.scan_dataframe(r"C:\case\gerter.hdr",
batch_rows=100_000,
filter_agents=["Thermal 1"]) as scan:
peak = max(float(batch["Thermal 1"].max()) for batch in scan)
psr.factory.write_dataframe(destination, scan) writes one back the same
way, so a whole file-to-file transform never holds either end. Batches are
ordinary DataFrame objects: index them with numpy, or convert with
to_pandas() / to_polars(), or hand them straight to pyarrow, polars or
DuckDB through the Arrow protocol.
Setting psr.factory.set_setting("FAST_RESULT_READER", True) selects a
faster reader for the common result formats, falling back automatically for
the rest.
Full documentation
The full documentation and reference is available at https://docs.psr-inc.com/knowledgehub/solutions/additional_tools/factory/getting_started/introduction.html.
Releases
New releases can be found in PyPI website at https://pypi.org/project/psr-factory.
And the release notes at https://psrenergy-docs.github.io/factory/releases.html.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
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 psr_factory-5.0.0b148-py3-none-win_amd64.whl.
File metadata
- Download URL: psr_factory-5.0.0b148-py3-none-win_amd64.whl
- Upload date:
- Size: 14.0 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdf467a9f5365ba85f7d83eeb3ed1e8d19ddb3f427738fe2e0ba852fb55be4ff
|
|
| MD5 |
be3f2aaadd4847ea9e1a23d55a84acdb
|
|
| BLAKE2b-256 |
7f4d4ba729c1e958d4861295fe75cc976a84906be867247db90d1e8913f8dadf
|
File details
Details for the file psr_factory-5.0.0b148-py3-none-manylinux_2_17_x86_64.whl.
File metadata
- Download URL: psr_factory-5.0.0b148-py3-none-manylinux_2_17_x86_64.whl
- Upload date:
- Size: 16.2 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dbe8c68a606ae24c1a207e02465409c241db244aaf407ead7b624e94605c57c
|
|
| MD5 |
1561b53d3f111a54c64562c03cdfaa9b
|
|
| BLAKE2b-256 |
67a3e0b9345ec9f67812c40a61c4fe65a2ae17a86e44c2f2c0a8afbca9758ebe
|