Updated module list and README.

This commit is contained in:
jupfi 2024-05-01 16:44:16 +02:00
parent 11d2f08c75
commit 1c81256abc
2 changed files with 76 additions and 0 deletions

20
README.md Normal file
View file

@ -0,0 +1,20 @@
# NQRduck Modules
This repository contains a json file with different modules used for the nqrduck program.
It is manually maintained and updated.
## Structure
Different modules can be added to the json file `modules.json`.
Every module in the json file start with the `name` key. The value of the key is a string which is the name of the module.
Additionally, the json also has the option to add a `description` for the module.
A `platform` can be specified for the module. This is done by adding a `platform` key to the module. The value of the key is a string which is the platform the module is intended for. For windows, the value should be `win`. For linux, the value should be `linux`
One can add a `source` for the module which can be either a link to a git repository or a simple string.
If the `source` is a simple string, the module is assumed to be available via PyPi.
Dependencies between different nqrduck modules can be specified in the json file. This is done by adding a `dependencies` key to the module. The value of the key is a list of strings. Each string is the name of a module that the current module depends on.
## Example
Check the `modules.json` file for an example of how the json file should be structured.

56
modules.json Normal file
View file

@ -0,0 +1,56 @@
[
{
"name": "nqrduck-spectrometer",
"description": "Base module for all of the different spectrometer implementations",
"source": "nqrduck-spectrometer"
},
{
"name": "nqrduck-spectrometer-limenqr",
"description": "A module for control of a LimeSDR based spectrometer",
"platforms": [
"linux"
],
"source": "nqrduck-spectrometer-limenqr",
"dependencies": [
"nqrduck-spectrometer"
]
},
{
"name": "nqrduck-spectrometer-simulator",
"description": "A module for simulating magnetic resonance experiments",
"source": "nqrduck-spectrometer-simulator",
"dependencies": [
"nqrduck-spectrometer"
]
},
{
"name": "nqrduck-pulseprogrammer",
"description": "A module for graphical pulse sequence programming",
"source": "nqrduck-pulseprogrammer",
"dependencies": [
"nqrduck-spectrometer"
]
},
{
"name": "nqrduck-measurement",
"description": "A module for performing spectroscopy measurements",
"source": "nqrduck-measurement",
"dependencies": [
"nqrduck-spectrometer",
"nqrduck-pulseprogrammer"
]
},
{
"name": "nqrduck-autotm",
"description": "A module for automatic tuning and matching of the probe coils",
"source": "nqrduck-autotm"
},
{
"name": "nqrduck-broadband",
"description": "A module for broadband magnetic resonance measurements",
"source": "nqrduck-broadband",
"dependencies": [
"nqrduck-spectrometer"
]
}
]