Skip to main content

High End Interoperability Module when Data is ALL over the place

Project description

https://gitlab.huma-num.fr/datasphere/doc/assets/-/raw/main/banners/HEIMDALL.png License Project status PyPI - Python Version GitLab - Latest release Digital Object Identifier (DOI) API Documentation Build status Code coverage Open Source Security Foundation (OpenSSF) best practices badge

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 High End Interoperability Module when Data 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 package manager:

pip install pyheimdall

You can use pip to either upgrade or uninstall Heimdall, too:

pip install --upgrade pyheimdall
pip uninstall pyheimdall

Usage

import heimdall

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

Is it documented?

Sure! You can read the user manual here, or jump directly to the technical reference here. You can use Python’s build-in help function, too.

Is it tested?

Of course! Here’s the coverage report.

You can run all tests on your machine, too. After having cloned this repository, enter it, setup your dev environment, and then:

pytest

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

Acknowledgments

Heimdall would like to thank all its contributors and users for their support and feedback. ʕᵔᴥᵔʔ

rwitz
rwitz 💡💻✅📝
emichelet
emichelet 💻💡
abrody
abrody 💻
evankote
evankote 📝✅
mbenkhalid
mariebizaislillig gporte
gporte 💡✅
cplancq
cplancq 🐛✅
tbrissetsabouraud

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyheimdall-1.2.2.tar.gz (52.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyheimdall-1.2.2-py2.py3-none-any.whl (65.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pyheimdall-1.2.2.tar.gz.

File metadata

  • Download URL: pyheimdall-1.2.2.tar.gz
  • Upload date:
  • Size: 52.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for pyheimdall-1.2.2.tar.gz
Algorithm Hash digest
SHA256 284e7c76eff1308b15699fb9ea16eb2eda7e6b41dc2e068be29ddadd13c536e4
MD5 9ca5976e87e318d3e3994e226de9fc02
BLAKE2b-256 cc3c138cc5d9e7da071d8db9ea2f0474374209a34558a7c0921a0cffc6208233

See more details on using hashes here.

File details

Details for the file pyheimdall-1.2.2-py2.py3-none-any.whl.

File metadata

  • Download URL: pyheimdall-1.2.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 65.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for pyheimdall-1.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 310773845f86ea69b15618c619044985d668c1d024fe089fc396027c961f7180
MD5 c8ad9a87def8d1f5cbcffb2ac1786b1f
BLAKE2b-256 7aeb309316ad74931d9386569d2555ebe7b6d38f94b68f55f476c1e4f17d9c76

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page