pychemcurv


Namepychemcurv JSON
Version 2022.3.17 PyPI version JSON
download
home_page
SummaryDiscrete and local curvature applied to chemistry and chemical reactivity
upload_time2023-11-15 12:49:44
maintainer
docs_urlNone
author
requires_python>=3.9
licenseMIT License Copyright (c) 2019 Germain Salvato Vallverdu, Jacky Cresson, Didier Bégué Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords chemistry curvature poav hybridation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ==========
pychemcurv
==========

.. image:: https://readthedocs.org/projects/pychemcurv/badge/?version=latest
    :target: https://pychemcurv.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://mybinder.org/badge_logo.svg
    :target: https://mybinder.org/v2/gh/gVallverdu/pychemcurv.git/2020.6.3
    :alt: binder notebooks

.. image:: https://img.shields.io/badge/DOI-doi.org%2F10.1063%2F5.0008368-blue
    :target: https://aip.scitation.org/doi/10.1063/5.0008368
    :alt: DOI


* `installation <#installation>`_
* `documentation <https://pychemcurv.readthedocs.io/>`_
* Dash web application `source code <https://github.com/gVallverdu/pychemcurv-app>`_, `live demo <https://pychemcurv.onrender.com>`_
* `Notebooks <https://nbviewer.jupyter.org/github/gVallverdu/pychemcurv/tree/master/notebooks/>`_

pychemcurv is a python package for structural analyzes of molecular systems or
solid state materials focusing on the local curvature at an atomic scale. The
local curvature is then used to compute the hybridization of molecular orbitals.

Features
========

Pychemcurv is divided in two parts. The first one is a standard python package 
which provides two main classes to compute the local curvature at the atomic 
scale and the hybridization of a given atom. Second, a `Plotly/Dash <https://plot.ly/dash/>`_ web 
application is provided in order to perform a geometrical and electronic
analyzes on molecules or materials.

The web application is available at
`pychemcurv.onrender.com/ <https://pychemcurv.onrender.com>`_.
The web-app allows to upload simple xyz files and compute the local geometrical
properties and the hybridization properties. The application source code is available
in a separate repository at `pychemcurv-app <https://github.com/gVallverdu/pychemcurv-app>`_.

Some jupyter notebooks are provided in the ``notebooks/`` folder and present use cases 
of the classes implemented in this package. You can access to these notebooks
online with `binder <https://mybinder.org/>`_.

.. image:: https://mybinder.org/badge_logo.svg
    :target: https://mybinder.org/v2/gh/gVallverdu/pychemcurv.git/2020.6.3
    :alt: binder notebooks

Licence and contact
===================

This software was developped at the `Université de Pau et des Pays de l'Adour
(UPPA) <http://www.univ-pau.fr>`_ in the `Institut des Sciences Analytiques et
de Physico-Chimie pour l'Environement et les Matériaux (IPREM)
<http://iprem.univ-pau.fr/>`_ and the `Institut Pluridisciplinaire de Recherches
Appliquées (IPRA) <http://ipra.univ-pau.fr/>`_ and is distributed under the 
`MIT licence <https://opensource.org/licenses/MIT>`_.


Authors
-------

* Germain Salvato Vallverdu: `germain.vallverdu@univ-pau.fr <germain.vallverdu@univ-pau.fr>`_
* Julia Sabalot-cuzzubbo `julia.sabalot@univ-pau.fr  <sabalot.julia@univ-pau.fr>`_
* Didier Bégué: `didier.begue@univ-pau.fr <didier.begue@univ-pau.fr>`_
* Jacky Cresson: `jacky.cresson@univ-pau.fr <jacky.cresson@univ-pau.fr>`_


Citing pychemcurv
=================

Please, consider to cite the following papers when using either the `pychemcurv`
library or the web application.

.. image:: https://img.shields.io/badge/DOI-doi.org%2F10.1063%2F5.0008368-blue
    :target: https://aip.scitation.org/doi/10.1063/5.0008368
    :alt: DOI

