Metadata-Version: 2.3
Name: pyheimdall
Version: 0.9.0
Summary: High End Interoperability Module when Data is ALL over the place
Project-URL: Homepage, https://gitlab.huma-num.fr/datasphere/heimdall/python/
Project-URL: Issues, https://gitlab.huma-num.fr/datasphere/heimdall/python/-/issues
Author-email: Régis Witz <regis.witz@cnrs.fr>
License: aGPL
Keywords: databases,hera,interoperability
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Database
Classifier: Topic :: Documentation
Classifier: Topic :: File Formats
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Utilities
Requires-Dist: lxml
Requires-Dist: pyyaml
Provides-Extra: api
Requires-Dist: requests; extra == 'api'
Provides-Extra: dev
Requires-Dist: coverage; extra == 'dev'
Requires-Dist: mysql-connector-python; extra == 'dev'
Requires-Dist: pycodestyle; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pyyaml; extra == 'dev'
Requires-Dist: requests; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Requires-Dist: sphinx-book-theme; extra == 'dev'
Provides-Extra: doc
Requires-Dist: sphinx; extra == 'doc'
Requires-Dist: sphinx-book-theme; extra == 'doc'
Provides-Extra: pep-8
Requires-Dist: pycodestyle; extra == 'pep-8'
Provides-Extra: sql
Requires-Dist: mysql-connector-python; extra == 'sql'
Provides-Extra: tests
Requires-Dist: coverage; extra == 'tests'
Requires-Dist: mysql-connector-python; extra == 'tests'
Requires-Dist: pytest; extra == 'tests'
Requires-Dist: pyyaml; extra == 'tests'
Requires-Dist: requests; extra == 'tests'
Provides-Extra: yaml
Requires-Dist: pyyaml; extra == 'yaml'
Description-Content-Type: text/x-rst

##########
pyHeimdall
##########

.. image:: https://sharedocs.huma-num.fr/wl/?id=bTXaJHOJwSa2swWiqdHxHPbfqMouu38u&fmode=download
   :target: https://datasphere.readthedocs.io/projects/heimdall/en/latest/
   :width: 100%
   :align: center

.. image:: https://img.shields.io/badge/license-AGPL3.0-informational?logo=gnu&color=success
   :target: https://www.gnu.org/licenses/agpl-3.0.html
.. image:: https://www.repostatus.org/badges/latest/wip.svg
   :target: https://www.repostatus.org/#project-statuses
.. image:: https://img.shields.io/badge/documentation-api-green
   :target: https://datasphere.gitpages.huma-num.fr/heimdall/python/doc/

.. image:: https://gitlab.huma-num.fr/datasphere/heimdall/python/badges/main/pipeline.svg
   :target: https://gitlab.huma-num.fr/datasphere/heimdall/python/pipelines/latest
.. image:: https://gitlab.huma-num.fr/datasphere/heimdall/python/badges/main/coverage.svg
   :target: https://datasphere.gitpages.huma-num.fr/heimdall/python/coverage/index.html
.. image:: https://datasphere.gitpages.huma-num.fr/heimdall/python/badges/loc.svg
   :target: https://gitlab.huma-num.fr/datasphere/heimdall/python/-/tree/main/src/heimdall
.. image:: https://datasphere.gitpages.huma-num.fr/heimdall/python/badges/hoc.svg
   :target: https://www.yegor256.com/2014/11/14/hits-of-code.html

*************
What is this?
*************

Heimdall is a tool for converting more easily one or more databases from one format to another.



********************
Why should I use it?
********************

If, for example, you find yourself in one of the following situations...

- you need access to data, but it is not stored in a format compatible with your favorite software...
- you'd prefer to merge several heterogeneous databases into a single corpus, easier to analyze...
- you're considering which input format to use for your software or database...
- you want to make your data more accessible and interoperable...

... then Heimdall can offer you an exchange format, and abstract the details of data implementation: yours, but also those of others.

Thanks to Heimdall, you can also switch from one technology to another in a matter of moments, as and when you need to, without ever losing, disorganizing or corrupting your data.

In a nutshell, **HEIMDALL** is your **H**\ igh **E**\ nd **I**\ nteroperability **M**\ odule when **D**\ ata is **ALL** over the place.
It's a bridge between scattered islands of data.



*****************
How can I use it?
*****************

Setup
=====

You can install Heimdall using the `pip <https://pip.pypa.io/en/stable/>`_ package manager:

.. code-block:: bash

   pip install pyheimdall

You can use `pip <https://pip.pypa.io/en/stable/>`_ to either upgrade or uninstall Heimdall, too:

.. code-block:: bash

   pip install --upgrade pyheimdall
   pip uninstall pyheimdall

Usage
=====

.. code-block:: python

   import heimdall

   config = {
       'format': 'sql:mysql',
       'url': 'mysql://user:password@localhost:3306/database',
   }
   tree = heimdall.getDatabase(**config)



*****************
Is it documented?
*****************

Sure!
Here's `the link <https://datasphere.gitpages.huma-num.fr/heimdall/python/doc/>`_.



*************
Is it tested?
*************

Of course!
Here's `the coverage report <https://datasphere.gitpages.huma-num.fr/heimdall/python/coverage/index.html>`_.


*********************
How can I contribute?
*********************

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

*******
License
*******

`GNU Affero General Public License version 3.0 or later <https://choosealicense.com/licenses/agpl/>`_
