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.0b149-py3-none-win_amd64.whl (13.8 MB view details)

Uploaded Python 3Windows x86-64

psr_factory-5.0.0b149-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.0b149-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for psr_factory-5.0.0b149-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 abe2945f384d7c73d611ceb446b0c2acced3f6e25abd5ae47d2ed7cb5eed0d0a
MD5 8558774fceebe75ac47b03811ddb0174
BLAKE2b-256 d95f52a0b5f7e405a2af7dc87b2eeab5d265d6d620c7220b30c4910d48ca69c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for psr_factory-5.0.0b149-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 116cf72abd7b95007c7516b670ec745462bab3783de91b20869aaac717af26ee
MD5 772d4aeb329d2eae4ad1ec038fc35bac
BLAKE2b-256 e651b052a3d7c3f36c4cba9156ad7232bd02baff3516a09f1725630c642b017f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

5.0.0b149 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