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

in #steemstem5 years ago (edited)

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.

Sort:  

Thank you for your contribution. This project is very interesting and sure ambitious. I can’t wait to see more commands implemented in the PyRules.

According to Utopian policies and guidelines, here are two important ones that you will not want to miss:

To be considered for potential reward, Bug Fixes and New Features should be submitted via Pull Requests. The Pull Request should have been merged within the past 14 days.

Updates on Own Projects may be committed directly, without a Pull Request. To be considered for potential reward, commits should not be older than 14 days.

Merry Christmas and Happy New Year.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Hi @justyy,

Thanks for the report. In this case, there is no pull request because this corresponds the first commit of the project. You should allow for exceptions when one deals with the first commit, IMO.

For the delay... well I was busy and did not find the time to write a post about it. We will be faster in the future.

Happy holidays!

Hello @lemouth,

As it was pointed out by @justyy, submissions are reviewed according to the guidelines for development contributions if the history of the work done is closer to 2 weeks since it's been merged or incorporated in the project. It is quite not clear which history part you would like to get reviewed. The initial part which you probably point to takes place over 2 months. The included image suggests not to focus on the more recent updates of the project.

However, we can see the potential and value of the project and your publishing efforts, which are always on the top level. Therefore, your contribution will be reviewed according to the blog criteria.

As I mentioned above, we have seen many amazing posts published by you. The same quality can be seen here because you are able to put all information into a well-organised and enjoyable format.

I am glad to see that you were able to make progress with the project. Beginnings can be difficult, but it seems that you have overcome all obstacles during the initial stage and created a foundation for the future development of the tool.

I would like to recommend that you put descriptive information in the repository. The Steem users, including Utopians, may see the relation between your updates on Steem and the repository on GitHub. On the other hand, the project lacks a description so people on GitHub have little chance to know what it is about unless they go through the code.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.

[utopian-moderator]

Hi @lemouth-dev!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hi @lemouth-dev!

Your post was upvoted by Utopian.io in cooperation with @steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.

Contribute to Open Source with utopian.io

Learn how to contribute on our website and join the new open source economy.

Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV