diff --git a/README.md b/README.md new file mode 100644 index 0000000..29ca76a --- /dev/null +++ b/README.md @@ -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. \ No newline at end of file diff --git a/modules.json b/modules.json new file mode 100644 index 0000000..41b0af9 --- /dev/null +++ b/modules.json @@ -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" + ] + } +] \ No newline at end of file