Skip to main content
Pre-release

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

psr_factory-5.0.0b148-py3-none-win_amd64.whl (14.0 MB view details)

Uploaded Python 3Windows x86-64

psr_factory-5.0.0b148-py3-none-manylinux_2_17_x86_64.whl (16.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

File details

Details for the file psr_factory-5.0.0b148-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for psr_factory-5.0.0b148-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 fdf467a9f5365ba85f7d83eeb3ed1e8d19ddb3f427738fe2e0ba852fb55be4ff
MD5 be3f2aaadd4847ea9e1a23d55a84acdb
BLAKE2b-256 7f4d4ba729c1e958d4861295fe75cc976a84906be867247db90d1e8913f8dadf

See more details on using hashes here.

File details

Details for the file psr_factory-5.0.0b148-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for psr_factory-5.0.0b148-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9dbe8c68a606ae24c1a207e02465409c241db244aaf407ead7b624e94605c57c
MD5 1561b53d3f111a54c64562c03cdfaa9b
BLAKE2b-256 67a3e0b9345ec9f67812c40a61c4fe65a2ae17a86e44c2f2c0a8afbca9758ebe

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

5.0.0b148 This release

2 files

5.0.0b67

1 file

5.0.0b2

1 file

5.0.0b1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page