Paper | Title | Page |
---|---|---|
MOPV049 | Standardizing a Python Development Environment for Large Controls Systems | 277 |
|
||
Funding: Work supported by Brookhaven Science Associates, LLC under Contract No. DE-SC0012704 with the U.S. Department of Energy. Python provides broad design freedom to programmers and a low barrier of entry for new software developers. These aspects have proven that unless standardized, a Python codebase will tend to diverge from a common style and architecture, becoming unmaintainable across the scope of a large controls system. Mitigating these effects requires a set of tools, standards, and procedures developed to assert boundaries on certain aspects of Python development – namely project organization, version management, and deployment procedures. Common tools like Git, GitLab, and virtual environments form a basis for development, with in-house utilities presenting their capabilities in a clear, developer-focused way. This paper describes the necessary constraints needed for development and deployment of large-scale Python applications, the function of the tools which comprise the development environment, and how these tools are leveraged to create simple and effective procedures to guide development. |
||
Poster MOPV049 [0.476 MB] | ||
DOI • | reference for this paper ※ https://doi.org/10.18429/JACoW-ICALEPCS2021-MOPV049 | |
About • | Received ※ 04 October 2021 Revised ※ 20 October 2021 Accepted ※ 20 November 2021 Issue date ※ 20 December 2021 | |
Cite • | reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml) | |