JACoW is a publisher in Geneva, Switzerland that publishes the proceedings of accelerator conferences held around the world by an international collaboration of editors.
TY - CONF AU - Clark, S.L. AU - Dyer, P.S. AU - Nemesure, S. ED - Furukawa, Kazuro ED - Yan, Yingbing ED - Leng, Yongbin ED - Chen, Zhichu ED - Schaa, Volker R.W. TI - Standardizing a Python Development Environment for Large Controls Systems J2 - Proc. of ICALEPCS2021, Shanghai, China, 14-22 October 2021 CY - Shanghai, China T2 - International Conference on Accelerator and Large Experimental Physics Control Systems T3 - 18 LA - english AB - 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. PB - JACoW Publishing CP - Geneva, Switzerland SP - 277 EP - 280 KW - controls KW - network KW - GUI KW - software KW - interface DA - 2022/03 PY - 2022 SN - 2226-0358 SN - 978-3-95450-221-9 DO - doi:10.18429/JACoW-ICALEPCS2021-MOPV049 UR - https://jacow.org/icalepcs2021/papers/mopv049.pdf ER -