|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)|