pycollisiondb


Namepycollisiondb JSON
Version 0.1.5 PyPI version JSON
download
home_pagehttps://github.com/xnx/pycollisiondb
SummaryA package for interacting with CollisionDB
upload_time2023-10-13 13:00:40
maintainer
docs_urlNone
authorChristian Hill
requires_python>=3.8
license
keywords chemistry formula species state reaction
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            |PyPI version| |PyPI pyversions| |Code style|

.. |PyPI version| image:: https://img.shields.io/pypi/v/pycollisiondb.svg
   :target: https://pypi.python.org/pypi/pycollisondb
.. |PyPI pyversions| image:: https://img.shields.io/pypi/pyversions/pycollisiondb.svg
   :target: https://pypi.org/project/pycollisiondb/
.. |Code style| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/psf/black
.. _PYPI: https://pypi.org/project/pycollisiondb/
.. _COLLISIONDB: https://db-amdis.org/collisiondb/
.. _ALADDIN2: https://db-amdis.org/aladdin2/
.. _Documentation: https://db-amdis.org/collisiondb/submitting-data/

.. contents::

*****************************
Introduction to PyCollisionDB
*****************************

PyCollisionDB is a Python package for interacting with `CollisionDB`_ or `ALADDIN2`_, databases
of plasma collisional cross sections and rate coefficients.

Datasets in these collisional databases can be retrieved in a standardized way and compared, aggregated, and assessed using a set of predefined Python methods.


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

The ``PyCollisionDB`` package can be installed either from `PYPI`_ using pip


.. code-block:: bash

    python3 -m pip install pycollisiondb

or from the source by running (one of the two) from the project source directory.

.. code-block:: bash

    # either
    python setup.py install

    # or
    python3 -m pip install .

PyCollision
===========

The ``PyCollision`` object represents the main instance of the ``PyCollisionDB`` package for interacting with collisional databases, and datasets may be compared, output in various formats, and manipulated using the methods object as described below:

.. code-block:: pycon

    >>> from pycollisiondb.pycollisiondb import PyCollision

Dataset(s) Search 
------------------

Collisional datasets can be retrieved using ``PyCollision`` class method ``get_datasets`` for a given query. The value of each query can be passed as a Python dictionary with valid metadata keys, and values can be specified either as a string or a list of comma-separated strings.

.. code-block:: pycon

    >>> # Fetch datasets from the server over the API.
    >>> query = {'reactants': ['W+61', 'H']}
    >>> pycoll = PyCollision.get_datasets(query=query)
    
or datasets can be acessed from a locally-cached archive 

.. code-block:: pycon

    >>> # Specify the data directory for accessing the archive
    >>> DATA_DIR = '/Users/tmp/results'
    >>> # archive UUID
    >>> archive_uuid = '026a7abd-5ed7-4e30-827d-f3f606f3fa98'
    >>> pycoll = PyCollision.get_datasets(archive_uuid=archive_uuid, DATA_DIR=DATA_DIR)
 

Valid Query Keywords
********************

.. code-block:: pycon
 
    >>> pycoll.VALID_QUERY_KEYWORDS
    (ˈpkˈ,
     ˈpksˈ,
     ˈreaction_textˈ,
     ˈreaction_textsˈ,
     ˈreactant1ˈ,
     ˈreactant2ˈ,
     ˈproduct1ˈ,
     ˈproduct2ˈ,
     ˈprocess_typesˈ,
     ˈmethodˈ,
     ˈdata_typeˈ,
     ˈreactantsˈ,
     ˈproductsˈ,
     ˈdoiˈ)
    
    >>> # Example
    >>> pycoll = PyCollision.get_datasets(query={'rxns': ['H']})
    ---------------------------------------------------------------------------
    PyCollisionDBKeywordError                 Traceback (most recent call last)
    ...
    PyCollisionDBKeywordError: Invalid query keyword in dict_keys(['rxns'])
     
Please see the `documentation`_ for currently available choices or formats (if any) for query key values.

