Skip to main content

Lightweight data-centric framework for working with scientific data

Project description

DLite

Lightweight data-centric interoperability framework for working with scientific data

CI tests GitHub release (latest by date) PyPi

Content

DLite is a lightweight interoperability framework, for working with and sharing scientific.

About DLite

DLite is a C implementation of the SINTEF Open Framework and Tools (SOFT), which is a set of concepts and tools for how to efficiently describe and work with scientific data.

All data in DLite is represented by an Instance, which is build on a simple data model. An Instance is identified by a unique UUID and have a set of named dimensions and properties. It is described by its Metadata. In the Metadata, each dimension is given a name and description (optional) and each property is given a name, type, shape (optional), unit (optional) and description (optional). The shape of a property refers to the named dimensions.

When an Instance is instantiated, you must suply a value to the named dimensions. The shape of the properties will be set according to that. This ensures that the shape of the properties are internally consistent.

A Metadata is also an Instance, and hence described by its meta-metadata. By default, DLite defines four levels of metadata; instance, metadata, metadata schema and basic metadata schema. The basic metadata schema describes itself, so no further meta levels are needed. The idea is if two different systems describes their data model in terms of the basic metadata schema, they can easily be made semantically interoperable.

The datamodel of DLite.

An alternative and more flexible way to enable interoperability is to use a common ontology. DLite provides a specialised Instance called Collection. A collection is essentially a container holding a set of Instances and relations between them. But it can also relate an Instance or even a dimension or property of an instance to a concept in an ontology. DLite allows to transparently map an Instance whos Metadata corresponding to a concept in one ontology to an Instance whos Metadata corresponding to a concept in another ontology. Such mappings can easily be registered (in C or Python) and reused, providing a very powerful system for achieving interoperability.

DLite provides also a common and extendable API for loading/storing Instances from/to different storages. New storage plugins can be written in C or Python.

See doc/concepts.md for more details.

DLite is licensed under the MIT license.

Example

Lets say that you have the following Python class

class Person:
    def __init__(self, name, age, skills):
        self.name = name
        self.age = age
        self.skills = skills

that you want to describe semantically. We do that by defining the following metadata (using json) identifying the Python attributes with dlite properties. Here we define name to be a string, age to be a float and skills to be an array of N strings, where N is a name of a dimension. The metadata uniquely identifies itself with the "name", "version" and "namespace" fields and "meta" refers the the metadata schema (meta-metadata) that this metadata is described by. Finally are human description of the metadata itself, its dimensions and its properties provide in the "description" fields.

{
  "name": "Person",
  "version": "0.1",
  "namespace": "http://onto-ns.com/meta",
  "meta": "http://onto-ns.com/meta/0.3/EntitySchema",
  "description": "A person.",
  "dimensions": [
    {
      "name": "N",
      "description": "Number of skills."
    }
  ],
  "properties": [
    {
      "name": "name",
      "type": "string",
      "description": "Full name."
    },
    {
      "name": "age",
      "type": "float",
      "unit": "year",
      "description": "Age of person."
    },
    {
      "name": "skills",
      "type": "string",
      "dims": ["N"],
      "description": "List of skills."
    }
  ]
}

We save the metadata in file "Person.json". Back in Python we can now make a dlite-aware subclass of Person, instantiate it and serialise it to a storage:

import dlite

# Create a dlite-aware subclass of Person
DLitePerson = dlite.classfactory(Person, url='json://Person.json')

# Instantiate
person = DLitePerson('Sherlock Holmes', 34., ['observing', 'chemistry',
    'violin', 'boxing'])

# Write to storage (here a json file)
person.dlite_inst.save('json://homes.json?mode=w')

To access this new instance from C, you can first generate a header file from the meta data

$ dlite-codegen -f c-header -o person.h Person.json

and then include it in your C program:

// homes.c -- sample program that loads instance from homes.json and prints it
#include <stdio.h>
#include <dlite.h>
#include "person.h"  // header generated with dlite-codegen

