Skip to content
This repository has been archived by the owner on May 14, 2024. It is now read-only.

Measure 2.2 “Open Interfaces” of the Mathematical Research Data Initiative (MaRDI) project

Notifications You must be signed in to change notification settings

dmitry-kabanov/mardi-open-interfaces-new-attempt

Repository files navigation

Description

This repository contains toy example that I am working on to understand how to develop open-interface project within MaRDI initiative.

This toy example investigates how to connect users using Python with software written in C and Python using a broker library in-between.

Installation for development

Use conda or mamba package manager:

mamba env create -n env-name -f environment-linux.yaml

if you use Linux or

mamba env create -n env-name -f environment-macos.yaml

Build

To build the software, use command

    make

which invokes underlying CMake build and builds software inside the build directory.

Quality assurance during development

To ensure code consistency, we use pre-commit. It is configured to run multiple checks for formatting and trailing whitespace for all source code in the repo. During development, the checks can be run automatically by installing a pre-commit Git hook:

pre-commit install

or by invoking it manually via

pre-commit run --all-files

We recommend running it automatically so that the code is pushed only after formatting checks.

Run examples

One needs set PYTHONPATH:

export PYTHONPATH=src/oif/backend_python/src:

Run examples from Python

To run examples on invoking quadratic solver from Python, run

python examples/call_qeq_from_python.py [c|python]

where backend specification is optional and defaults to C backend.

Run examples from C

To run examples on invoking quadratic solver from Python, run

build/examples/call_qeq_from_c [c|python]

where backend specification is optional and defaults to C backend.

About

Measure 2.2 “Open Interfaces” of the Mathematical Research Data Initiative (MaRDI) project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published