.. code-block:: pycon

    >>> # reaction_text is a string consisting of a single reaction,
    >>> # while a comma-separated list of reactions can be searched with the reaction_texts key.
    >>> # data_type can be specified as one of "cross section", "differential cross section" or "rate coefficient".
    >>> query = {'reaction_text': "H+ + H 1s -> H+ + H+ + e-",
                 'data_type': 'sigma'}
    >>> pycoll = PyCollision.get_datasets(query=query)
    ---------------------------------------------------------------------------
    PyCollisionDBConnectionError              Traceback (most recent call last)
    ...
    PyCollisionDBConnectionError: Could not retrieve data: HTTP 400 (Bad Request) returned from https://db-amdis.org/collisiondb/api/


Accessing data from the datasets
************************************

.. code-block:: pycon

   >>> # Proton-impact ionization of H.
   >>> query = {'reactants': ['H+', 'H 1s'],
                 'process_types': ['HIN'],
                 'data_type': 'cross section'}
   >>> pycoll = PyCollision.get_datasets(query=query)
   
   >>> # Datasets retrieved from the server as a dict keyed by pk ID.
   >>> pycoll.datasets
   {102737: D102737: H+ + H 1s → H+ + H+ + e-,
    107356: D107356: H+ + H 1s → H+ + H+ + e-,
    103103: D103103: H 1s + H+ → H+ + H+ + e-,
    103104: D103104: H 1s + H+ → H+ + H+ + e-} 
     
.. code-block:: pycon
 
    >>> # A list of datasets pks identified by each distinct reaction text.
    >>> pycoll.pks
    defaultdict(list,
            {'H+ + H 1s → H+ + H+ + e-': [102737, 107356],
             'H 1s + H+ → H+ + H+ + e-': [103103, 103104]}) 
    
    >>> # Summarize datasets for each distint reaction text.
    >>> pycoll.summarize_datasets()
    H+ + H 1s → H+ + H+ + e-
    ========================================================================
     qid: D102737
     process_types: ['HIN']
     data_type: cross section
     refs: {'B32': {'doi': '10.1016/j.adt.2019.05.002'}}
     qid: D107356
     process_types: ['HIN']
     data_type: cross section
     refs: {'B45': {'doi': '10.1140/epjd/e2019-100380-x'}} 
    
    H 1s + H+ → H+ + H+ + e-
    ========================================================================
     qid: D103103
     process_types: ['HIN']
     data_type: cross section
     refs: {'B33': {'doi': '10.1088/0022-3700/14/14/009'}}
     qid: D103104
     process_types: ['HIN']
     data_type: cross section
     refs: {'B34': {'doi': '10.1088/0022-3700/20/11/016'}}

.. code-block:: pycon

   >>> # Contents of the manifest.json file available in archive
   >>> pycoll.manifest 
    {'timestamp': '2022-12-08 16:00:32.768200+00:00',
     'uuid': '4d3bf0d4-c786-4712-b7a6-e5c04e67c89c',
     'GET_string': '',
     'ndatasets': 4,
     'datasets': {'D102737': 'H+ + H 1s → H+ + H+ + e-',
     'D107356': 'H+ + H 1s → H+ + H+ + e-',
     'D103103': 'H 1s + H+ → H+ + H+ + e-',
     'D103104': 'H 1s + H+ → H+ + H+ + e-'}}  
     
.. code-block:: pycon

   >>> # Resolve the references for all the datasets into proper, citeable format.
   >>> # this accesses the django-pyref API through the Server.
   >>> pycoll.REFS_API_URL 
   'https://db-amdis.org/collisiondb/refs/api/'
   
   >>> pycoll.resolve_refs()
   >>> # a dict with bibliographic data identified by pk ID
   >>> pycoll.refs
   {
   'B32': {'authors': 'H. Agueny, J. Petter Hansen, A. Dubois, A. Makhoute, A. Taoutioui, N. Sisourat',
    'title': 'Electron capture, ionization and excitation cross sections for keV collisions between fully stripped ions and atomic hydrogen in ground and excited states',
    'journal': 'Atomic Data and Nuclear Data Tables',
    'volume': '129-130',
    'page_start': '101281',
    'page_end': '',
    'article_number': '101281',
    'year': 2019,
    'note': '',
    'doi': '10.1016/j.adt.2019.05.002',
    'bibcode': '2019ADNDT.12901281A',
    'url': 'https://dx.doi.org/10.1016/j.adt.2019.05.002'},
   'B33': {...},
   'B34': {...},
   'B45': {...}
   }
  
       