Julia Sabalot-Cuzzubbo, Germain Salvato Vallverdu, Didier Bégué and Jacky Cresson
*Relating the molecular topology and local geometry: Haddon’s pyramidalization angle and the Gaussian curvature*, 
J. Chem. Phys. **152**, 244310 (2020).


.. image:: https://img.shields.io/badge/DOI-doi.org%2F10.1063%2F5.0008368-blue
    :target: https://aip.scitation.org/doi/10.1063/5.0170800
    :alt: DOI

Julia Sabalot-Cuzzubbo, N. Cresson, Germain Salvato Vallverdu, Didier Bégué and Jacky Cresson
*Haddon’s POAV2 vs POAV theory for non-planar molecules*, 
J. Chem. Phys. **159**, 174109 (2023).

Installation
============

Installation from PyPi
----------------------

From November 2023, ``pychemcurv`` is available on pypi. You can install it 
directly using pip.

.. code-block:: bash

    python -m pip install pychemcurv


Installation from source
------------------------

Before installing ``pychemcurv`` it is recommanded to create a virtual environment 
using conda or virtuelenv.

In this environment, using pip directly from the github repository, run

.. code-block:: bash

    pip install git+git://github.com/gVallverdu/pychemcurv.git


Alternatively, you can first clone the pychemcurv repository

.. code-block:: bash

    git clone https://github.com/gVallverdu/pychemcurv.git

and then install the module and its dependencies using

::

    pip install .

If you want to use the web application locally or if you want to use
`nglview <https://github.com/arose/nglview>`_ to display structures in 
jupyter notebooks you need to install more dependencies. The setup configuration
provides the ``viz`` extra so, using pip, run one of

.. code-block:: bash

    pip install .[viz]

    # escape square bracket with zsh
    pip install .\[viz\]

If you have installed nglview you may have to enable the jupyter extension

.. code-block:: bash

    jupyter-nbextension enable nglview --py --sys-prefix


Install in developper mode
--------------------------

In order to install in developper mode, first create an environment
(using one of the provided file for example) and then install using pip

.. code-block:: bash

    pip install -e .[viz]


If you want to build the documentation you also need to install sphinx.
A dedicated requirements file is provided in the ``docs/`` folder.
    

Run the web application
=======================

The web application is available in this separate repository: 
`pychemcurv-app https://github.com/gVallverdu/pychemcurv-app <https://github.com/gVallverdu/pychemcurv-app>`_.
The main aim of the application is to use the pychemcurv 
package and visualize the geometrical or chemical atomic quantities mapped on 
the chemical structure of your system.

The application is available online at this address: 
`pychemcurv.onrender.com/ <https://pychemcurv.onrender.com>`_.

In order to run the application locally, you have to clone the repository and 
install all the dependencies. In particular ``dash`` and ``dash-bio``.
You can do that from the ``requirements.txt`` provided in the repository of the
application. Here is a short procedure in order to install and run the application
locally. It assumes ``pychemcurv`` is already installed in a python environment 
called ``(curv)``:

.. code-block:: bash

    [user@computer] (curv) > $ git clone https://github.com/gVallverdu/pychemcurv-app.git
    [user@computer] (curv) > $ cd pychemcurv-app/
    [user@computer] (curv) > $ python -m pip install -r requirements.txt
    [user@computer] (curv) > $ python app.py
    Running on http://127.0.0.1:8050/
    Debugger PIN: 065-022-191
    * Serving Flask app "app" (lazy loading)
    * Environment: production
    WARNING: This is a development server. Do not use it in a production deployment.
    Use a production WSGI server instead.
    * Debug mode: on

Open the provided url to use the application.

You can switch off/on the debug mode by setting ``debug=False`` on the last line of 
the ``app.py`` file.

Common error on local execution
-------------------------------

If the application does not start with an error such as:

::

    socket.gaierror: [Errno 8] nodename nor servname provided, or not known


Go to the last lines of the file app.py and comment/uncomment the last
lines to get something that reads

.. code-block:: python

    if __name__ == '__main__':
        app.run_server(debug=True, host='127.0.0.1')
        # app.run_server(debug=False)


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "pychemcurv",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Germain Salvato Vallverdu <germain.vallverdu@univ-pau.fr>",
    "keywords": "chemistry,curvature,POAV,hybridation",
    "author": "",
    "author_email": "Julia Sabalot-cuzzubbo <julia.sabalot@gmail.com>, Germain Salvato Vallverdu <germain.vallverdu@univ-pau.fr>, Didier B\u00e9gu\u00e9 <didier.begue@univ-pau.fr>, Jacky Cresson <jacky.cresson@univ-pau.fr>",
    "download_url": "https://files.pythonhosted.org/packages/6e/da/069b26a66ceab9eba20b9bb6d451f0fa6ac14e371c4095f3ab7db3d1871c/pychemcurv-2022.3.17.tar.gz",
    "platform": null,
    "description": "==========\npychemcurv\n==========\n\n.. image:: https://readthedocs.org/projects/pychemcurv/badge/?version=latest\n    :target: https://pychemcurv.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\n.. image:: https://mybinder.org/badge_logo.svg\n    :target: https://mybinder.org/v2/gh/gVallverdu/pychemcurv.git/2020.6.3\n    :alt: binder notebooks\n\n.. image:: https://img.shields.io/badge/DOI-doi.org%2F10.1063%2F5.0008368-blue\n    :target: https://aip.scitation.org/doi/10.1063/5.0008368\n    :alt: DOI\n\n\n* `installation <#installation>`_\n* `documentation <https://pychemcurv.readthedocs.io/>`_\n* Dash web application `source code <https://github.com/gVallverdu/pychemcurv-app>`_, `live demo <https://pychemcurv.onrender.com>`_\n* `Notebooks <https://nbviewer.jupyter.org/github/gVallverdu/pychemcurv/tree/master/notebooks/>`_\n\npychemcurv is a python package for structural analyzes of molecular systems or\nsolid state materials focusing on the local curvature at an atomic scale. The\nlocal curvature is then used to compute the hybridization of molecular orbitals.\n\nFeatures\n========\n\nPychemcurv is divided in two parts. The first one is a standard python package \nwhich provides two main classes to compute the local curvature at the atomic \nscale and the hybridization of a given atom. Second, a `Plotly/Dash <https://plot.ly/dash/>`_ web \napplication is provided in order to perform a geometrical and electronic\nanalyzes on molecules or materials.\n\nThe web application is available at\n`pychemcurv.onrender.com/ <https://pychemcurv.onrender.com>`_.\nThe web-app allows to upload simple xyz files and compute the local geometrical\nproperties and the hybridization properties. The application source code is available\nin a separate repository at `pychemcurv-app <https://github.com/gVallverdu/pychemcurv-app>`_.\n\nSome jupyter notebooks are provided in the ``notebooks/`` folder and present use cases \nof the classes implemented in this package. You can access to these notebooks\nonline with `binder <https://mybinder.org/>`_.\n\n.. image:: https://mybinder.org/badge_logo.svg\n    :target: https://mybinder.org/v2/gh/gVallverdu/pychemcurv.git/2020.6.3\n    :alt: binder notebooks\n\nLicence and contact\n===================\n\nThis software was developped at the `Universit\u00e9 de Pau et des Pays de l'Adour\n(UPPA) <http://www.univ-pau.fr>`_ in the `Institut des Sciences Analytiques et\nde Physico-Chimie pour l'Environement et les Mat\u00e9riaux (IPREM)\n<http://iprem.univ-pau.fr/>`_ and the `Institut Pluridisciplinaire de Recherches\nAppliqu\u00e9es (IPRA) <http://ipra.univ-pau.fr/>`_ and is distributed under the \n`MIT licence <https://opensource.org/licenses/MIT>`_.\n\n\nAuthors\n-------\n\n* Germain Salvato Vallverdu: `germain.vallverdu@univ-pau.fr <germain.vallverdu@univ-pau.fr>`_\n* Julia Sabalot-cuzzubbo `julia.sabalot@univ-pau.fr  <sabalot.julia@univ-pau.fr>`_\n* Didier B\u00e9gu\u00e9: `didier.begue@univ-pau.fr <didier.begue@univ-pau.fr>`_\n* Jacky Cresson: `jacky.cresson@univ-pau.fr <jacky.cresson@univ-pau.fr>`_\n\n\nCiting pychemcurv\n=================\n\nPlease, consider to cite the following papers when using either the `pychemcurv`\nlibrary or the web application.\n\n.. image:: https://img.shields.io/badge/DOI-doi.org%2F10.1063%2F5.0008368-blue\n    :target: https://aip.scitation.org/doi/10.1063/5.0008368\n    :alt: DOI\n\nJulia Sabalot-Cuzzubbo, Germain Salvato Vallverdu, Didier B\u00e9gu\u00e9 and Jacky Cresson\n*Relating the molecular topology and local geometry: Haddon\u2019s pyramidalization angle and the Gaussian curvature*, \nJ. Chem. Phys. **152**, 244310 (2020).\n\n\n.. image:: https://img.shields.io/badge/DOI-doi.org%2F10.1063%2F5.0008368-blue\n    :target: https://aip.scitation.org/doi/10.1063/5.0170800\n    :alt: DOI\n\nJulia Sabalot-Cuzzubbo, N. Cresson, Germain Salvato Vallverdu, Didier B\u00e9gu\u00e9 and Jacky Cresson\n*Haddon\u2019s POAV2 vs POAV theory for non-planar molecules*, \nJ. Chem. Phys. **159**, 174109 (2023).\n\nInstallation\n============\n\nInstallation from PyPi\n----------------------\n\nFrom November 2023, ``pychemcurv`` is available on pypi. You can install it \ndirectly using pip.\n\n.. code-block:: bash\n\n    python -m pip install pychemcurv\n\n\nInstallation from source\n------------------------\n\nBefore installing ``pychemcurv`` it is recommanded to create a virtual environment \nusing conda or virtuelenv.\n\nIn this environment, using pip directly from the github repository, run\n\n.. code-block:: bash\n\n    pip install git+git://github.com/gVallverdu/pychemcurv.git\n\n\nAlternatively, you can first clone the pychemcurv repository\n\n.. code-block:: bash\n\n    git clone https://github.com/gVallverdu/pychemcurv.git\n\nand then install the module and its dependencies using\n\n::\n\n    pip install .\n\nIf you want to use the web application locally or if you want to use\n`nglview <https://github.com/arose/nglview>`_ to display structures in \njupyter notebooks you need to install more dependencies. The setup configuration\nprovides the ``viz`` extra so, using pip, run one of\n\n.. code-block:: bash\n\n    pip install .[viz]\n\n    # escape square bracket with zsh\n    pip install .\\[viz\\]\n\nIf you have installed nglview you may have to enable the jupyter extension\n\n.. code-block:: bash\n\n    jupyter-nbextension enable nglview --py --sys-prefix\n\n\nInstall in developper mode\n--------------------------\n\nIn order to install in developper mode, first create an environment\n(using one of the provided file for example) and then install using pip\n\n.. code-block:: bash\n\n    pip install -e .[viz]\n\n\nIf you want to build the documentation you also need to install sphinx.\nA dedicated requirements file is provided in the ``docs/`` folder.\n    \n\nRun the web application\n=======================\n\nThe web application is available in this separate repository: \n`pychemcurv-app https://github.com/gVallverdu/pychemcurv-app <https://github.com/gVallverdu/pychemcurv-app>`_.\nThe main aim of the application is to use the pychemcurv \npackage and visualize the geometrical or chemical atomic quantities mapped on \nthe chemical structure of your system.\n\nThe application is available online at this address: \n`pychemcurv.onrender.com/ <https://pychemcurv.onrender.com>`_.\n\nIn order to run the application locally, you have to clone the repository and \ninstall all the dependencies. In particular ``dash`` and ``dash-bio``.\nYou can do that from the ``requirements.txt`` provided in the repository of the\napplication. Here is a short procedure in order to install and run the application\nlocally. It assumes ``pychemcurv`` is already installed in a python environment \ncalled ``(curv)``:\n\n.. code-block:: bash\n\n    [user@computer] (curv) > $ git clone https://github.com/gVallverdu/pychemcurv-app.git\n    [user@computer] (curv) > $ cd pychemcurv-app/\n    [user@computer] (curv) > $ python -m pip install -r requirements.txt\n    [user@computer] (curv) > $ python app.py\n    Running on http://127.0.0.1:8050/\n    Debugger PIN: 065-022-191\n    * Serving Flask app \"app\" (lazy loading)\n    * Environment: production\n    WARNING: This is a development server. Do not use it in a production deployment.\n    Use a production WSGI server instead.\n    * Debug mode: on\n\nOpen the provided url to use the application.\n\nYou can switch off/on the debug mode by setting ``debug=False`` on the last line of \nthe ``app.py`` file.\n\nCommon error on local execution\n-------------------------------\n\nIf the application does not start with an error such as:\n\n::\n\n    socket.gaierror: [Errno 8] nodename nor servname provided, or not known\n\n\nGo to the last lines of the file app.py and comment/uncomment the last\nlines to get something that reads\n\n.. code-block:: python\n\n    if __name__ == '__main__':\n        app.run_server(debug=True, host='127.0.0.1')\n        # app.run_server(debug=False)\n\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2019 Germain Salvato Vallverdu, Jacky Cresson, Didier B\u00e9gu\u00e9  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Discrete and local curvature applied to chemistry and chemical reactivity",
    "version": "2022.3.17",
    "project_urls": {
        "Bug Tracker": "https://github.com/gVallverdu/pychemcurv/issues",
        "Homepage": "https://github.com/gVallverdu/pychemcurv"
    },
    "split_keywords": [
        "chemistry",
        "curvature",
        "poav",
        "hybridation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0d3f8f6a0ae357f6292628c5b0ba51c82bbcf5d7957eb677d48c21e70814dcdb",
                "md5": "e34120575a801db5565a3cedd79f5e0b",
                "sha256": "5725f5edba745f372871a101ed1622c98816cc69db98bb82e4c5b1235bfb7582"
            },
            "downloads": -1,
            "filename": "pychemcurv-2022.3.17-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e34120575a801db5565a3cedd79f5e0b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 22138,
            "upload_time": "2023-11-15T12:49:41",
            "upload_time_iso_8601": "2023-11-15T12:49:41.799059Z",
            "url": "https://files.pythonhosted.org/packages/0d/3f/8f6a0ae357f6292628c5b0ba51c82bbcf5d7957eb677d48c21e70814dcdb/pychemcurv-2022.3.17-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6eda069b26a66ceab9eba20b9bb6d451f0fa6ac14e371c4095f3ab7db3d1871c",
                "md5": "f7a4afbff0999e4063c9ce560a9a2db3",
                "sha256": "e9944dd26a23f141392cc246aef86bd800df87952fc8fef98b9ad4fdc0fd25ed"
            },
            "downloads": -1,
            "filename": "pychemcurv-2022.3.17.tar.gz",
            "has_sig": false,
            "md5_digest": "f7a4afbff0999e4063c9ce560a9a2db3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 8102648,
            "upload_time": "2023-11-15T12:49:44",
            "upload_time_iso_8601": "2023-11-15T12:49:44.935179Z",
            "url": "https://files.pythonhosted.org/packages/6e/da/069b26a66ceab9eba20b9bb6d451f0fa6ac14e371c4095f3ab7db3d1871c/pychemcurv-2022.3.17.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-15 12:49:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "gVallverdu",
    "github_project": "pychemcurv",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "pychemcurv"
}
        
Elapsed time: 1.92283s