Skip to main content

DACHS (v0.5.5)

PyPI Package latest release Commits since latest release License Supported versions PyPI Wheel Weekly PyPI downloads Continuous Integration and Deployment Status Coverage report

Database for Automation and Consistent Holistic Synthesis

Installation

pip install dachs

You can also install the in-development version with:

pip install git+https://github.com/BAMresearch/DACHS.git@main

Usage

To invoke the command line interface for processing experimental log files to the DACHS hierarchical structure and to HDF5 output, run the following to show the usage help:

python -m dachs -h

Documentation

https://BAMresearch.github.io/DACHS

Development

Testing

See which tests are available (arguments after -- get passed to pytest which runs the tests):

tox -e py -- --co

Run a specific test only:

tox -e py -- -k <test_name from listing before>

For testing generation of the complete data structure in the local environment with stdout&stderr run:

tox -e py -- -k test_integral

Run all tests with:

tox -e py

Package Version

Get the next version number and how the GIT history would be interpreted for that:

pip install python-semantic-release
semantic-release -v version --print

This prints its interpretation of the commits in detail. Make sure to supply the --print argument to not raise the version number which is done automatically by the release job of the GitHub Action Workflows.

Project template

Update the project configuration from the copier template and make sure the required packages are installed:

pip install copier jinja2-time
copier update --trust --skip-answered

CHANGELOG

v0.5.5 (2025-12-08)

Bug fixes

  • Project: move dependencies to pyproject, tests deps to tox.ini (bc47e16)

Continuous integration

  • Tests: testing on Ubuntu & Windows (12c9554)

  • Tests: requirements file removed (c08f18e)

  • Cleanup: remove templates and code now obsolete with updated copier config (16ed14f)

  • Tests: Run Github Action tests on Windows (8e9c76a)

v0.5.4 (2025-12-08)

Bug fixes

  • Project: converted to copier project template, reapplied, updated (69d2476)

  • McSAS3: updated module names (6d26abf)

Testing

  • Notebook: rerun for updated outputs (5f52fa5)

Unknown Scope

  • Update authors list with Glen J. Smales (d50dae8)

  • Update LICENSE (b78d2de)

  • Update README.rst (363e850)

  • Update README: link to internal doc pages (4a47042)

  • Added wash solvent, volume and number of washes (8f1f095)

v0.5.3 (2024-08-07)

Bug fixes

  • Structure: copy some parameters to DerivedParameters as well (b8833c6)

  • Structure: increase note count with each note (c6547c7)

  • Reagent: append component or reagent if not in list already (9067c63)

Continuous integration

  • docs: install graphviz+dot on Windows (6c941d3)

  • docs: install graphviz+dot on Windows (6eefd83)

  • coverage: syntax fix (2b98edd)

Documentation

  • Changelog: updated (416bbdd)

  • Structure: adjust info messages/output (23f491b)

  • notebook: removed outputs for easier diff (5e70afb)

Refactoring

  • structure: make flake8 happy (2ede69c)

Testing

  • notebook: added outputs again for testing (b57b2fe)

  • requirements: updated for chempy issues with numpy2 (98d1b57)

  • Data: adjusted test data (a4b0d1c)

Unknown Scope

  • previous update. (6393d38)

  • Updated structure with more information (99a5206)

v0.5.2 (2023-11-29)

Bug fixes

  • structure: logging to files (507fec6)

Refactoring

  • Formatting: black applied (b513bcc)

  • General: removed unused import, isort'd (55ef37a)

Testing

  • dachs: tests need assertions (9e5eec4)

v0.5.1 (2023-11-28)

Bug fixes

  • notebook: remove previously added locale change (016ed6b)

  • notebook: ensure utf8 encoding (Windows) (0e950e1)

  • structure: warn if syringe could not be parsed (9992fc2)

  • structure.create: what if TotalLinkerMoles is not found? DivBy0 on L444 (8810462)

  • structure.create: handle missing+optional Mixture container (d2d9cfa)

  • structure.create: previousRLM might be empty (859b665)

  • find_in_log: remove dummy exclude, make it empty list (5fe0cca)

  • format: syntax, put backslashes in raw string (747cde0)

  • reading: handle optional columns gracefully (PriceDate, Using) (33a7897)