int main()
{
  /* URL of instance to load using the json driver.  The storage is
     here the file 'homes.json' and the instance we want to load in
     this file is identified with the UUID following the hash (#)
     sign. */
  char *url = "json://homes.json#315088f2-6ebd-4c53-b825-7a6ae5c9659b";

  Person *person = (Person *)dlite_instance_load_url(url);

  int i;
  printf("name:  %s\n", person->name);
  printf("age:   %g\n", person->age);
  printf("skills:\n");
  for (i=0; i<person->N; i++)
    printf("  - %s\n", person->skills[i]);

  return 0;
}

Now run the python file and it would create a homes.json file, which contains an entity information. Use the UUID of the entity from the homes.json file, and update the url variable in the homes.c file.

Since we are using dlite_instance_load_url() to load the instance, you must link to dlite when compiling this program. Assuming you are using Linux and dlite in installed in $HOME/.local, compiling with gcc would look like:

$ gcc homes.c -o homes -I$HOME/.local/include/dlite -L$HOME/.local/lib -ldlite -ldlite-utils

Or if you are using the development environment , you can compile using:

$ gcc -I/tmp/dlite-install/include/dlite -L/tmp/dlite-install/lib -o homes homes.c -ldlite -ldlite-utils

Finally you can run the program with

$ DLITE_STORAGES=*.json ./homes
name:  Sherlock Holmes
age:   34
skills:
  - observing
  - chemistry
  - violin
  - boxing

Note that we in this case have to define the environment variable DLITE_STORAGES in order to let dlite find the metadata we stored in 'Person.json'. There are ways to avoid this, e.g. by hardcoding the metadata in C using dlite-codegen -f c-source or in the C program explicitely load 'Person.json' before 'homes.json'.

This was just a brief example. There is much more to dlite. Since the documentation is still not complete, the best source is the code itself, including the tests and examples.

Main features

See doc/features.md for a more detailed list.

  • Enables semantic interoperability via simple formalised metadata and data
  • Metadata can be linked to or generated from ontologies
  • Code generation for simple integration in existing code bases
  • Plugin API for data storages (json, hdf5, rdf, yaml, postgresql, blob, csv...)
  • Plugin API for mapping between metadata
  • Bindings to C, Python and Fortran

Installing DLite

Installing with pip

If you are using Python, the easiest way to install DLite is with pip:

pip install DLite-Python

Note, currently only Linux versions for Python 3.7, 3.8, 3.9 and 3.10 are available. But Windows versions will soon be available.

Docker image

A docker image is available on https://github.com/SINTEF/dlite/packages.

Compile from sources

The sources can be cloned from GitHub

git clone ssh://git@git.code.sintef.no/sidase/dlite.git

Dependencies

Runtime dependencies

  • HDF5, optional (needed by HDF5 storage plugin)
  • librdf, optional (needed by RDF (Redland) storage plugin)
  • Python 3, optional (needed by Python bindings and some plugins)
    • NumPy, required if Python is enabled
    • PyYAML, optional (used for generic YAML storage plugin)
    • psycopg2, optional (used for generic PostgreSQL storage plugin)
    • pandas, optional (used for csv storage plugin)

Build dependencies

  • cmake, required for building
  • hdf5 development libraries, optional (needed by HDF5 storage plugin)
  • librdf development libraries, optional (needed by librdf storage plugin)
  • Python 3 development libraries, optional (needed by Python bindings)
  • NumPy development libraries, optional (needed by Python bindings)
  • SWIG v3, optional (needed by building Python bindings)
  • Doxygen, optional, used for documentation generation
  • valgrind, optional, used for memory checking (Linux only)
  • cppcheck, optional, used for static code analysis

Compiling

Build and install with Python

Given you have a C compiler and Python correctly installed, you should be able to build and install dlite via the python/setup.py script:

cd python
python setup.py install

Build on Linux

Install the hdf5 (does not include the parallel component) libraries

On Ubuntu:

sudo apt-get install libhdf5-serial-dev

On Redhad-based distributions (Fedora, Centos, ...):

sudo dnf install hdf5-devel

Build with:

mkdir build
cd build
cmake ..
make

Before running make, you may wish to configure some options with ccmake ..

For example, you might need to change CMAKE_INSTALL_PREFIX to a location accessible for writing. Default is ~/.local

To run the tests, do

