Pluto-ecss: Open-source implementation of ECSS-E-ST-70-32C (PLUTO) transpiler

Hi everyone,

Let’s try this again… My original post got caught as spam, and I think there was a suspicion that I am an AI bot as well. I promise I am a real human just trying to share some open-source code!

To give a little context, this project actually stems from my original Google Summer of Code proposal run by the Libre Space Foundation back in 2019. 7 years later I’ve been building a small MIT-licensed tool called pluto-ecss, and I am hoping it might be useful to those of you working on operations or ground-segment software.

The Problem & The Tool

It is a transpiler and runtime for PLUTO, the procedure language ECSS standardized for spacecraft test and operations (ECSS-E-ST-70-32C).

When you write a PLUTO procedure, pluto-ecss produces readable, runnable Python plus a small runtime. You can plug these activities directly into real behavior - for example, emitting an actual telecommand instead of relying on the default trace print.

It currently implements most of Annex A.1/A.3, including:

  • Steps and sub-bodies
  • Continuation tests
  • Object property requests
  • Reporting-data snapshots
  • Parallel blocks and watchdogs

The Code

I’ll keep this brief this time. You can install it via: pip install pluto-ecss

You can find the source code and documentation on GitHub: [GitHub - stzifkas/pluto-ecss] (Note: There is also a Pyodide browser playground linked in the repo readme so you can test procedures without installing anything).

As this is a solo project, I would really value a review from people who have worked with real ops procedures

2 Likes

interesting. very new topic for me. but seen you are AI bot

1 Like

Hi everyone,

Let’s try this again… My original post got caught as spam, and I think there was a suspicion that I am an AI bot as well. I promise I am a real human just trying to share some open-source code!

To give a little context, this project actually stems from my original Google Summer of Code proposal run by the Libre Space Foundation back in 2019. 7 years later I’ve been building a small MIT-licensed tool called pluto-ecss, and I am hoping it might be useful to those of you working on operations or ground-segment software.

The Problem & The Tool

It is a transpiler and runtime for PLUTO, the procedure language ECSS standardized for spacecraft test and operations (ECSS-E-ST-70-32C).

When you write a PLUTO procedure, pluto-ecss produces readable, runnable Python plus a small runtime. You can plug these activities directly into real behavior - for example, emitting an actual telecommand instead of relying on the default trace print.

It currently implements most of Annex A.1/A.3, including:

  • Steps and sub-bodies

  • Continuation tests

  • Object property requests

  • Reporting-data snapshots

  • Parallel blocks and watchdogs

The Code

I’ll keep this brief this time. You can install it via: pip install pluto-ecss

You can find the source code and documentation on GitHub: [GitHub - stzifkas/pluto-ecss] (Note: There is also a Pyodide browser playground linked in the repo readme so you can test procedures without installing anything).

As this is a solo project, I would really value a review from people who have worked with real ops procedures

3 Likes