Documentation

  • changelog: fix commit message formatting (031ce53)

  • changelog: adjusted changelog for unreleased changes as well (21595ed)

  • changelog: modified changelog template, omit chore changes (8344ef6)

  • changelog: syntax fix (ecbad98)

Refactoring

  • General: some extra print() disabled (37b1b31)

  • formatting: comment (6223aa1)

  • Naming: consistent more specific name member, fixing tests (0d635d6)

Testing

  • notebook: show .h5 files without full path which depends on platform (3e85944)

  • notebook: show .h5 files found (0fb4d8e)

  • dachs: traceback info added, on failures (4060476)

  • notebook: ensure utf8 encoding, required for Windows (dc11f2a)

  • notebook: now with cell outputs (bddeb75)

  • notebook: updated for current structure (2426750)

  • notebook: remove notebook cell outputs (aa885f2)

  • General: updated file paths, output failing file names (bf0fc32)

Unknown Scope

  • update test cases (0dff71a)

  • Adapting to support a third addditive (0ccce64)

  • improved data classes to offload work. (f13761e)

  • Updating synthesis text generation (993136d)

  • Updates on the text block and an additional yield (cc2931e)

  • naming improvements, synthesis text generation (207a6e1)

  • fixing time, yield calc issues, improving naming (c678f54)

  • small upgrade to reaction times (ed1aba0)

  • small update (a34592f)

  • Replaced KeyParameters w/more detailed DerivedPara (c7ba0a6)

  • Result of bug-squashing event with Glen (5173ca7)

  • Adding support for density of mixtures. (de695fe)

  • find_in_log will never return None, clarified. (f5d83a3)

  • removed SynthesisLog-type messages -> RawLog (e0486f1)

  • adding ProductYield to ExtraInformation (0df24b1)

  • skipping blank lines in logs (40f8114)

  • Adding "Using" to the RawLogMessages (95e2552)

  • helper function to split a rowan log per sample. (46d0df1)

  • Removing final mentions of "weight" and minor fix (3de5078)

v0.5.0 (2023-07-28)

Bug fixes

  • Notebook: adjusted for Dash 2.11, tests successful here (31ab924)

  • helpers.whitespaceCleanup: handle Series object properly (f5e791e)

  • serialization: dumpKV() omits custom dachs types now but stores type info (cdbbbcc)

  • Equipment.Description: filter out NaN (set to '') values while parsing (2da1957)

  • serialization.graphKV: fixed for node names containing colons ':' (8570cbb)

  • equipment.PV: reader/parser fixed for extended LogBook xslx format (5cfd521)

Features

  • equipment.PV: updated converters and validators (85ed382)

  • Physical Values: parsing PVs from Logbook .xlsx file to PVs and storing them to HDF5 (9403b40)

Refactoring

  • serialization: removed obsolete filterStoragePaths() (5eee1fb)

  • serialization: debug output improved (850b293)

  • main: file mode change (795d93b)

  • General: regular python files shall not have executable bit set (b3635f4)

  • PV: class names shall be in TitleCase (13e9304)

Testing

  • requirements: fixed chempy version to prevent KeyError about . in formula (6126f4e)

  • PV: fixed tests for recent PV changes (ca51989)

Unknown Scope

  • Updated Logbook with actual PVs and extra info (b0bafab)

v0.4.3-dev.5 (2023-06-09)

Refactoring

  • main: separate main.py for code to be reused in tests (d62f195)

  • scripts: RunMultiple.sh updated for path handling (2eb6b01)

  • formatting: some fixes to agree with flake8 and isort, some reformatting by black (f614cb1)

Testing

  • structure: prevent pytest args to slip through to argparse (17039b3)

  • notebook: note on source .h5 files, outputs for .h5 files generated by tests earlier (27c3f7b)

  • structure: using code from main to generate .h5 files, more dependencies (395b2ca)

