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.

Home page: https://www.psr-inc.com/knowledge/solutions/additional_tools/factory/getting_started/introduction.html

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.

Full documentation

The full documentation and reference is available at https://docs.psr-inc.com/knowledgehub/solutions/additional_tools/factory/getting_started/introduction.html.

Licensing

PSR Factory is commercial, proprietary software. It is not open source. Installing it from PyPI does not by itself grant a right to use it.

  • The software licence is the PSR Factory Software License Agreement, distributed with every wheel as LICENSE.txt (inside the installed package at psr_factory-<version>.dist-info/licenses/LICENSE.txt). Installing or using the package means accepting it. It is offered as an annual, renewable subscription.
  • A runtime licence is separate. The agreement governs your right to use the software; a valid PSR licence is what makes it run. Check yours with psr.factory.check_license().
  • Redistributing the unmodified package is permitted — mirrors, internal package indexes and container images are all fine. Whoever receives it still needs their own PSR licence to run it.
  • Third-party components. Factory links a number of third-party libraries. Their licences are reproduced in full in THIRD_PARTY_NOTICES.txt, shipped beside LICENSE.txt. Nothing in the PSR Factory agreement limits any right you hold under those licences.

Licensing enquiries: psrfactory@psr-inc.com

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.

Metadata

Release files for psr-factory 5.0.0b182

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for psr-factory 5.0.0b182
File Interpreter ABI Platform Actions
psr_factory-5.0.0b182-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for psr_factory-5.0.0b182-py3-none-win_amd64.whl
psr_factory-5.0.0b182-py3-none-manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for psr_factory-5.0.0b182-py3-none-manylinux_2_17_x86_64.whl

Total release size: 26.7 MB

Release files / psr_factory-5.0.0b182-py3-none-win_amd64.whl

Download URL psr_factory-5.0.0b182-py3-none-win_amd64.whl
Size 14.8 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
d39d863bddcda08676445e7f63c38bd513b398324d5aeb24481b82ff4bc5a0a2
BLAKE2b-256 checksum
How to use checksums
33b9e8860ff8af7157d275a9656a2fe11dc6975feb2c56118cdfbdc5c1750705
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

Release files / psr_factory-5.0.0b182-py3-none-manylinux_2_17_x86_64.whl

Download URL psr_factory-5.0.0b182-py3-none-manylinux_2_17_x86_64.whl
Size 11.9 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
e5bb43f71a0d07fd3281408792b37484acbec510b192754a93e89e4ef0527d0f
BLAKE2b-256 checksum
How to use checksums
50704b2ec217d8fdbf05de238c64ab3e48026b08c9a02abba4e339ee7ab71e3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

Security for psr-factory 5.0.0b182

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for psr_factory-5.0.0b182-py3-none-win_amd64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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