Pyckett
Pyckett is a python wrapper around the SPFIT/SPCAT package (H. M. Pickett, "The Fitting and Prediction of Vibration-Rotation Spectra with Spin Interactions," J. Mol. Spectrosc. 148, 371-377 (1991)).
Install the package with pip by using the following command
pip install pyckett
If SPFIT and SPCAT cannot be executed via the commands spfit and spcat (if they are not in your PATH or have different names) point to them by setting the PYCKETT_SPFIT_PATH and PYCKETT_SPCAT_PATH environment variables to their full paths.
If you want to acknowledge LLWP, please cite the paper On the Spectroscopy of Phosphaalkynes: Millimeter- and Submillimeter-Wave Study of C2H5CP.
Documentation
Currently, the documentation is limited to the docstrings of the main library. To easily access the docstrings you can run
pip install pdoc
pdoc pyckett
after having installed Pyckett.
The CLI tools provide help texts via the -h or --help flags.
GUI
Pyckett also provides a graphical user interface that can be started by running
pyckett
It lets you work on several projects at once, each with its own tabs for .par/.lin/.int files (and read-only tabs for .var/.cat/.egy/SPFIT-SPCAT output), run SPFIT/SPCAT virtually without touching disk, and includes an Actions tab for removing duplicate assignments and testing which parameters to add or omit. Every change to a project's .par/.lin/*.int content is versioned, so you can step back to an earlier point at any time.
CLI Tools
Pyckett provides a set of command line utilities which perform common steps of an iterative fitting process.
pyckett_add helps adding new parameters to the fit, pyckett_omit is used for evaluating which parameters can be omitted.
pyckett_separatefits can be used to separate a global fit into separate fits for each state.
pyckett_uncertainties evaluates the uncertainties of the parameters.
pyckett_partitionfunction or pyckett_qrot calculates the rotational partition function for different temperatures.
pyckett_vibpartitionfunction or pyckett_qvib calculates the vibrational partition function for different temperatures.
pyckett_auto automatically builds up the Hamiltonian step by step.
pyckett_fit and pyckett_cat are shortcuts to SPFIT and SPCAT, respectively.
pyckett_pmix quickly prints the mixing coefficients of an *.egy file to identify interaction regions.
pyckett_report gives a summary of your *.lin (and *.cat) file.
pyckett_duplicates removes any duplicated entries from your *.lin file.
See the respective help functions (by adding --help after the command) to see their syntax.
Examples
You can read files from the SPFIT/SPCAT universe with the following syntax
var_dict = pyckett.parvar_to_dict(r"path/to/your/project/molecule.var")
par_dict = pyckett.parvar_to_dict(r"path/to/your/project/molecule.par")
int_dict = pyckett.int_to_dict(r"path/to/your/project/molecule.int")
lin_df = pyckett.lin_to_df(r"path/to/your/project/molecule.lin")
cat_df = pyckett.cat_to_df(r"path/to/your/project/molecule.cat")
egy_df = pyckett.egy_to_df(r"path/to/your/project/molecule.egy")
erham_df = pyckett.erhamlines_to_df(r"path/to/your/project/molecule.in")
Finalize cat file
This function merges the cat and lin dataframes, sums up duplicate values in the cat file and allows to translate quantum numbers:
fin_cat_df, fin_lin_df = pyckett.finalize(cat_df, lin_df, qn_tdict, qn)
Find candidates for double-resonance measurements
This function finds possible transition arrangements for double-resonance measurements. Input two cat dataframes with the transitions that are in the range of your probe and pump source.
results_df = pyckett.get_dr_candidates(cat_df1, cat_df2)
Check Crossings
pyckett.check_crossings(egy_df, [1], range(10))
Plot Mixing Coefficients
pyckett.mixing_coefficient(egy_df, "qn4 == 1 and qn2 < 20 and qn1 < 20 and qn1==qn2+qn3")
Metadata
Release files for pyckett 0.2.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 | |
|---|---|---|---|---|
| pyckett-0.2.1.tar.gz | 1.8 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyckett-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.6 MB
Release files / pyckett-0.2.1.tar.gz
| Download URL | pyckett-0.2.1.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
203c62306ff0c07b99e369b0d6dfedad1fd1781eee9cd6b32f7afa3edc446285
|
|
BLAKE2b-256 checksum How to use checksums |
662d916e975e81cfc3a6c5d39e85d56e13cc03ef8f1a37e6e3bf1c2bbeb5cce9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.0
|
Release files / pyckett-0.2.1-py3-none-any.whl
| Download URL | pyckett-0.2.1-py3-none-any.whl |
|---|---|
| Size | 1.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
daebdd11e59dbe3e5e374d3f4ae93e57fe0de1939438f06db06473d915c2802d
|
|
BLAKE2b-256 checksum How to use checksums |
8e89e6a21f5eda6678b2db2e10837728789cb5e9a8f15c1d91b39ce507e594e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.0
|
Security for pyckett 0.2.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.