Metadata-Version: 2.1
Name: yamcs-pymdb
Version: 1.0.4
Summary: Generate XTCE for use with Yamcs
Home-page: https://github.com/yamcs/pymdb
Author: Space Applications Services
Author-email: yamcs@spaceapplications.com
License: LGPL
Keywords: packet telemetry ccsds xtce yamcs
Platform: Posix; MacOS X; Windows
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE

# Yamcs PyMDB

> [!WARNING]
> This software is in beta development status. Documentation is limited, and API is subject to change.
>
> If you'd like to try it out, have a look at the [examples](https://github.com/yamcs/pymdb/tree/master/examples) which explain the base setup for either CCSDS or CSP-style packets. Other common formats will be added over time.

```
pip install yamcs-pymdb
```

Use this Python library to generate XTCE XML files for use with [Yamcs Mission Control](https://yamcs.org):

```python
from yamcs.pymdb import *

spacecraft = System("Spacecraft")

param1 = IntegerParameter(
    system=spacecraft,
    name="param1",
    signed=False,
    encoding=uint8_t,
)

param2 = EnumeratedParameter(
    system=spacecraft,
    name="param2",
    choices=[
        (0, "SUCCESS"),
        (-1, "ERROR"),
    ],
    encoding=int8_t,
)

# Emit an XML that conforms to XTCE
print(spacecraft.dumps())
```

## License

LGPL-3.0. See [LICENSE](https://github.com/yamcs/pymdb/blob/master/LICENSE)
