Status update of the PyRules project - an extension of the cmd Python library

A few months ago, I proposed to the developers of the SteemSTEM/Utopian ecosystem to start developing together a new program that could help state-of-the-art research for new phenomena in particle physics. The original idea is detailed here.



[image credits: ArXiv]

Many people were enthusiast at that time, and a small group of 5-6 people started working.

A few weeks later, we (more in particular @irelandscape and myself) tackled the first set of proposed tasks.

Whilst we are not done yet (the list of tasks was probably too large for a start of a project), I take the opportunity of this post to report what we did so far.

It does not consist in much, especially because most of us were very busy, but we did some stuff that is available from this GitHub repository.


A new command line interface


Whilst the main task implied to create routines to deal with the parameters associated with a given particle physics theory, we first started to build a command line interface (CLI) that will serve the entire PyRules project.

This command line interface consists in an extension of the Python cmd library, with several features:

  • tab completion;
  • handling command history;
  • preprocessing, processing and post-processing of any command;
  • dealing with parentheses and brackets (as well as other special symbols) that could enter the commands;
  • implementation of the exit and help commands;
  • implementation of the shell command so that we could execute shell commands directly from the CLI.



[ image credits: homemade ]

In addition, a general class to deal with parameters has already been developed. It has the following features:

  • Parameters can be external (value to be provided externally) or internal (value derived from the one of other parameters).
  • Parameters are organized in blocks of parameters with counters as detailed here.
  • Matrix parameters, complex parameters, real parameters can all be handled and their properties are providable.
  • Matrix element indices are tracked as well.

Some other methods allowing to act on the parameters will have to be implemented, but this will be detailed in the next task request.

H2
H3
H4
3 columns
2 columns
1 column
5 Comments