Releases: volkan-a/dwsimpy
Release list
DwsimPy v2.0.1 - macOS ARM64 release
DwsimPy 2.0.1 - Automation property-name compatibility
This maintenance release restores the familiar human-readable DWSIM
Automation property API in the native macOS ARM64 .NET 10 wheel.
GetProperties2() now uses the pinned upstream DWSIM property resources:
properties = [str(name) for name in obj.GetProperties2()]
print("Temperature" in properties)
print("Pressure" in properties)
print("Molar Flow" in properties)Existing Python.NET integrations can again read and write by name:
obj.SetPropertyValue2("Temperature", "", "", 330.0)
molar_flow = float(obj.GetPropertyValue2("Molar Flow", "", ""))The lower-level property-code API remains available for callers that need it:
from DWSIM.SharedClasses.SystemsOfUnits import SI
temperature = float(obj.GetPropertyValue("PROP_MS_0", SI()))This release does not change DWSIM thermodynamic or unit-operation equations.
It carries the same stable engineering scope, platform requirements, and
boundaries as 2.0.0.
DwsimPy v2.0.0 - macOS ARM64 release
DwsimPy 2.0.0 - macOS ARM64 stable
This release provides an in-process Python.NET binding to the source-ported,
headless DWSIM .NET 10 engine on Apple Silicon. It does not require DWSIM
Desktop, Mono, Rosetta, Eto, WinForms, IronPython, or an x86_64 Python process.
An external .NET 10 runtime or SDK is required.
Stable evidence
- 16 immutable legacy
1.0.1differential cases pass 2596/2596 native numeric
comparisons across all 20 engineering families declared stable. - The same Natural Gas Processing flowsheet passes three solves and 1335
comparisons in one process. A separate Python.NET gate mutates and solves one
live flowsheet 1000 times without replacing its CLR object graph. - All 43 checked-in upstream DWXML/DWXMZ samples preserve their object graph on
save/reload. Petroleum Distillation additionally passes fresh
save/reload/recalculate comparison. - All 24 in-assembly property-package implementations construct and roundtrip.
The 25-name Automation catalog has explicit measured PT/PH/PS/PV/TV
capabilities and negative cases. - Python API version
1.0, public method presence, exception categories, native
closure, ARM64 architecture, macOS 11 deployment floor, ad-hoc signatures,
license inventory, deterministic CycloneDX SBOM, and checksums are automated
release gates.
Boundaries
- Stable applies to the engineering families and package capabilities listed in
docs/SUPPORT_MATRIX.md; other source-retained constructors remainPorted,
not differential-validated. - Spreadsheet execution/rendering, Excel unit operations, COM/CAPE-OPEN hosts,
desktop UI, and desktop scripting are outside the headless wheel. - Petalas-Aziz is unavailable because pinned upstream DWSIM does not provide a
source-authoritative Apple Silicon implementation. - Standard CoolProp PS and Steam Tables PS do not recover the tested states and
are recorded as unsupported measured cases. DwsimPy does not replace their
upstream thermodynamic equations. - The bundled Mach-O libraries are ad-hoc signed. This pip wheel is not Apple
Developer ID signed or notarized. - Linux x86_64 and Windows x86_64 releases remain paused and are not implied by
this macOS wheel.
Install dwsimpy-2.0.0-py3-none-macosx_11_0_arm64.whl, then follow
docs/PYTHON_NET10_ARM64.md. Verify the wheel and SBOM.cdx.json with
SHA256SUMS-macos-arm64.txt from the same release.
DwsimPy v2.0.0a6 - macOS ARM64 alpha
DwsimPy 2.0.0a6 - macOS ARM64 alpha
This alpha consolidates the source-ported .NET 10 engine into one native
Apple Silicon wheel. It does not require DWSIM Desktop, Mono, Rosetta,
Homebrew runtime libraries, or an x86_64 Python process. Install .NET 10
separately, then install the wheel in native ARM64 Python 3.10-3.14.
Assets
dwsimpy-2.0.0a6-py3-none-macosx_11_0_arm64.whl: headless DWSIM engine,
ARM64 CoolProp, and source-built ARM64 IPOPT for macOS 11+; andSHA256SUMS-macos-arm64.txt: release checksums.
Changes
- replaces the pinned
Cureos.Numerics.dllwith an EPL-1.0,
source-controlled .NET 10 compatibility project based on official csipopt; - builds Ipopt 3.14.19 and MUMPS 5.9.0 from checksum-pinned sources;
- statically links MUMPS and the required GCC Fortran runtime into a single
libIpopt39.dylibthat uses Apple Accelerate and targets macOS 11; - adds a real native IPOPT optimization smoke test; and
- removes the separate macOS 26 IPOPT wheel and Homebrew IPOPT runtime
dependency.
Evidence
- ARM64-only Mach-O audit, macOS 11 deployment-floor audit, dependency-closure
audit, and ad-hoc code-signature verification; - clean Apple Silicon installation across Python 3.10-3.14 and available
macOS 14, 15, and 26 GitHub runners; - raw Automation3 and convenience API create/edit/connect/solve/read/save/
reload smoke tests; and - 15 pinned differential cases and 1261 numeric comparisons against the
legacy1.0.1engine.
Runtime Boundary
Automation.native_capabilities reports CoolProp and IPOPT as available.
Petalas-Aziz remains unavailable because pinned DWSIM provides neither an
Apple Silicon binary nor source for a source-authoritative rebuild. Developer
ID signing and notarization remain deferred for this pip-only alpha.
DwsimPy v2.0.0a5 - macOS ARM64 alpha
DwsimPy 2.0.0a5 - macOS ARM64 alpha
This alpha hardens the source-ported .NET 10 macOS ARM64 wheel. It does not
require DWSIM Desktop, Mono, Rosetta, or an x86_64 Python process. Install .NET
10 separately, then install one wheel in native ARM64 Python 3.10-3.14.
Assets
dwsimpy-2.0.0a5-py3-none-macosx_11_0_arm64.whl: base engine and ARM64
CoolProp for macOS 11+;dwsimpy-2.0.0a5-py3-none-macosx_26_0_arm64.whl: base closure plus the
complete relocatable ARM64 IPOPT closure for macOS 26+; andSHA256SUMS-macos-arm64.txt: release checksums.
Added Evidence
- clean GitHub-hosted Apple Silicon installation on macOS 14, 15, and 26;
- Python 3.10, 3.11, 3.12, 3.13, and 3.14 import/create/solve/save smoke tests;
- 15 pinned differential cases, 20 named engineering families, and 1261
native numeric comparisons against the legacy1.0.1engine; - Three Phase Separator and Humid Air differential fixtures;
- enforced Mach-O deployment floors and valid ad-hoc code signatures; and
- a packaged third-party component, license, and source inventory.
Runtime Boundary
Automation.native_capabilities reports native feature availability. The
macOS ARM64 wheel reports Petalas-Aziz as unavailable and returns a clear solve
error if that flow package is selected; use a supported pipe correlation such
as Beggs-Brill instead.
The wheel remains alpha. Developer ID notarization is not required for this
pip-only distribution and is deferred. The exact source/license provenance of
the pinned Cureos.Numerics.dll must be resolved before a stable release.
DwsimPy v2.0.0a4 - macOS ARM64 alpha
DwsimPy 2.0.0a4 - macOS ARM64 alpha
This prerelease provides an in-process Python.NET binding to the source-ported,
headless DWSIM engine on .NET 10 for Apple Silicon Macs.
Artifacts
dwsimpy-2.0.0a4-py3-none-macosx_11_0_arm64.whl: macOS 11+ base wheel with
ARM64 CoolProp.dwsimpy-2.0.0a4-py3-none-macosx_26_0_arm64.whl: macOS 26+ wheel with ARM64
CoolProp and the relocatable IPOPT closure.SHA256SUMS-macos-arm64.txt: release artifact checksums.
Requirements
- Apple Silicon (
arm64) - Python 3.10 or newer
- .NET 10 runtime or SDK
DWSIM Desktop, Mono, Rosetta, Eto, WinForms, IronPython, and x86_64 Python are
not required.
Validation
- clean-install Python wrapper and raw
DWSIM.Automation.Automation3smoke; - create, edit, connect, solve, read, save, and reload in one live process;
- 13 pinned differential cases and 1183 numeric comparisons;
- 36 upstream unit-operation constructors, 24 property-package families, and
21 managed PT-flash families; and - ARM64-only native payload validation.
Alpha boundaries
- Petalas-Aziz is unavailable because the pinned DWSIM source does not provide
a source-authoritative Apple Silicon implementation. - The base wheel does not contain IPOPT.
- Unlisted model families have not yet passed pinned differential validation.
- The wheels are unsigned and not notarized.
See docs/PYTHON_NET10_ARM64.md for installation and API examples.