v0.4.3-dev.3 (2023-06-02)

Testing

  • Pint: fix currency units definition for latest Pint 0.22 (315222a)

  • reagent: fix PreparationDate argument (6bdeba5)

v0.4.3-dev.2 (2023-05-04)

Code style

  • readers: trailing whitespace (W291) removed (441a4c4)

v0.4.3-dev.1 (2023-05-04)

Code style

  • structure: black formatter (81f160f)

Unknown Scope

  • Computation of solution age added to extraInfo (df5dd85)

  • added test case for AutoMOF_6 series (4fa9ec3)

  • preparing for AutoMOF 6&7 (1d53806)

  • Shell script to run AutoMOF05 (755431d)

  • script to pick apart the raw logs from RoWan (5918e0d)

  • Readin example jupyter notebook launching Dash (afa6065)

  • making a read-in structure python notebook (09a1e55)

  • tests(structure): set AMSET in tests to succeed (e7740a5)

  • removing superfluous weight determination (5ff5fd9)

  • reimplementing calibration and CLI AMSET option (9a4c70f)

v0.4.2 (2023-04-20)

Bug fixes

  • serialization: Graph SVG with transparent background (366287c)

Documentation

v0.4.1 (2023-04-18)

Bug fixes

  • GitHub Actions: Make new release only if tests succeed (94f7a25)

  • requirements: graphviz added for tests (a06f87d)

v0.4.0 (2023-04-17)

Bug fixes

  • data import: whitespace cleanup for texts/descriptions (005be00)

  • ExperimentalSetupClass: removing redundant whitespace from description (5429102)

  • readers: unwanted DataFrame string formatting (880ca0d)

Documentation

  • visualization: Generate SVG Graph in main (31f38f9)

  • visualization: Graph building code added, WIP (1e1ffed)

Features

  • serialization: use the ID for path prefix at singular objects as well (60a08eb)

Refactoring

  • ExperimentalSetupClass: comment about intended behaviour (9a41f7b)

v0.3.0 (2023-04-05)

Bug fixes

  • command line: typo in usage texts (cf39d14)

Documentation

  • structure: fix format (4ccaf91)

  • readme: notes on command line usage (4d11686)

Features

  • command line: new parameter -o allows to specify location and name of HDF5 output file (fab741a)

Refactoring

  • serialization: use McHDF.storeKVPairs avoids separate loop (34b9cd9)

  • serialization: add type info (1e946d4)

  • serialization: rename storagePaths() -> dumpKV() (4ac7f96)

  • structure: main module reuses structure.create() (be72352)

  • structure: moved testing code to separate module for reuse (6b78abf)

  • root: rename top-level class to more meaningful name Experiment (0fe03dc)

v0.2.0 (2023-04-04)

Code style

  • serialization: fix file header (029c20c)

Documentation

  • readme: info & reminder how to get stdout/stderr with pytest (20fc960)

Features

  • ComponentMasses: store as dict associated to their respective Component (a797b0b)

  • serialization: use object IDs instead of numerical index where available (fef04b0)

Unknown Scope

  • tests(structure): commented core for dumping all storage paths (450d660)

v0.1.2 (2023-04-03)

Bug fixes

  • Serialization: store lists of quantities, fixes #7 (d311d5b)

  • EquipmentList: price unit parsing (971a54d)

Refactoring

  • Tests: mcsas3 can be installed with pip now (4d17768)

v0.1.2-dev.3 (2023-03-31)

Code style

  • documentation: comment formatting (1129c56)

v0.1.2-dev.2 (2023-03-31)

Code style

  • changelog: version number prefixed by v (1840736)

Documentation

  • General: inheritance diagram in reference (946cdd8)

v0.1.1 (2023-03-28)

Bug fixes

  • reagent: adjust units and method names for tests to succeed (0b5b21e)

