panoptes.pocs.utils.cli package

Submodules

panoptes.pocs.utils.cli.camera module

panoptes.pocs.utils.cli.camera.setup_cameras(detect_dslr: bool = True, detect_zwo: bool = True, asi_library_path: Path = None) None[source]

Set up the config for the cameras.

  1. Try to detect DSLRs via gphoto2.

  2. Try to detect ZWOs via ZWO SDK.

    a). Look for filterwheel.

  3. Update config options for camera.

  4. Update camera with any initialization settings.

  5. Take a test picture with each camera.

panoptes.pocs.utils.cli.camera.take_pictures(num_images: int = 1, exptime: float = 1.0, output_dir: str = '/home/panoptes/images', delay: float = 0.0) Dict[str, List[Path]] | None[source]

Takes pictures with cameras.

panoptes.pocs.utils.cli.config module

class panoptes.pocs.utils.cli.config.HostInfo(*, host: str = '127.0.0.1', port: int = 6563, verbose: bool = False)[source]

Bases: BaseModel

Metadata for the Config Server

host: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

port: int
property url
verbose: bool
panoptes.pocs.utils.cli.config.get_value(key: str | None = <typer.models.ArgumentInfo object>, parse: bool = <typer.models.OptionInfo object>)[source]

Get an item from the config

panoptes.pocs.utils.cli.config.main(context: Context)[source]
panoptes.pocs.utils.cli.config.restart()[source]

Restart the config server process via supervisorctl

panoptes.pocs.utils.cli.config.server_running()[source]

Check if the config server is running

panoptes.pocs.utils.cli.config.set_value(key: str = <typer.models.ArgumentInfo object>, value: str = <typer.models.ArgumentInfo object>)[source]

Get an item from the config

panoptes.pocs.utils.cli.config.setup()[source]

Do initial setup of the config server

panoptes.pocs.utils.cli.config.status()[source]

panoptes.pocs.utils.cli.main module

panoptes.pocs.utils.cli.mount module

panoptes.pocs.utils.cli.mount.get_target_coords(target: str, location: dict, is_comet: bool = False)[source]

Get the coordinates of the target.

panoptes.pocs.utils.cli.mount.park_mount(confirm: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7e591a63bc50>] = False)[source]

Parks the mount.

Warning: This will move the mount to the park position but will not do any safety checking. Please make sure the mount is safe to park before running this command.

panoptes.pocs.utils.cli.mount.search_for_home(confirm: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7e591a6541a0>] = False)[source]

Searches for the mount home position.

Warning: This will move the mount to the home position but will not do any safety checking. Please make sure the mount is safe to move before running this command.

panoptes.pocs.utils.cli.mount.set_park_position(confirm: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7e591a63bda0>] = False)[source]

Sets the park position.

Warning: This will move the mount to the park position but will not do any safety checking. Please make sure the mount is safe to move before running this command.

panoptes.pocs.utils.cli.mount.setup_mount(confirm: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7e591a6542c0>] = False)[source]

Sets up the mount port, type, and firmware.

panoptes.pocs.utils.cli.mount.slew_to_home(confirm: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7e591a63be60>] = False)[source]

Slews the mount home position.

Warning: This will move the mount to the home position but will not do any safety checking. Please make sure the mount is safe to move before running this command.

panoptes.pocs.utils.cli.mount.slew_to_target(confirm: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7e591a63bf50>] = False, target: ~typing.Annotated[str, <typer.models.OptionInfo object at 0x7e591a654b00>] = None, comet: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7e591a654080>] = False)[source]

Slews the mount target position.

panoptes.pocs.utils.cli.network module

panoptes.pocs.utils.cli.notebook module

panoptes.pocs.utils.cli.notebook.check_for_jupyter()[source]

Check if Jupyter is installed

panoptes.pocs.utils.cli.notebook.restart()[source]

Restart the jupyter server process via supervisorctl

panoptes.pocs.utils.cli.notebook.set_password(environment: str = <typer.models.OptionInfo object>)[source]

Set a password for the notebook server

panoptes.pocs.utils.cli.notebook.start(environment: str = <typer.models.OptionInfo object>, public: bool = <typer.models.OptionInfo object>, port: int = <typer.models.OptionInfo object>, notebook_dir: ~pathlib.Path = <typer.models.OptionInfo object>)[source]

Start a Jupyter notebook server

panoptes.pocs.utils.cli.power module

panoptes.pocs.utils.cli.run module

panoptes.pocs.utils.cli.sensor module

panoptes.pocs.utils.cli.sensor.main(context: Context)[source]
panoptes.pocs.utils.cli.sensor.monitor(sensor_name: str, endpoint: str | None = <typer.models.OptionInfo object>, store: bool = <typer.models.OptionInfo object>, read_frequency: int = <typer.models.OptionInfo object>, verbose: bool = False)[source]

Continuously read remote sensor, optionally storing results.

panoptes.pocs.utils.cli.weather module

class panoptes.pocs.utils.cli.weather.HostInfo(host: str = 'localhost', port: str = '6566')[source]

Bases: object

host: str = 'localhost'
port: str = '6566'
property url
panoptes.pocs.utils.cli.weather.common(context: ~typer.models.Context, host: str = <typer.models.OptionInfo object>, port: str = <typer.models.OptionInfo object>)[source]
panoptes.pocs.utils.cli.weather.config(context: Context, page='config')[source]

Get the configuration of the weather station.

panoptes.pocs.utils.cli.weather.get_page(page, base_url)[source]
panoptes.pocs.utils.cli.weather.restart(service: str = 'pocs-weather-reader')[source]

Restart the weather station service via supervisorctl

panoptes.pocs.utils.cli.weather.status(context: Context, page='status')[source]

Get the status of the weather station.

Module contents