Skip to content

Releases: volkan-a/dwsimpy

DwsimPy v2.0.1 - macOS ARM64 release

Choose a tag to compare

@github-actions github-actions released this 23 Jul 19:45

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

Choose a tag to compare

@github-actions github-actions released this 22 Jul 12:06

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.1 differential 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 remain Ported,
    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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jul 09:22

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+; and
  • SHA256SUMS-macos-arm64.txt: release checksums.

Changes

  • replaces the pinned Cureos.Numerics.dll with 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.dylib that 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
    legacy 1.0.1 engine.

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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jul 07:11

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+; and
  • SHA256SUMS-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 legacy 1.0.1 engine;
  • 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jul 03:38

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.Automation3 smoke;
  • 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.

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 27 Jun 08:48

dwsimpy wheel release v1.0.1