Code style

  • general: satisfy flake8 (ce44d64)

  • general: code formatting line length set to 115 (d013773)

  • general: reformat main.py, whitespace fixes (7b9954b)

  • general: isort imports (0467ca3)

  • general: formatted with black (1b67618)

  • line length: 115) (4b19763)

Documentation

  • general: disable link check temporarily (332a112)

  • general: remove section title (d1fd17b)

  • general: initial setup (a490cb1)

  • project: readme updated (caed30c)

Refactoring

  • general: fix ureg imports (38e7a19)

Unknown Scope

  • v0.1.0 (e9e288f)

  • Many small fixes, now also runs from CLI (a06bb98)

  • adding yield, ML ratio, more test cases (3fe80a9)

  • Fix for the DACHS paths issue and other minor (6dc1362)

  • added the reaction mixture and automatic mm calcs. (36a90df)

  • tests passing (9aa39ef)

  • Mixture class operational, structure test broken. (e5d8e7e)

  • Updated naming and start on Mixture class. (6846636)

  • adjusting reagent, but will rewrite mixture (44f9108)

  • Provisioning some essential derived data on mixes (f657f79)

  • added price per volume and mass to reagent (a084f21)

  • bugfixes (976b687)

  • equipment and experimentalSetup unit test (2750dcd)

  • Changed UID to ID and fixed excel read (a1ccde0)

  • using updated McHDF.storeKV() (e7fa4de)

  • disabled debug output (4621d21)

  • using PurePath for hdf5 path, to work in Windows as well (3c2f4d3)

  • using PurePosixPath for hdf5 path not being filesystem related (d9caa87)

  • remove defaults for required fields (90487d5)

  • hdf5 export in test_integral() using McSAS3 writer (4b627d8)

  • fixed test_integral() (22257c7)

  • removed empty file (eb4ad06)

  • Adding derived parameters extractors, not yet work (90dcf7f)

  • Modified support for derived parameters (404a746)

  • Added readers for message log and starting compoun (b04479f)

  • Added RawLogMessage tests (0343aeb)

  • Created and moved pytests to tests directory (24541c2)

  • file name typo (e1c09cf)

  • let git ignore macOS file meta data (cfc8642)

  • Change datacass factory for optionals. test update (05ab72d)

  • small modifications to get the test working (70ba6d1)

  • packaging and versioneer. (7acd484)

  • support for concentration calculations in mixture (c4ff11b)

  • Updates. Can now do mixtures of reagents (0ed07a6)

  • probably better with raw strings. (327ba00)

  • addition of a UID, for storing in HDF5 tree (8783109)

  • unit and unit conversions added. (0557be3)

  • Added units support, see MolarMass (16ee937)

  • reagent now has a convenient items() iterable (8c1914b)

  • Reagent class, just as example (331be46)

  • Initial commit (b0a911d)

Metadata

Release files for dachs 0.5.5

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

Source distribution (sdist)

Source distribution for dachs 0.5.5
File Size Uploaded
dachs-0.5.5.tar.gz 457.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dachs 0.5.5
File Interpreter ABI Platform
dachs-0.5.5-py3-none-any.whl Python 3 none any Details

Total release size: 509.9 kB

Release files / dachs-0.5.5.tar.gz

Download URL dachs-0.5.5.tar.gz
Size 457.1 kB
Tags Source
SHA-256 checksum
How to use checksums
465806e88259149786d5a2f672c98bfc4863a72f32e3d1d342fac290d4859328
BLAKE2b-256 checksum
How to use checksums
68352e7f115d5b7d29d212a22ea9d7cd61a6d47691bde37d872da5fbae1c11cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Dec 8, 2025.

Transparency log

Release files / dachs-0.5.5-py3-none-any.whl

Download URL dachs-0.5.5-py3-none-any.whl
Size 52.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f327fcc6a19ba1813b9cf516daa23d24638bbc48be07f7bf763c6226723c8ca6
BLAKE2b-256 checksum
How to use checksums
85aabb6b1da6c249f972dd87d5edaa98b133d75ace67a084fdcb8d24fa15f346
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Dec 8, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.5 This release

2 release files

0.5.4

2 release files

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