scexao-org / camstack

EDT cam stack - python + minimal imgtake.c
5 stars 2 forks source link

[Not a draft anymore] Install system. #19

Closed DasVinch closed 7 months ago

DasVinch commented 10 months ago

Rework of the install system with a pyproject.toml (mostly made by Miles, see #5 ). Avoided re-packaging everything in an src folder.

Factors the camstart scripts into a single file.

cam-***start entry points are still installed, but now point to short functions with a deprecation warning, and then bounce back into the main camera starter at camstack.cam_mains.main:main. The latter spins up the ctrl tmux and runs one of the files from camstack.cam_mains as its main.

Will convert to non-draft PR when the viewer entrypoints are patched too (completely forgot about those...)

mileslucas commented 9 months ago

I like.

Should add auto computer forwarding for cam starts- needs a map for cam name to computer and we either use tmux_remote class or figure out an auto forwarder using sub process or paramiko

DasVinch commented 9 months ago

Note to self - missing:

Agree to the auto-rebounding for the cam_mains. The condition is that it stays interactive and requires a userprompt. I positively don't want people getting the idea that firing commands anywhere "just does it". Also thinking of adding a whitelist of computers where it would work (e.g., WHICHCOMP is also defined on the client computer), because otherwise you'd be able to fire camstart from any endpoint connected to the VPN anywhere in the world without thinking about it, and that's just too much power!

mileslucas commented 9 months ago

Also thinking of adding a whitelist of computers where it would work (e.g., WHICHCOMP is also defined on the client computer)

If you're concerned about security this is pretty flawed, I just have to set an ENV variable locally to overcome it.

Would suggest actual firewall rules whitelisting the PyRO ports for scexao comps

DasVinch commented 9 months ago

If you're concerned about security this is pretty flawed, I just have to set an ENV variable locally to overcome it. Correct :)

It's not really a security concern, it's a protection against user overconfidence into magic, or against test setups on personal computers unadvertently affecting the physical bench

DasVinch commented 8 months ago

I also refactored all viewer code into 3 subpackages, viewertools, viewerclasses and viewermains.

DasVinch commented 8 months ago

Tempted to merge this now to avoid divergence. Still working on additional feature for autorebounding the mains.

DasVinch commented 7 months ago

@mileslucas 'tis ready.

Beware that vcam1 and vcam2 viewers are now entrypoints to camstack.viewers.viewermains.vcam:main1 and main2. I embedded your latest changes with the FocusPlugin and the PA change. vcam1.py and vcam2.py won't work anymore (and are pending an explicit uninstall)