Skip to main content

pyFreeDTS

pyFreeDTS is wrapper for the FreeDTS C++ project and aims to simplify installing and interfacing with FreeDTS.

Installation

After ensuring your system satisfies the following requirements

  • Python 3.8+
  • C++ compiler with C++11 support
  • OpenMP (optional)

you can install pyFreeDTS using pip

pip install pyfreedts

Usage

pyFreeDTS mirrors the original FreeDTS binaries, but changed the spelling to lower-ase to avoid collision

dts arg1 arg2 ...
cnv arg1 arg2 ...
gen arg1 arg2 ...

Parameter Screening

From version 2.2 onwards, pyFreeDTS simplifies running parameter screens by introducing templated dts files

Kappa = {{kappa:25.0:35.0:5.0}} 0 0        # Range: 25.0 to 35.0, step 5.0
Temperature = {{temp:1.0,1.5,2.0}} 0       # List: 1.0, 1.5, 2.0
Method = {{method:MC,MD}} 0                # String list
Set_Steps = 1 {{steps:1000,5000}}          # Integer list

A DTS screen based on such a template file can be performed using

dts_screen \
    -in input_template.dts \
    --output-dir screen_result \
    --dts-args "-top /absolute/path/to/topol.top -seed 12345 -e 100000" \
    --backend-args "-j 4 --keep-going" \
    --dry-run

where --dts-args are parameters passed to the dts executable, and --backend-args are parameters passed to the execution backend specified via --backend. The default is snakemake and can be installed using pip

pip install snakemake

Through snakemake, DTS screens can be run locally and on all commonly available HPC platforms.

[!IMPORTANT] The topologies listed in topol.top need to be specified using their absolute path.

Running the pipeline will generate numbered directories in --output-dir, each of which contains the result of a DTS run with corresponding params.json. A summary of all parameters and corresponding directories is given by screen_summary.json in the specified output directory.

screen_result/
├── Snakefile
├── sweep_summary.json
├── run_0001/
│   ├── input.dts
│   ├── params.json
│   ├── dts_*
│   └── completed.flag
└── run_NNNN/
    ├── input.dts
    ├── params.json
    ├── dts_*
    └── completed.flag

[!IMPORTANT] Every screen needs to run for at least 1000 steps (-dts-args '-e 1000'), due to an implementation detail in FreeDTS.

For Developers

Clone and install with Poetry:

git clone https://github.com/maurerv/pyfreedts.git
cd pyfreedts
poetry install

Run tests:

poetry run pytest

License

Like FreeDTS, pyFreeDTS is available under a CC-BY-NC-ND 4.0 International license.

Metadata

Release files for pyfreedts 2.1.1

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

Source distribution (sdist)

Source distribution for pyfreedts 2.1.1
File Size Uploaded Provenance
pyfreedts-2.1.1.tar.gz 1.2 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pyfreedts 2.1.1
File Interpreter ABI Platform
pyfreedts-2.1.1-cp311-cp311-macosx_26_0_arm64.whl CPython 3.11 CPython 3.11 macOS 26.0+ ARM64 Details

Total release size: 2.9 MB

Release files / pyfreedts-2.1.1.tar.gz

Download URL pyfreedts-2.1.1.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
4368b2ec2983682dea0f8a1342ccdc405c8e30687279625dbd065dc26a5f3656
BLAKE2b-256 checksum
How to use checksums
cbc9390d2e5a1119713d993cf04b1cc27f2fc3bc57f42968b7a4626e2bc83914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.11.12 Darwin/25.2.0

Release files / pyfreedts-2.1.1-cp311-cp311-macosx_26_0_arm64.whl

Download URL pyfreedts-2.1.1-cp311-cp311-macosx_26_0_arm64.whl
Size 1.7 MB
Tags CPython 3.11 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
0c707304b575364da687917840bcd4a6aa3306f1380085a2d39914cd5a9b8cda
BLAKE2b-256 checksum
How to use checksums
1f24998f6c5542c0f13dce085ddec7731447ed938413a52583895783010148aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.11.12 Darwin/25.2.0

Security for pyfreedts 2.1.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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