make test        # same as running `ctest`
make memcheck    # runs all tests with memory checking (requires
                 # valgrind)

To generate code documentation, do

make doc         # direct your browser to build/doc/html/index.html

To install dlite locally, do

make install

Build on Windows

See here for detailed instructions for building with Visual Studio.

Quick start with VS Code and Remote Container

Using Visual Studio Code it is possible to do development on the system defined in Dockerfile.

  1. Download and install Visual Studio Code.
  2. Install the extension Remote Development.
  3. Clone dlite and initialize git modules: git submodule update --init.
  4. Open the dlite folder with VS Code.
  5. Start VS Code, run the Remote-Containers: Open Folder in Container... command from the Command Palette (F1) or quick actions Status bar item. This will build the container and restart VS Code in it. This may take some time the first time as the Docker image must be built. See Quick start: Open an existing folder in a container for more information and instructions.
  6. In the container terminal, perform the first build and tests with mkdir /workspace/build; cd /workspace/build; cmake ../dlite; make && make test.

Setting up the environment

If dlite is installed in a non-default location, you may need to set the PATH, LD_LIBRARY_PATH, PYTHONPATH and DLITE_ROOT environment variables. See the documentation of environment variables for more details.

An example of how to use dlite is shown above. See also the examples in the examples directory for how to link to dlite from C and use of the Fortran bindings.

Short vocabulary

The following terms have a special meaning in dlite:

  • Basic metadata schema: Toplevel meta-metadata which describes itself.
  • Collection: A specialised instance that contains references to set of instances and relations between them. Within a collection instances are labeled. See also the SOFT5 nomenclauture.
  • Data instance: A "leaf" instance that is not metadata.
  • Entity: May be any kind of instance, including data instances, metadata instances or meta-metadata instances. However, for historical reasons it is often used for "standard" metadata that are instances of meta-metadata "http://onto-ns.com/meta/0.3/EntitySchema".
  • Instance: The basic data object in DLite. All instances are described by their metadata which itself are instances. Instances are identified by an UUID.
  • iri: An internationalized resource identifier (IRI) is the extension of URI to international characters. In dlite, the term "iri" is used as a reference to a concept in an ontology providing a semantic definition of an instance or property.
  • Mapping: A function that maps one or more input instances to an output instance. They are an important mechanism for interoperability. Mappings are called translators in SOFT5.
  • Metadata: a special type of instances that describe other instances. All metadata are immutable and has an unique URI in addition to their UUID.
  • Meta-metadata: metadata that describes metadata.
  • Relation: A subject-predicate-object triplet with an id. Relations are immutable.
  • Storage: A generic handle encapsulating actual storage backends.
  • Transaction: A not yet implemented feature, that enables to represent the evolution of the state of a software as a series of immutable instances. See also the SOFT5 nomenclauture.
  • uri: A uniform resource identifier (URI) is a generalisation of URL, but follows the same syntax rules. In dlite, the term "uri" is used as an human readable identifier for instances (optional for data instances) and has the form namespace/version/name.
  • url: A uniform resource locator (URL) is an reference to a web resource, like a file (on a given computer), database entry, web page, etc. In dlite url's refer to a storage or even an specific instance in a storage using the general syntax driver://location?options#fragment, where options and fragment are optional. If fragment is provided, it should be the uuid or uri of an instance.
  • uuid: A universal unique identifier (UUID) is commonly used to uniquely identify digital information. DLite uses the 36 character string representation of uuid's to uniquely identify instances. The uuid is generated from the uri for instances that has an uri, otherwise it is randomly generated.

License

DLite is licensed under the MIT license. However, it include a few third party source files with other permissive licenses. All of these should allow dynamic and static linking against open and propritary codes. A full list of included licenses can be found in LICENSES.txt.

Acknowledgment

In addition from internal funding from SINTEF and NTNU this work has been supported by several projects, including:

  • AMPERE (2015-2020) funded by Forskningsrådet and Norwegian industry partners.
  • FICAL (2015-2020) funded by Forskningsrådet and Norwegian industry partners.
  • SFI Manufacturing (2015-2023) funded by Forskningsrådet and Norwegian industry partners.
  • SFI PhysMet(2020-2028) funded by Forskningsrådet and Norwegian industry partners.
  • OntoTrans (2020-2024) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 862136.
  • OpenModel (2021-2025) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 953167.
  • VIPCOAT (2021-2025) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 952903.

