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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pyfreedts-2.1.1.tar.gz | 1.2 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.