Metadata-Version: 2.4
Name: nrel-pysam-legacy
Version: 4.2.0.post1
Summary: Unofficial Python 3.14 rebuild of NREL-PySAM 4.2.0, retaining SSC 280
License-Expression: BSD-3-Clause
Project-URL: Upstream source, https://github.com/NatLabRockies/pysam/tree/v4.2.0
Project-URL: Upstream documentation, https://nrel-pysam.readthedocs.io/en/v4.2.0/
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Scientific/Engineering
Requires-Python: <3.15,>=3.14
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas
Requires-Dist: python-dotenv
Requires-Dist: requests
Dynamic: license-file

# nrel-pysam-legacy

Unofficial CPython 3.14 rebuild of **NREL-PySAM 4.2.0**, retaining the
original **SSC 280** simulation engine and battery models.

The distribution is named `nrel-pysam-legacy`; the import namespace remains
`PySAM`. This is a compatibility fork, not an official NREL/NLR release.

```sh
pip install nrel-pysam-legacy==4.2.0.post1
```

Use this package instead of `nlr-pysam` or `nrel-pysam`. They all own the
same `PySAM` namespace and must not be installed together. Prefer a fresh
environment, or uninstall both upstream distributions before installing.

```python
import PySAM.BatteryStateful as BatteryStateful

battery = BatteryStateful.default("LFPGraphite")
```

This release targets ordinary (GIL-enabled) CPython 3.14 on Linux x86-64.
Free-threaded Python, other Python versions, and other platforms are not
claimed to be supported by this build.

The Python extensions are compiled for CPython 3.14. The original native
SSC and SAM API libraries, defaults, Python helpers, and type stubs are
preserved from the published 4.2.0 wheel. `PySAM.__version__` remains
`4.2.0`, identifying the upstream model; the distribution version is
`4.2.0.post1`.

The generated wrappers consistently import `PySAM.AdjustmentFactors` to
avoid loading its static type twice under different module names. An invalid
decrement of a local pointer's reference count is also removed. These changes
affect wrapper initialization only; `python314-wrapper.patch` records them.

Upstream code and binary redistribution are covered by the included BSD
3-Clause license. See `PROVENANCE.json` for pinned sources and checksums.
