Metadata-Version: 2.4
Name: pluto-parser
Version: 0.1.0
Summary: Parse PLUTO scripts to Python
Author-email: LibreCube <info@librecube.org>
License: MIT License
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: lark-parser
Requires-Dist: pint
Dynamic: license-file

# Python Pluto Parser

A Python module for parsing PLUTO scripts into native Python code.

PLUTO stands for *Procedure Language for Users in Test and Operations* and is a domain specific language (DSL). It was developed by the European Cooperation for Space Standardization (https://ecss.nl) for the automation of procedures in the development and utilization of space systems (but not limited to it). The PLUTO language is defined in standard [ECSS-E-ST-70-32C](https://ecss.nl/standard/ecss-e-st-70-32c-test-and-operations-procedure-language/).

The advantage of using a DSL rather than general purpose programming language is that the syntax is typically easier to learn, less prone to errors, and focuses on the matter of the domain. In the case of PLUTO, this is the monitoring and control of systems, such as satellites, drones, test facilities, etc.

However, one needs to parse the DSL scripts into an executable code in order to run it. This is what this package is for.

## Installation

Install via pip:

```bash
pip install pluto-parser
```

## Examples

See the [examples folder](examples/) for source PLUTO files and their compiled Python code.

## Documentation

See the [docs folder](docs/) to learn more about how the PLUTO parser works.

## Contribute

To learn more on how to successfully contribute please read the contributing
information in the [LibreCube documentation](https://librecube.gitlab.io/).

## Support

If you are having issues, please let us know. Reach us at
[Matrix](https://app.element.io/#/room/#librecube.org:matrix.org)
or via [Email](mailto:info@librecube.org).

## License

The project is licensed under the MIT license. See the [LICENSE](./LICENSE.txt) file for details.