More details
**************

.. code-block:: pycon

    >>> # List of all datasets pks 
    >>> pycoll.all_pks
    [102737, 107356, 103103, 103104]
    
    >>> # Access to individual dataset via pk
    >>> pycoll.datasets[102737].metadata
    {'qid': 'D102737',
     'reaction': 'H+ + H 1s → H+ + H+ + e-',
     'process_types': {'HIN': 'Ionization'},
     'data_type': 'cross section',
     'refs': {'B32': {'doi': '10.1016/j.adt.2019.05.002'}},
     'json_comment': {'comment': 'Ionization cross sections in H+ + H collisions using a semiclassical close-coupling approach. Cross sections represent the average values of the results obtained with two basis sets and the uncertainties provide the estimate of convergence of the cross sections'},
     'json_data': {'method': 'CC',
     'columns': [{'name': 'E', 'units': 'eV.u-1'},
     {'name': 'sigma', 'units': 'cm2'}]}}
    
.. code-block:: pycon

    >>> # Prints the numerical values of datasets along with units.
    >>> pycoll.datasets[102737].print_values()
    E / eV.u-1 sigma / cm2
    1000.0 5.471e-19
    4000.0 1.96e-18
    9000.0 1.235e-17
    16000.0 4.05e-17
    25000.0 9.192e-17
    36000.0 1.405e-16
    49000.0 1.628e-16
    64000.0 1.605e-16
    81000.0 1.45e-16
    100000.0 1.248e-16
    
    
.. code-block:: pycon

    >>> # Metadata for all datasets can be accessed with a for loop.
    >>> for ds in pycoll.datasets.values():
    >>>     print(ds.metadata)
 

Convert Units
---------------
The ``PyCollision`` method ``convert_units`` can be used to change the units of datasets.

.. code-block:: pycon

    >>> pycoll.datasets[102737].x
    array([  1000.,   4000.,   9000.,  16000.,  25000.,  36000.,  49000.,
         64000.,  81000., 100000.])
    >>> # The units of all datasets are changed,
    >>> # Energy is changed from eV.u-1 (default) to keV.u-1 and sigma from cm2 (default) to a02 (atomic units).
    >>> # This accesses the pyqn library.
     >>> pycoll.convert_units({'E': 'keV.u-1', 'sigma': 'a02'})
     >>> pycoll.datasets[102737].x
     array([  1.,   4.,   9.,  16.,  25.,  36.,  49.,  64.,  81., 100.])
     
.. code-block:: pycon

    >>> # Change the units of a single dataset,
    >>> # provide the column name followed by units as arguments.
    >>> pycoll.datasets[102737].convert_units('sigma', 'm2')
  
Visualization tools
------------------------------
The ``PyCollision`` method ``plot_all_datasets`` can be used to create plots using the ``pyplot`` submodule of the ``Matplotlib`` library as the visualization utility.

.. code-block:: pycon  

    >>> import matplotlib.pyplot as plt
    >>> %matplotlib notebook
    >>> # Make a plot, indicating how the data should be labelled.
    >>> fig, ax = plt.subplots()
    >>> # The default legend consists of qid/pk and reaction labels,
    >>> # it can be customized to include refs and process_types or either of these lables.
    >>> pycoll.plot_all_datasets(ax, label=('reaction', 'qid', 'refs', 'process_types'))
    >>> plt.legend()
    
.. image:: ./docs/source/pycollisiondb-plot-example.png
   :height: 480px
   :width: 640 px
   :scale: 100 %
   :alt: figure
   :align: right                
   
Connection to the ALADDIN2 API
------------------------------

