Skip to main content
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

Metadata

Release files for pyheimdall 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyheimdall 1.2.2
File Size Uploaded
pyheimdall-1.2.2.tar.gz 52.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyheimdall 1.2.2
File Interpreter ABI Platform
pyheimdall-1.2.2-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 117.7 kB

Release files / pyheimdall-1.2.2.tar.gz

Download URL pyheimdall-1.2.2.tar.gz
Size 52.7 kB
Tags Source
SHA-256 checksum
How to use checksums
284e7c76eff1308b15699fb9ea16eb2eda7e6b41dc2e068be29ddadd13c536e4
BLAKE2b-256 checksum
How to use checksums
cc3c138cc5d9e7da071d8db9ea2f0474374209a34558a7c0921a0cffc6208233
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyheimdall-1.2.2-py2.py3-none-any.whl

Download URL pyheimdall-1.2.2-py2.py3-none-any.whl
Size 65.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
310773845f86ea69b15618c619044985d668c1d024fe089fc396027c961f7180
BLAKE2b-256 checksum
How to use checksums
7aeb309316ad74931d9386569d2555ebe7b6d38f94b68f55f476c1e4f17d9c76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

1.2.2 This release

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.14.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page