DLite is developed with the hope that it will be a delight to work with.

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

DLite-Python-0.3.7.tar.gz (22.0 kB view details)

Uploaded Source

Built Distributions

DLite_Python-0.3.7-cp310-cp310-win_amd64.whl (290.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

DLite_Python-0.3.7-cp310-cp310-musllinux_1_1_i686.whl (308.8 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

DLite_Python-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

DLite_Python-0.3.7-cp39-cp39-win_amd64.whl (290.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

DLite_Python-0.3.7-cp39-cp39-musllinux_1_1_i686.whl (308.9 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

DLite_Python-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

DLite_Python-0.3.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

DLite_Python-0.3.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (6.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

DLite_Python-0.3.7-cp38-cp38-win_amd64.whl (290.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

DLite_Python-0.3.7-cp38-cp38-musllinux_1_1_i686.whl (308.8 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

DLite_Python-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

DLite_Python-0.3.7-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

DLite_Python-0.3.7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (6.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

DLite_Python-0.3.7-cp37-cp37m-win_amd64.whl (290.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

DLite_Python-0.3.7-cp37-cp37m-musllinux_1_1_i686.whl (309.1 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

DLite_Python-0.3.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

DLite_Python-0.3.7-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

DLite_Python-0.3.7-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl (6.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

File details

Details for the file DLite-Python-0.3.7.tar.gz.

File metadata

  • Download URL: DLite-Python-0.3.7.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite-Python-0.3.7.tar.gz
Algorithm Hash digest
SHA256 9f57940d40133b78f4d968112d95f6fc5f7687f44eefc69bd9f0f91fe9abe605
MD5 5921e66749080505ec1e1e4187ca6f64
BLAKE2b-256 29c199fc6da8cb240e103e0fd71146f64f592ecbdb4adfb7eb08a2b7cd3e68e5

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 290.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cf9e9976226c9dd3cd5ec219130ba5c4ac2acfc0d21f06d550dcf8c6920dd9e7
MD5 a5b8a104bb9270b2015b1a77a2a9d9a4
BLAKE2b-256 6e387003dc7b88ebadc95405446929dc5cf27fbf409efdbf09071d9ea8592cc3

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp310-cp310-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 308.8 kB
  • Tags: CPython 3.10, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 fd8000c32d99b6ea3f593668b9eabdd133b4de896d768d0833e2469176bea1b3
MD5 ead8e015385f3b0cacc0c064cfce1817
BLAKE2b-256 bec7ad749d424b26f11b959e7c4f0bed2b30362e1362f446e2c8e6be31edde86

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 15.9 MB
  • Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6992e7f4b92949f393b7da8f22fc2f8bc62e6412deb7e95e3f0f8dc8b7efbcc7
MD5 cd70db1be73b4e4a98f545bd49cca432
BLAKE2b-256 e91c08d2d89c9227f93655104c34c876e79c5c37cc547cd6167cc3e5a4648615

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 290.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 341f9d0ce261d4ea64e90c0c37320b8a63af307228a7cd3b579e89d6806ed548
MD5 55ec53d7995a3d22290a62c3b5561bd0
BLAKE2b-256 aebc0ab5f08b81e8a0af35c8066bf5ab4637863caea60d97fca0b2487566cf7a

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp39-cp39-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 308.9 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 277c6ee5d0903911bbec06d95272590b221a6dfbf78aae57fc62ced502bb9d57
MD5 4e74afd6fcd48b4cf5a0e41701496cda
BLAKE2b-256 a34913aeed710c08db2cd690f04beb1e9e7f2cf49342cf7a4b04169f724a7251

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 15.9 MB
  • Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ced613d7a032d19818bb2f82959bea6300f37ea22a61b615296cb838eb9291a
MD5 e80f818c5072f45468f28697a92db7f3
BLAKE2b-256 acde470ee11b3336f78eed6e79ddd4609e7eeca8c3bcbe5e04338a1cd69294a1

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 639eb5f4b6213e84bb3a0ada63047596569de7b1da67a166e822c35a542a82c6
MD5 c4406626136a8a25dc475ff908a1d828
BLAKE2b-256 3f5bbcf96a6d943daadce59ff4b2807bac1b585a55ea4c45fc5ac178c34f09e0

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 bbccd85af0d0e1fd6b847f833f5dcd1e3ac845bac4883752bda29019f4ee50f5
MD5 af8d001c1acb4431df34f3a81626a234
BLAKE2b-256 f8956b3f17860a7f57ab24cb9138d66af6279366bb6c68b5d6236601bead8975

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 290.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 834bbd3eee7fe276cfc5b9bc93414734ee13ad907ce5e8197ce9b0b6fd8b00f2
MD5 68b7ada84d74071b9cd99f73e08eec05
BLAKE2b-256 ff2f6a952509078c8c5d684913f9627a76da271c6f5cf5cf8b92ce6a203bd98b

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp38-cp38-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 308.8 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 f2236356a936086857864f46fc9f7cd4ae3a652a3028f17120a6a65200593160
MD5 179ffd36dab8b37600815f85e24a360f
BLAKE2b-256 27d139c7e3f66ea7f16f19b2712f19951de86614eb546ce052f40198e4691544

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 15.9 MB
  • Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e02076b16150a1b52e6eee686dc7ab09d6abeab279adaba322815fbb635339c5
MD5 1a10ab890f294057466dbfc5baeb649c
BLAKE2b-256 10c32b7a0bba8a2c070a7cc1efce5ca09d17310dcf94cf7e9dd10c28dc54c093

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 23d383a99389a470c7e5a5e588da20fdf33062fa9dd60062db6623fcd038e83f
MD5 3d30afe5a8b9a5d5718cd14e82269aef
BLAKE2b-256 1ba0395034545efa73875fe3a12072ebb9233767052971013efec0748ca7c1a9

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 0243091a7ea9591c3e7daea78a3f28231e6f1989e4ec5520f573668b09982d21
MD5 84187fbb2097cefebae53d7b5e15bcb4
BLAKE2b-256 03dbe1b915b24dfc1f74e588bbd6421ff95fbd20441c0290c516054b83004ede

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 290.1 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 edf078b56863f1929f16f5d371a65716137f936344a5fff0192a43a222b9b296
MD5 01f9af16c4a3e0c9dfc7d0acdd9a79b7
BLAKE2b-256 9b82a41ecbf956ed242e64be59cce91531a2b348ad8ae654e17d732bcfc9e181

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp37-cp37m-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 309.1 kB
  • Tags: CPython 3.7m, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 ad9e7fcdc7fe3b37d1619fe2a0bdbc0d9b24c0cf218c850dada74eb7b7b31f1b
MD5 e7867f38425b934bee427ca508711846
BLAKE2b-256 7edb1a8b75ac5a0b19694ecbd9c87950da6c343aeeffca188afca92b87c4f250

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 15.9 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a9ed848fda1e5b560caa2b9c561b16979c31dc30a35abb69148c18ad25f4be78
MD5 13076b36d40434e0ece657f091ea5d55
BLAKE2b-256 e8faad315feb8371e38885d228fb28ad5f86a4b2b3bd9e006de1762b0cf79f90

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 bb68745b9ce1b2743917e85e6d76ea23f5a366f8aa581d78e41597f345939530
MD5 1e8d696e2d540d360ab73cdc34489bf3
BLAKE2b-256 20863d6c8dd1ec3021594103bc3a3b549e9c3cfde0b3058d4b709e36e0bd3e29

See more details on using hashes here.

File details

Details for the file DLite_Python-0.3.7-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

  • Download URL: DLite_Python-0.3.7-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for DLite_Python-0.3.7-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 757e61b51d107336b0b4bc9cc3295e927ef252ecb991bc08ace5ea58c762cf00
MD5 085fef904a56444809963498538419a4
BLAKE2b-256 7ed2f36096d2c59e922120f1abc0f3ccce096f7a1db665fbe2ff10fa9214193e

See more details on using hashes here.

Supported by

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