Skip to content

Python interface to MAD-NG running as subprocess

License

Notifications You must be signed in to change notification settings

MethodicalAcceleratorDesign/MAD-NG.py

Repository files navigation

PyMAD-NG

Python interface to MAD-NG running as a subprocess

PyPI version Documentation Status License


🚀 Installation

Install via pip from PyPI:

pip install pymadng

🧠 Getting Started

Before diving into PyMAD-NG, we recommend you:

  1. Familiarise yourself with MAD-NG — understanding MAD-NG is essential.
  2. Read the Quick Start Guide to see how to control MAD-NG from Python.

Explore Key Examples

If anything seems unclear:


📚 Documentation

Full documentation and example breakdowns are hosted at: https://pymadng.readthedocs.io/en/latest/

To build locally:

git clone https://github.com/MethodicalAcceleratorDesign/MAD-NG.py.git
cd MAD-NG.py/docs
make html

🧪 Running Examples

Examples are stored in the examples/ folder. Run any script with:

python3 examples/ex-fodos.py

You can also batch-run everything using:

python3 runall.py

💡 Features

  • High-level Python interface to MAD-NG
  • Access to MAD-NG functions, sequences, optics, and tracking
  • Dynamic send() and recv() communication
  • Python-native handling of MAD tables and expressions
  • Optional integration with pandas and tfs-pandas

🤝 Contributing

We welcome contributions! See CONTRIBUTING.md or the Contributing Guide in the docs.

Bug reports, feature requests, and pull requests are encouraged.


📜 License

PyMAD-NG is licensed under the GNU General Public License v3.0.


🙌 Acknowledgements

Built on top of MAD-NG, developed at CERN. This interface aims to bring MAD's power to the Python ecosystem with minimal friction.

About

Python interface to MAD-NG running as subprocess

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages