pyobs-core 2.8.2__tar.gz → 2.8.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/PKG-INFO +1 -1
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/xmppcomm.py +13 -1
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/_portal.py +25 -14
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyproject.toml +1 -1
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/.gitignore +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/LICENSE +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/application.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/background_task.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/cli/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/cli/_cli.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/cli/pyobs.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/cli/pyobsd.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/cli/pyobsw.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/comm.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/commlogging.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/dummy/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/dummy/dummycomm.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/local/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/local/localcomm.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/local/localnetwork.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/proxy.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/rpc.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/serializer.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/xep_0009/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/xep_0009/binding.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/xep_0009/rpc.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/xep_0009_timeout/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/xep_0009_timeout/rpc.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/xep_0009_timeout/stanza/RPC.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/xep_0009_timeout/stanza/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/comm/xmpp/xmppclient.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/badweather.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/event.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/exposurestatuschanged.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/filterchanged.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/focusfound.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/goodweather.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/log.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/modechanged.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/moduleclosed.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/moduleopened.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/motionstatuschanged.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/move.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/newimage.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/newspectrum.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/offsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/roofclosing.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/roofopened.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/taskfailed.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/taskfinished.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/taskstarted.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/events/testevent.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/image.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/meta/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/meta/altazoffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/meta/exptime.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/meta/genericoffset.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/meta/onskydistance.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/meta/pixeloffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/meta/radecoffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/meta/skyoffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processor.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/_daobackgroundremover.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/annotation/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/annotation/_pillow.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/annotation/circle.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/annotation/crosshair.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/annotation/text.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/astrometry/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/astrometry/_dotnet_request.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/astrometry/_dotnet_request_builder.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/astrometry/_dotnet_request_logger.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/astrometry/_dotnet_response_saver.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/astrometry/astrometry.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/astrometry/dotnet.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/calibration/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/calibration/_calibration_cache.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/calibration/_ccddata_calibrator.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/calibration/calibration.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/detection/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/detection/_pysep_stats_calculator.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/detection/_source_catalog.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/detection/daophot.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/detection/pysep.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/detection/simpledisk.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/detection/sourcedetection.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/exptime/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/exptime/exptime.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/exptime/star.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/addfitsheaders.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/download.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/flip.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/grayscale.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/httpserver.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/normalize.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/save.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/saveimage.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/smooth.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/image/softbin.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/misc/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/misc/addmask.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/misc/catalogcircularmask.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/misc/circularmask.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/misc/createfilename.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/misc/imagesourcefilter.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/misc/removebackground.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/modules/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/modules/getfitsheaders.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/astrometry.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/brighteststar.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/brighteststar_guiding.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/dummyoffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/dummyskyoffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/fitsheader.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/offsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/pixeloffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/projected.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/spilled_light.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/_photometry_calculator.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/_photutil_aperture_photometry.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/_sep_aperture_photometry.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/aperture_photometry.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/photometry.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/photutil.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/pysep.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/wcs/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/wcs/solarhelioprojective.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IAbortable.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IAcquisition.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IAutoFocus.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IAutoGuiding.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IAutonomous.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IBinning.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/ICalibrate.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/ICamera.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IConfig.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/ICooling.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IData.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IDataSequence.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IDome.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IExposure.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IExposureTime.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IFilters.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IFitsHeaderAfter.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IFitsHeaderBefore.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IFlatField.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IFocusModel.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IFocuser.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IGain.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IImageFormat.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IImageType.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IMode.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IModule.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IMotion.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IMultiFiber.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IOffsetsAltAz.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IOffsetsRaDec.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IPointingAltAz.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IPointingBody.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IPointingHeliocentricPolar.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IPointingHeliographicStonyhurst.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IPointingHelioprojective.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IPointingOrbitalElements.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IPointingRaDec.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IPointingSeries.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IReady.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IRobotic.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IRoboticScheduler.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IRoof.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IRotation.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IRunnable.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IRunning.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IScriptRunner.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/ISpectrograph.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IStartStop.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IStructuredConfig.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/ISyncTarget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/ITelescope.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/ITemperatures.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/ITrackingMode.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/ITrackingRate.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IVideo.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IWeather.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/IWindow.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/interfaces/interface.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/mixins/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/mixins/camerasettings.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/mixins/fitsheader.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/mixins/fitsnamespace.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/mixins/follow.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/mixins/motionstatus.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/mixins/pipeline.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/mixins/waitformotion.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/mixins/weatheraware.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/camera/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/camera/adaptive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/camera/basecamera.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/camera/basespectrograph.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/camera/basevideo.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/camera/dummycamera.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/camera/dummyspectrograph.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/camera/dummyvideo.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/camera/pipelinecamera.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/flatfield/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/flatfield/flatfield.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/flatfield/pointing.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/flatfield/scheduler.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/focus/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/focus/dummyautofocus.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/focus/focusmodel.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/focus/focusseries.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/image/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/image/imagewatcher.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/image/imagewriter.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/image/pipeline.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/image/seeing.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/module.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/_base.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/_baseguiding.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/acquisition.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/autoguiding.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/dummyacquisition.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/dummyguiding.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/guidingstatistics/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/guidingstatistics/guidingstatistics.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/guidingstatistics/pixeloffset.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/guidingstatistics/skyoffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/guidingstatistics/uptime.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/pointing/scienceframeguiding.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/robotic/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/robotic/dummymastermind.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/robotic/dummyscheduler.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/robotic/mastermind.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/robotic/pointing.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/robotic/scheduler.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/robotic/scriptrunner.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/roof/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/roof/basedome.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/roof/baseroof.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/roof/dummyroof.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/telescope/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/telescope/_dummytelescopebase.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/telescope/basetelescope.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/telescope/dummyaltaztelescope.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/telescope/dummyradectelescope.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/telescope/dummysolartelescope.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/test/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/test/standalone.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/utils/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/utils/dummymode.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/utils/dummystructuredconfig.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/utils/fluentlogger.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/utils/httpfilecache.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/utils/kiosk.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/utils/matrix.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/utils/stellarium.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/utils/telegram.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/utils/trigger.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/weather/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/weather/mockweather.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/weather/weather.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/weather/weather_api.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/modules/weather/weather_state.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/object.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/py.typed +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/instruments.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/observation.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/_executor.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/astroplanscheduler.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/constraints/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/constraints/airmassconstraint.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/constraints/constraint.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/constraints/moonilluminationconstraint.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/constraints/solarelevationconstraint.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/constraints/timeconstraint.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/dataprovider.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/aftertime.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/beforetime.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/constant.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/follow.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/interval.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/merit.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/pernight.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/random.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/timewindow.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/merits/transit.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/observationarchiveevolution.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/ondemandscheduler.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/targets/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/targets/dynamictarget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/targets/heliocentricpolartarget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/targets/helioprojectivetarget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/targets/picker/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/targets/picker/csvpicker.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/targets/picker/picker.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/targets/siderealtarget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/targets/target.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scheduler/taskscheduler.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/calibration/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/calibration/darkbias.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/calibration/pointing.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/calibration/skyflats.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/control/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/control/cases.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/control/conditional.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/control/parallel.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/control/selector.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/control/sequential.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/exceptions.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/imaging/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/imaging/autofocus.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/imaging/imaging.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/imaging/transitimaging.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/script.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/utils/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/utils/callmodule.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/utils/debugtrigger.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/scripts/utils/log.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/filesystem/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/filesystem/observationarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/filesystem/taskarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/_schedulereader.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/_schedulewriter.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/configdb.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/mockobservationarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/observationarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/scripts/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/scripts/autofocus.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/scripts/default.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/scripts/script.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/task.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/taskarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/lco/taskrunner.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/memory/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/memory/observationarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/memory/taskarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/observationarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/portal/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/portal/observationarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/portal/taskarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/storage/taskarchive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/task.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/taskrunner.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/archive/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/archive/archive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/archive/local_archive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/archive/pyobs_archive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/calibration.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/exptime/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/exptime/exptime.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/exptime/stellarexptime.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/exptimeeval.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/flatfielder.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/pointing/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/pointing/base.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/pointing/static.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/priorities/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/priorities/archive.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/priorities/base.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/priorities/const.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/robotic/utils/skyflats/scheduler.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/average.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/cache.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/config.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/config_schema.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/coordinates.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/curvefit.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/enums.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/exceptions.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/exptime_grouping.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/fits.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/focusseries/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/focusseries/base.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/focusseries/photometry.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/focusseries/projection.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/grids/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/grids/filters.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/grids/grid.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/grids/gridnode.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/grids/pipeline.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/gui/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/gui/camera/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/gui/camera/binningwidget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/gui/camera/datadisplaywidget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/gui/camera/exposewidget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/gui/camera/exposuretimewidget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/gui/camera/imageformatwidget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/gui/camera/listpickerdialog.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/gui/camera/windowingwidget.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/http.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/influxdb.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/logger.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/logging/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/logging/context.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/logging/resolvableerror.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/modulegui.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/offsets/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/offsets/applyaltazoffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/offsets/applyoffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/offsets/applyradecoffsets.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/parallel.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/pipeline/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/pipeline/pipeline.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/pipeline/progress.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/pipeline/reduction.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/pipeline/reduction_base.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/publisher/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/publisher/csv.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/publisher/http.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/publisher/log.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/publisher/multi.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/publisher/publisher.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/serialization.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/shellcommand.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/threads/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/threads/lockwithabort.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/time.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/units.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/utils/versions.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/version.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/archivefile.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/bufferedfile.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/file.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/filelists/__init__.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/filelists/filelist.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/filelists/testing.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/httpfile.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/localfile.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/memfile.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/sftpfile.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/smbfile.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/sshfile.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/tempfile.py +0 -0
- {pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/vfs/vfs.py +0 -0
|
@@ -1217,8 +1217,20 @@ class XmppComm(Comm):
|
|
|
1217
1217
|
return info
|
|
1218
1218
|
|
|
1219
1219
|
async def _set_capabilities(self, interface: type[Interface], capabilities: Any) -> None:
|
|
1220
|
-
"""Store published capabilities for inclusion in disco#info responses.
|
|
1220
|
+
"""Store published capabilities for inclusion in disco#info responses.
|
|
1221
|
+
|
|
1222
|
+
Capabilities are set once in open() and never mutated afterwards, so advertising a
|
|
1223
|
+
disco feature per interface (mirrors _register_events) is enough to change the caps
|
|
1224
|
+
hash the first -- and only -- time an interface's capability appears. Without a feature
|
|
1225
|
+
that a peer hasn't seen advertised before, update_caps() would recompute the same hash
|
|
1226
|
+
(capability payloads aren't part of what feeds it, see XEP_0115.generate_verstring), and
|
|
1227
|
+
ejabberd's mod_caps would keep serving whatever disco#info response it cached under that
|
|
1228
|
+
unchanged hash -- potentially one from before this capability was ever set (#888).
|
|
1229
|
+
"""
|
|
1221
1230
|
self._capabilities[interface] = capabilities
|
|
1231
|
+
self.client.plugin["xep_0030"].add_feature(f"urn:pyobs:capabilities:{interface.__name__}:{interface.version}")
|
|
1232
|
+
await self._safe_send(self.client.plugin["xep_0115"].update_caps)
|
|
1233
|
+
self.client.send_presence()
|
|
1222
1234
|
log.info("Published capabilities for %s", interface.__name__)
|
|
1223
1235
|
|
|
1224
1236
|
def _get_own_capabilities(self, interface: type[Interface]) -> Any:
|
|
@@ -16,7 +16,17 @@ from pyobs.utils.time import Time
|
|
|
16
16
|
log = logging.getLogger(__name__)
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
class
|
|
19
|
+
class LcoApiModel(BaseModel):
|
|
20
|
+
"""Base for models parsed from LCO Observation Portal API responses.
|
|
21
|
+
|
|
22
|
+
The portal adds fields to its responses without notice, so these ignore unknown
|
|
23
|
+
fields instead of the stricter extra="forbid" default used elsewhere in pyobs.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
model_config = ConfigDict(extra="ignore")
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class ConfigurationSummary(LcoApiModel):
|
|
20
30
|
end: str = ""
|
|
21
31
|
events: dict[str, str] = Field(default_factory=dict)
|
|
22
32
|
id: Any = 0
|
|
@@ -26,7 +36,7 @@ class ConfigurationSummary(BaseModel):
|
|
|
26
36
|
time_completed: float = 0.0
|
|
27
37
|
|
|
28
38
|
|
|
29
|
-
class ConfigurationStatus(
|
|
39
|
+
class ConfigurationStatus(LcoApiModel):
|
|
30
40
|
id: int
|
|
31
41
|
configuration: int
|
|
32
42
|
instrument_name: str
|
|
@@ -35,16 +45,16 @@ class ConfigurationStatus(BaseModel):
|
|
|
35
45
|
summary: ConfigurationSummary
|
|
36
46
|
|
|
37
47
|
|
|
38
|
-
class LcoLocation(
|
|
48
|
+
class LcoLocation(LcoApiModel):
|
|
39
49
|
telescope_class: str
|
|
40
50
|
|
|
41
51
|
|
|
42
|
-
class LcoAcquisitionConfig(
|
|
52
|
+
class LcoAcquisitionConfig(LcoApiModel):
|
|
43
53
|
mode: str
|
|
44
54
|
extra_params: dict[str, Any] = {}
|
|
45
55
|
|
|
46
56
|
|
|
47
|
-
class LcoGuidingConfig(
|
|
57
|
+
class LcoGuidingConfig(LcoApiModel):
|
|
48
58
|
exposure_time: float | None = None
|
|
49
59
|
mode: str
|
|
50
60
|
optical_elements: dict[str, Any] = {}
|
|
@@ -52,14 +62,14 @@ class LcoGuidingConfig(BaseModel):
|
|
|
52
62
|
extra_params: dict[str, Any] = {}
|
|
53
63
|
|
|
54
64
|
|
|
55
|
-
class LcoConstraints(
|
|
65
|
+
class LcoConstraints(LcoApiModel):
|
|
56
66
|
max_airmass: float | None = None
|
|
57
67
|
max_lunar_phase: float | None = None
|
|
58
68
|
min_lunar_distance: float | None = None
|
|
59
69
|
extra_params: dict[str, Any] = {}
|
|
60
70
|
|
|
61
71
|
|
|
62
|
-
class LcoInstrumentConfig(
|
|
72
|
+
class LcoInstrumentConfig(LcoApiModel):
|
|
63
73
|
exposure_count: int
|
|
64
74
|
exposure_time: float
|
|
65
75
|
mode: str
|
|
@@ -69,12 +79,12 @@ class LcoInstrumentConfig(BaseModel):
|
|
|
69
79
|
extra_params: dict[str, Any] = {}
|
|
70
80
|
|
|
71
81
|
|
|
72
|
-
class LcoMerit(
|
|
82
|
+
class LcoMerit(LcoApiModel):
|
|
73
83
|
type: str
|
|
74
84
|
params: dict[str, Any] = {}
|
|
75
85
|
|
|
76
86
|
|
|
77
|
-
class LcoTarget(
|
|
87
|
+
class LcoTarget(LcoApiModel):
|
|
78
88
|
name: str
|
|
79
89
|
type: str
|
|
80
90
|
ra: float
|
|
@@ -87,7 +97,7 @@ class LcoTarget(BaseModel):
|
|
|
87
97
|
extra_params: dict[str, Any] = {}
|
|
88
98
|
|
|
89
99
|
|
|
90
|
-
class LcoConfiguration(
|
|
100
|
+
class LcoConfiguration(LcoApiModel):
|
|
91
101
|
id: int
|
|
92
102
|
acquisition_config: LcoAcquisitionConfig
|
|
93
103
|
guiding_config: LcoGuidingConfig
|
|
@@ -107,12 +117,12 @@ class LcoConfiguration(BaseModel):
|
|
|
107
117
|
summary: ConfigurationSummary = Field(default_factory=ConfigurationSummary)
|
|
108
118
|
|
|
109
119
|
|
|
110
|
-
class LcoWindow(
|
|
120
|
+
class LcoWindow(LcoApiModel):
|
|
111
121
|
start: AstroPydanticTime
|
|
112
122
|
end: AstroPydanticTime
|
|
113
123
|
|
|
114
124
|
|
|
115
|
-
class LcoRequest(
|
|
125
|
+
class LcoRequest(LcoApiModel):
|
|
116
126
|
id: int
|
|
117
127
|
modified: AstroPydanticTime
|
|
118
128
|
acceptability_threshold: float
|
|
@@ -125,11 +135,12 @@ class LcoRequest(BaseModel):
|
|
|
125
135
|
configuration_repeats: int = 1
|
|
126
136
|
windows: list[LcoWindow] = []
|
|
127
137
|
extra_params: dict[str, Any]
|
|
138
|
+
suspend_until: AstroPydanticTime | None = None
|
|
128
139
|
|
|
129
140
|
model_config = ConfigDict(populate_by_name=True)
|
|
130
141
|
|
|
131
142
|
|
|
132
|
-
class LcoObservation(
|
|
143
|
+
class LcoObservation(LcoApiModel):
|
|
133
144
|
id: int
|
|
134
145
|
request: int | LcoRequest
|
|
135
146
|
site: str
|
|
@@ -150,7 +161,7 @@ class LcoObservation(BaseModel):
|
|
|
150
161
|
submitter: str | None = None
|
|
151
162
|
|
|
152
163
|
|
|
153
|
-
class LcoSchedulableRequest(
|
|
164
|
+
class LcoSchedulableRequest(LcoApiModel):
|
|
154
165
|
created: AstroPydanticTime
|
|
155
166
|
id: int
|
|
156
167
|
ipp_value: float
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/astrometry/_dotnet_request_builder.py
RENAMED
|
File without changes
|
{pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/astrometry/_dotnet_request_logger.py
RENAMED
|
File without changes
|
{pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/astrometry/_dotnet_response_saver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/calibration/_calibration_cache.py
RENAMED
|
File without changes
|
{pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/calibration/_ccddata_calibrator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/detection/_pysep_stats_calculator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/offsets/brighteststar_guiding.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/_photometry_calculator.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/_sep_aperture_photometry.py
RENAMED
|
File without changes
|
{pyobs_core-2.8.2 → pyobs_core-2.8.4}/pyobs/images/processors/photometry/aperture_photometry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|