This forked repository is for presentation purposes only. The actively maintained repository can be found here.
XDL is a chemical description language for representing chemical procedures in a machine and human-readable way. This package provides an abstract framework for linking this representation to execution on automated synthesis platforms.
git clone https://gitlab.com/croningroup/chemputer/xdl.git
pip install -e xdl
This is a basic usage example. For more detailed usage instructions, see the documentation.
from xdl import XDL
# Load XDL procedure
x = XDL('procedure.xdl')
# Compile XDL procedure to run on specific platform graph
x.prepare_for_execution('procedure_graph.json')
# This line depends which platform you are doing so is just written here as pseudocode.
platform_controller = instantiate_platform_controller(**params)
# Execute XDL procedure on automated platform
x.execute(platform_controller)
If you wish to contribute a change to XDL, please follow this process.
- Submit an issue describing the proposed change and reasons for the change.
- Discuss with the project maintainers until an agreement is reached on the proposed implementation.
- Fork the repo and make your change.
- Add new tests as appropriate, make sure all tests still pass, and make sure the
flake8
lint still passes. - Submit a merge request back to the main repo, and reference the corresponding issue in the merge request.