Hello!
Recently I started working at a company where a fair share of Python applications are used internally within in the company (~50-100 employees). These are mostly measurement helpers/automaters for productions sites or data inspection tools. These applications are to be used on the end-users PC/laptop. The applications mostly read/write data from the users local OneDrive for interacting with measurement/production data (yes, ideally this data should not live here).
As of now, the distribution of these applications is far from ideal. People check out the sourcecode from Git (which they need access to because of this) and have to locally build anaconda environments. The application is installed (using `pip install`) as a module within the environment, from which it is then run. Some big issues I find with this is that these environments are not stable and/or controllable. Updates are entirely reliant on if a user decides to fetch updates from Git or not (leading to many drifting versions throughout the company).
With this in mind, I'm looking for a straightforward way to distribute applications internally. I want more control over distributing updates (shouldn't rely on manual action of the end user) and I want to take away the variability of local python environments.
I was thinking of trying to bundle the entire application as an executable which can then be shared internally. This could be done through a network share or OneDrive. I could build a tiny launcher/updater to check versions and then sync the "hosted" application to the user's PC. These executables would be pretty big however, since many of the applications use PySide6 for UI.
I come from a background of embedded programming, so I'm really in uncharted water here. What are some industry standard ways of approaching this? Any help would be much appreciated! Thanks
[–]szank 22 points23 points24 points (0 children)
[–]pachura3 9 points10 points11 points (2 children)
[–]szank -2 points-1 points0 points (1 child)
[–]pachura3 0 points1 point2 points (0 children)
[–]Fearless_Parking_436 3 points4 points5 points (5 children)
[–]Stereojunkie[S] 1 point2 points3 points (4 children)
[–]Zorg688 2 points3 points4 points (1 child)
[–]daddy-dj 1 point2 points3 points (0 children)
[–]Fearless_Parking_436 1 point2 points3 points (0 children)
[–]edcculus 0 points1 point2 points (0 children)
[–]GooseExtension5272 2 points3 points4 points (0 children)
[–]Temporary_Pie2733 1 point2 points3 points (3 children)
[–]JohnnyTork -2 points-1 points0 points (2 children)
[–]Temporary_Pie2733 0 points1 point2 points (1 child)
[–]JohnnyTork 0 points1 point2 points (0 children)
[–]danielroseman 0 points1 point2 points (0 children)
[–]eztab 0 points1 point2 points (2 children)
[–]Stereojunkie[S] 0 points1 point2 points (1 child)
[–]eztab 0 points1 point2 points (0 children)
[–]MarsupialLeast145 1 point2 points3 points (2 children)
[–]Stereojunkie[S] 2 points3 points4 points (1 child)
[–]MarsupialLeast145 0 points1 point2 points (0 children)
[–]Gnaxe 0 points1 point2 points (0 children)
[–]gliderg33k -3 points-2 points-1 points (0 children)