.. code-block:: pycon


    >>> #By default, PyCollisionDB interacts with the API to the CollisionDB server
    >>> pycoll.API_URL
    'https://db-amdis.org/collisiondb/api/'

    >>> #API_URL can be directed to ALADDIN2 server by passing argument DB_URL 
    >>> DB_URL = 'https://db-amdis.org/aladdin2'
    >>> pycoll = PyCollision.get_datasets(query=query,DB_URL=DB_URL)
    >>> pycoll.API_URL
    'https://db-amdis.org/aladdin2/api/'
    


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/xnx/pycollisiondb",
    "name": "pycollisiondb",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "chemistry,formula,species,state,reaction",
    "author": "Christian Hill",
    "author_email": "ch.hill@iaea.org",
    "download_url": "https://files.pythonhosted.org/packages/fe/f3/20099542db76dd4a9adaec30088dea8e402c700e71ddf957f474434df7c4/pycollisiondb-0.1.5.tar.gz",
    "platform": null,
    "description": "|PyPI version| |PyPI pyversions| |Code style|\n\n.. |PyPI version| image:: https://img.shields.io/pypi/v/pycollisiondb.svg\n   :target: https://pypi.python.org/pypi/pycollisondb\n.. |PyPI pyversions| image:: https://img.shields.io/pypi/pyversions/pycollisiondb.svg\n   :target: https://pypi.org/project/pycollisiondb/\n.. |Code style| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n   :target: https://github.com/psf/black\n.. _PYPI: https://pypi.org/project/pycollisiondb/\n.. _COLLISIONDB: https://db-amdis.org/collisiondb/\n.. _ALADDIN2: https://db-amdis.org/aladdin2/\n.. _Documentation: https://db-amdis.org/collisiondb/submitting-data/\n\n.. contents::\n\n*****************************\nIntroduction to PyCollisionDB\n*****************************\n\nPyCollisionDB is a Python package for interacting with `CollisionDB`_ or `ALADDIN2`_, databases\nof plasma collisional cross sections and rate coefficients.\n\nDatasets in these collisional databases can be retrieved in a standardized way and compared, aggregated, and assessed using a set of predefined Python methods.\n\n\nInstallation\n============\n\nThe ``PyCollisionDB`` package can be installed either from `PYPI`_ using pip\n\n\n.. code-block:: bash\n\n    python3 -m pip install pycollisiondb\n\nor from the source by running (one of the two) from the project source directory.\n\n.. code-block:: bash\n\n    # either\n    python setup.py install\n\n    # or\n    python3 -m pip install .\n\nPyCollision\n===========\n\nThe ``PyCollision`` object represents the main instance of the ``PyCollisionDB`` package for interacting with collisional databases, and datasets may be compared, output in various formats, and manipulated using the methods object as described below:\n\n.. code-block:: pycon\n\n    >>> from pycollisiondb.pycollisiondb import PyCollision\n\nDataset(s) Search \n------------------\n\nCollisional datasets can be retrieved using ``PyCollision`` class method ``get_datasets`` for a given query. The value of each query can be passed as a Python dictionary with valid metadata keys, and values can be specified either as a string or a list of comma-separated strings.\n\n.. code-block:: pycon\n\n    >>> # Fetch datasets from the server over the API.\n    >>> query = {'reactants': ['W+61', 'H']}\n    >>> pycoll = PyCollision.get_datasets(query=query)\n    \nor datasets can be acessed from a locally-cached archive \n\n.. code-block:: pycon\n\n    >>> # Specify the data directory for accessing the archive\n    >>> DATA_DIR = '/Users/tmp/results'\n    >>> # archive UUID\n    >>> archive_uuid = '026a7abd-5ed7-4e30-827d-f3f606f3fa98'\n    >>> pycoll = PyCollision.get_datasets(archive_uuid=archive_uuid, DATA_DIR=DATA_DIR)\n \n\nValid Query Keywords\n********************\n\n.. code-block:: pycon\n \n    >>> pycoll.VALID_QUERY_KEYWORDS\n    (\u02c8pk\u02c8,\n     \u02c8pks\u02c8,\n     \u02c8reaction_text\u02c8,\n     \u02c8reaction_texts\u02c8,\n     \u02c8reactant1\u02c8,\n     \u02c8reactant2\u02c8,\n     \u02c8product1\u02c8,\n     \u02c8product2\u02c8,\n     \u02c8process_types\u02c8,\n     \u02c8method\u02c8,\n     \u02c8data_type\u02c8,\n     \u02c8reactants\u02c8,\n     \u02c8products\u02c8,\n     \u02c8doi\u02c8)\n    \n    >>> # Example\n    >>> pycoll = PyCollision.get_datasets(query={'rxns': ['H']})\n    ---------------------------------------------------------------------------\n    PyCollisionDBKeywordError \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Traceback (most recent call last)\n    ...\n    PyCollisionDBKeywordError: Invalid query keyword in dict_keys(['rxns'])\n     \nPlease see the `documentation`_ for currently available choices or formats (if any) for query key values.\n\n.. code-block:: pycon\n\n    >>> # reaction_text is a string consisting of a single reaction,\n    >>> # while a comma-separated list of reactions can be searched with the reaction_texts key.\n    >>> # data_type can be specified as one of \"cross section\", \"differential cross section\" or \"rate coefficient\".\n    >>> query = {'reaction_text': \"H+ + H 1s -> H+ + H+ + e-\",\n                 'data_type': 'sigma'}\n    >>> pycoll = PyCollision.get_datasets(query=query)\n    ---------------------------------------------------------------------------\n    PyCollisionDBConnectionError              Traceback (most recent call last)\n    ...\n    PyCollisionDBConnectionError: Could not retrieve data: HTTP 400 (Bad Request) returned from https://db-amdis.org/collisiondb/api/\n\n\nAccessing data from the datasets\n************************************\n\n.. code-block:: pycon\n\n   >>> # Proton-impact ionization of H.\n   >>> query = {'reactants': ['H+', 'H 1s'],\n                 'process_types': ['HIN'],\n                 'data_type': 'cross section'}\n   >>> pycoll = PyCollision.get_datasets(query=query)\n   \n   >>> # Datasets retrieved from the server as a dict keyed by pk ID.\n   >>> pycoll.datasets\n   {102737: D102737: H+ + H 1s \u2192 H+ + H+ + e-,\n    107356: D107356: H+ + H 1s \u2192 H+ + H+ + e-,\n    103103: D103103: H 1s + H+ \u2192 H+ + H+ + e-,\n    103104: D103104: H 1s + H+ \u2192 H+ + H+ + e-} \n     \n.. code-block:: pycon\n \n    >>> # A list of datasets pks identified by each distinct reaction text.\n    >>> pycoll.pks\n    defaultdict(list,\n            {'H+ + H 1s \u2192 H+ + H+ + e-': [102737, 107356],\n             'H 1s + H+ \u2192 H+ + H+ + e-': [103103, 103104]}) \n    \n    >>> # Summarize datasets for each distint reaction text.\n    >>> pycoll.summarize_datasets()\n    H+ + H 1s \u2192 H+ + H+ + e-\n    ========================================================================\n     qid: D102737\n     process_types: ['HIN']\n     data_type: cross section\n     refs: {'B32': {'doi': '10.1016/j.adt.2019.05.002'}}\n     qid: D107356\n     process_types: ['HIN']\n     data_type: cross section\n     refs: {'B45': {'doi': '10.1140/epjd/e2019-100380-x'}} \n    \n    H 1s + H+ \u2192 H+ + H+ + e-\n    ========================================================================\n     qid: D103103\n     process_types: ['HIN']\n     data_type: cross section\n     refs: {'B33': {'doi': '10.1088/0022-3700/14/14/009'}}\n     qid: D103104\n     process_types: ['HIN']\n     data_type: cross section\n     refs: {'B34': {'doi': '10.1088/0022-3700/20/11/016'}}\n\n.. code-block:: pycon\n\n   >>> # Contents of the manifest.json file available in archive\n   >>> pycoll.manifest \n    {'timestamp': '2022-12-08 16:00:32.768200+00:00',\n     'uuid': '4d3bf0d4-c786-4712-b7a6-e5c04e67c89c',\n     'GET_string': '',\n     'ndatasets': 4,\n     'datasets': {'D102737': 'H+ + H 1s \u2192 H+ + H+ + e-',\n     'D107356': 'H+ + H 1s \u2192 H+ + H+ + e-',\n     'D103103': 'H 1s + H+ \u2192 H+ + H+ + e-',\n     'D103104': 'H 1s + H+ \u2192 H+ + H+ + e-'}}  \n     \n.. code-block:: pycon\n\n   >>> # Resolve the references for all the datasets into proper, citeable format.\n   >>> # this accesses the django-pyref API through the Server.\n   >>> pycoll.REFS_API_URL \n   'https://db-amdis.org/collisiondb/refs/api/'\n   \n   >>> pycoll.resolve_refs()\n   >>> # a dict with bibliographic data identified by pk ID\n   >>> pycoll.refs\n   {\n   'B32': {'authors': 'H. Agueny, J. Petter Hansen, A. Dubois, A. Makhoute, A. Taoutioui, N. Sisourat',\n    'title': 'Electron capture, ionization and excitation cross sections for keV collisions between fully stripped ions and atomic hydrogen in ground and excited states',\n    'journal': 'Atomic Data and Nuclear Data Tables',\n    'volume': '129-130',\n    'page_start': '101281',\n    'page_end': '',\n    'article_number': '101281',\n    'year': 2019,\n    'note': '',\n    'doi': '10.1016/j.adt.2019.05.002',\n    'bibcode': '2019ADNDT.12901281A',\n    'url': 'https://dx.doi.org/10.1016/j.adt.2019.05.002'},\n   'B33': {...},\n   'B34': {...},\n   'B45': {...}\n   }\n  \n       \nMore details\n**************\n\n.. code-block:: pycon\n\n    >>> # List of all datasets pks \n    >>> pycoll.all_pks\n    [102737, 107356, 103103, 103104]\n    \n    >>> # Access to individual dataset via pk\n    >>> pycoll.datasets[102737].metadata\n    {'qid': 'D102737',\n     'reaction': 'H+ + H 1s \u2192 H+ + H+ + e-',\n     'process_types': {'HIN': 'Ionization'},\n     'data_type': 'cross section',\n     'refs': {'B32': {'doi': '10.1016/j.adt.2019.05.002'}},\n     'json_comment': {'comment': 'Ionization cross sections in H+ + H collisions using a semiclassical close-coupling approach. Cross sections represent the average values of the results obtained with two basis sets and the uncertainties provide the estimate of convergence of the cross sections'},\n     'json_data': {'method': 'CC',\n     'columns': [{'name': 'E', 'units': 'eV.u-1'},\n     {'name': 'sigma', 'units': 'cm2'}]}}\n    \n.. code-block:: pycon\n\n    >>> # Prints the numerical values of datasets along with units.\n    >>> pycoll.datasets[102737].print_values()\n    E / eV.u-1 sigma / cm2\n    1000.0 5.471e-19\n    4000.0 1.96e-18\n    9000.0 1.235e-17\n    16000.0 4.05e-17\n    25000.0 9.192e-17\n    36000.0 1.405e-16\n    49000.0 1.628e-16\n    64000.0 1.605e-16\n    81000.0 1.45e-16\n    100000.0 1.248e-16\n    \n    \n.. code-block:: pycon\n\n    >>> # Metadata for all datasets can be accessed with a for loop.\n    >>> for ds in pycoll.datasets.values():\n    >>>     print(ds.metadata)\n \n\nConvert Units\n---------------\nThe ``PyCollision`` method ``convert_units`` can be used to change the units of datasets.\n\n.. code-block:: pycon\n\n    >>> pycoll.datasets[102737].x\n    array([  1000.,   4000.,   9000.,  16000.,  25000.,  36000.,  49000.,\n         64000.,  81000., 100000.])\n    >>> # The units of all datasets are changed,\n    >>> # Energy is changed from eV.u-1 (default) to keV.u-1 and sigma from cm2 (default) to a02 (atomic units).\n    >>> # This accesses the pyqn library.\n     >>> pycoll.convert_units({'E': 'keV.u-1', 'sigma': 'a02'})\n     >>> pycoll.datasets[102737].x\n     array([  1.,   4.,   9.,  16.,  25.,  36.,  49.,  64.,  81., 100.])\n     \n.. code-block:: pycon\n\n    >>> # Change the units of a single dataset,\n    >>> # provide the column name followed by units as arguments.\n    >>> pycoll.datasets[102737].convert_units('sigma', 'm2')\n  \nVisualization tools\n------------------------------\nThe ``PyCollision`` method ``plot_all_datasets`` can be used to create plots using the ``pyplot`` submodule of the ``Matplotlib`` library as the visualization utility.\n\n.. code-block:: pycon  \n\n    >>> import matplotlib.pyplot as plt\n    >>> %matplotlib notebook\n    >>> # Make a plot, indicating how the data should be labelled.\n    >>> fig, ax = plt.subplots()\n    >>> # The default legend consists of qid/pk and reaction labels,\n    >>> # it can be customized to include refs and process_types or either of these lables.\n    >>> pycoll.plot_all_datasets(ax, label=('reaction', 'qid', 'refs', 'process_types'))\n    >>> plt.legend()\n    \n.. image:: ./docs/source/pycollisiondb-plot-example.png\n   :height: 480px\n   :width: 640 px\n   :scale: 100 %\n   :alt: figure\n   :align: right                \n   \nConnection to the ALADDIN2 API\n------------------------------\n\n.. code-block:: pycon\n\n\n    >>> #By default, PyCollisionDB interacts with the API to the CollisionDB server\n    >>> pycoll.API_URL\n    'https://db-amdis.org/collisiondb/api/'\n\n    >>> #API_URL can be directed to ALADDIN2 server by passing argument DB_URL \n    >>> DB_URL = 'https://db-amdis.org/aladdin2'\n    >>> pycoll = PyCollision.get_datasets(query=query,DB_URL=DB_URL)\n    >>> pycoll.API_URL\n    'https://db-amdis.org/aladdin2/api/'\n    \n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A package for interacting with CollisionDB",
    "version": "0.1.5",
    "project_urls": {
        "Bug Reports": "https://github.com/xnx/pycollisiondb/issues",
        "Homepage": "https://github.com/xnx/pycollisiondb"
    },
    "split_keywords": [
        "chemistry",
        "formula",
        "species",
        "state",
        "reaction"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cbd9a02eb266ab8f29227673cbf5f4b78396fa89616b81b3895343c22fcc46ec",
                "md5": "5d4e884c4b11f4f8c4f0c6a8ed6c9bef",
                "sha256": "2c6598394becfb5fede549d0e1ee0318eeae47ae9614068c8beaf29bcb869388"
            },
            "downloads": -1,
            "filename": "pycollisiondb-0.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5d4e884c4b11f4f8c4f0c6a8ed6c9bef",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 14790,
            "upload_time": "2023-10-13T13:00:36",
            "upload_time_iso_8601": "2023-10-13T13:00:36.879050Z",
            "url": "https://files.pythonhosted.org/packages/cb/d9/a02eb266ab8f29227673cbf5f4b78396fa89616b81b3895343c22fcc46ec/pycollisiondb-0.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fef320099542db76dd4a9adaec30088dea8e402c700e71ddf957f474434df7c4",
                "md5": "76eef832e5104d56fe501317f7811146",
                "sha256": "084452d6cd700e3f205c31769f9f6856dd5a7e148834d380ff2dae9fb2aa7f59"
            },
            "downloads": -1,
            "filename": "pycollisiondb-0.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "76eef832e5104d56fe501317f7811146",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 19779,
            "upload_time": "2023-10-13T13:00:40",
            "upload_time_iso_8601": "2023-10-13T13:00:40.364409Z",
            "url": "https://files.pythonhosted.org/packages/fe/f3/20099542db76dd4a9adaec30088dea8e402c700e71ddf957f474434df7c4/pycollisiondb-0.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-13 13:00:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "xnx",
    "github_project": "pycollisiondb",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pycollisiondb"
}
        
Elapsed time: 2.01528s