pyckett


Namepyckett JSON
Version 0.1.19 PyPI version JSON
download
home_pageNone
SummaryA wrapper around Pickett's SPFIT and SPCAT
upload_time2024-07-19 20:08:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords pickett spectroscopy spfit spcat
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://doi.org/10.1021/acs.jpca.4c02566).

# 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.

# 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* calculates the 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.


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

```python
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:

```python
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.

```python
results_df = pyckett.get_dr_candidates(cat_df1, cat_df2)
```

## Check Crossings

```python
pyckett.check_crossings(egy_df, [1], range(10))
```

## Plot Mixing Coefficients

```python
pyckett.mixing_coefficient(egy_df, "qn4 == 1 and qn2 < 20 and qn1 < 20 and qn1==qn2+qn3")
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyckett",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "pickett, spectroscopy, spfit, spcat",
    "author": null,
    "author_email": "Luis Bonah <bonah@ph1.uni-koeln.de>",
    "download_url": "https://files.pythonhosted.org/packages/37/c3/ec70ea7f6c2d4a6bb196e82db82713a1da4c5554d45469d975461b1caee7/pyckett-0.1.19.tar.gz",
    "platform": null,
    "description": "# Pyckett\n\nPyckett 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)*).\n\nInstall the package with pip by using the following command\n\n```\npip install pyckett\n```\n\nIf 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.\n\nIf you want to acknowledge LLWP, please cite the paper [On the Spectroscopy of Phosphaalkynes: Millimeter- and Submillimeter-Wave Study of C2H5CP](https://doi.org/10.1021/acs.jpca.4c02566).\n\n# Documentation\n\nCurrently, the documentation is limited to the docstrings of the main library.\nTo easily access the docstrings you can run\n```\npip install pdoc\npdoc pyckett\n```\nafter having installed Pyckett.\n\nThe CLI tools provide help texts via the -h or --help flags.\n\n# CLI Tools\n\nPyckett provides a set of command line utilities which perform common steps of an iterative fitting process.\n\n*pyckett_add* helps adding new parameters to the fit, *pyckett_omit* is used for evaluating which parameters can be omitted.\n\n*pyckett_separatefits* can be used to separate a global fit into separate fits for each state.\n\n*pyckett_uncertainties* evaluates the uncertainties of the parameters.\n\n*pyckett_partitionfunction* calculates the partition function for different temperatures.\n\n*pyckett_auto* automatically builds up the Hamiltonian step by step.\n\n*pyckett_fit* and *pyckett_cat* are shortcuts to SPFIT and SPCAT, respectively.\n\n\nSee the respective help functions (by adding *--help* after the command) to see their syntax.\n\n# Examples\n\nYou can read files from the SPFIT/SPCAT universe with the following syntax\n\n```python\nvar_dict = pyckett.parvar_to_dict(r\"path/to/your/project/molecule.var\")\npar_dict = pyckett.parvar_to_dict(r\"path/to/your/project/molecule.par\")\nint_dict = pyckett.int_to_dict(r\"path/to/your/project/molecule.int\")\nlin_df = pyckett.lin_to_df(r\"path/to/your/project/molecule.lin\")\ncat_df = pyckett.cat_to_df(r\"path/to/your/project/molecule.cat\")\negy_df = pyckett.egy_to_df(r\"path/to/your/project/molecule.egy\")\n\nerham_df = pyckett.erhamlines_to_df(r\"path/to/your/project/molecule.in\")\n```\n\n## Finalize cat file\n\nThis function merges the cat and lin dataframes, sums up duplicate values in the cat file and allows to translate quantum numbers:\n\n```python\nfin_cat_df, fin_lin_df = pyckett.finalize(cat_df, lin_df, qn_tdict, qn)\n```\n\n## Find candidates for double-resonance measurements\n\nThis function finds possible transition arrangements for double-resonance measurements.\nInput two cat dataframes with the transitions that are in the range of your probe and pump source.\n\n```python\nresults_df = pyckett.get_dr_candidates(cat_df1, cat_df2)\n```\n\n## Check Crossings\n\n```python\npyckett.check_crossings(egy_df, [1], range(10))\n```\n\n## Plot Mixing Coefficients\n\n```python\npyckett.mixing_coefficient(egy_df, \"qn4 == 1 and qn2 < 20 and qn1 < 20 and qn1==qn2+qn3\")\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A wrapper around Pickett's SPFIT and SPCAT",
    "version": "0.1.19",
    "project_urls": {
        "Homepage": "https://github.com/Ltotheois/Pyckett/"
    },
    "split_keywords": [
        "pickett",
        " spectroscopy",
        " spfit",
        " spcat"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f1a478142cf51231c3b1287f416279052d7064f451ddd56efbc1620aeadc4df0",
                "md5": "17ab2a631a2e2c1f9d6e0acf2e8c504b",
                "sha256": "c85b42f1aab6dafb1aa495e397c0353db878b38d90bec87efb14210119bb1b0a"
            },
            "downloads": -1,
            "filename": "pyckett-0.1.19-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "17ab2a631a2e2c1f9d6e0acf2e8c504b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 29827,
            "upload_time": "2024-07-19T20:08:23",
            "upload_time_iso_8601": "2024-07-19T20:08:23.796327Z",
            "url": "https://files.pythonhosted.org/packages/f1/a4/78142cf51231c3b1287f416279052d7064f451ddd56efbc1620aeadc4df0/pyckett-0.1.19-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37c3ec70ea7f6c2d4a6bb196e82db82713a1da4c5554d45469d975461b1caee7",
                "md5": "fd7567aa6d4103d07d3bbfa72c98c8e6",
                "sha256": "6cc71bb540735fb2028b172ea04e22de7d6a0ff15e0c4220d1910fc4f8b5268d"
            },
            "downloads": -1,
            "filename": "pyckett-0.1.19.tar.gz",
            "has_sig": false,
            "md5_digest": "fd7567aa6d4103d07d3bbfa72c98c8e6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 28022,
            "upload_time": "2024-07-19T20:08:25",
            "upload_time_iso_8601": "2024-07-19T20:08:25.100930Z",
            "url": "https://files.pythonhosted.org/packages/37/c3/ec70ea7f6c2d4a6bb196e82db82713a1da4c5554d45469d975461b1caee7/pyckett-0.1.19.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-19 20:08:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Ltotheois",
    "github_project": "Pyckett",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pyckett"
}
        
Elapsed time: 0.45944s