pyobs-core 2.0.0.dev32__tar.gz → 2.0.0.dev33__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.0.0.dev32 → pyobs_core-2.0.0.dev33}/PKG-INFO +1 -1
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xmppcomm.py +59 -18
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyproject.toml +1 -1
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/.gitignore +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/LICENSE +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/application.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/background_task.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/cli/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/cli/_cli.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/cli/pyobs.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/cli/pyobsd.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/cli/pyobsw.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/comm.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/commlogging.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/dummy/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/dummy/dummycomm.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/local/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/local/localcomm.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/local/localnetwork.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/proxy.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/rpc.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/serializer.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xep_0009/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xep_0009/binding.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xep_0009/rpc.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xep_0009_timeout/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xep_0009_timeout/rpc.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xep_0009_timeout/stanza/RPC.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xep_0009_timeout/stanza/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xmppclient.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/badweather.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/event.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/exposurestatuschanged.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/filterchanged.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/focusfound.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/goodweather.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/log.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/modechanged.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/moduleclosed.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/moduleopened.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/motionstatuschanged.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/move.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/newimage.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/newspectrum.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/offsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/roofclosing.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/roofopened.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/taskfailed.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/taskfinished.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/taskstarted.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/events/testevent.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/image.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/meta/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/meta/altazoffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/meta/exptime.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/meta/genericoffset.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/meta/onskydistance.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/meta/pixeloffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/meta/radecoffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/meta/skyoffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processor.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/_daobackgroundremover.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/annotation/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/annotation/_pillow.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/annotation/circle.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/annotation/crosshair.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/annotation/text.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/astrometry/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/astrometry/_dotnet_request.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/astrometry/_dotnet_request_builder.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/astrometry/_dotnet_request_logger.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/astrometry/_dotnet_response_saver.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/astrometry/astrometry.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/astrometry/dotnet.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/calibration/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/calibration/_calibration_cache.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/calibration/_ccddata_calibrator.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/calibration/calibration.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/_pysep_stats_calculator.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/_source_catalog.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/daophot.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/pysep.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/simpledisk.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/sourcedetection.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/exptime/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/exptime/exptime.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/exptime/star.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/addfitsheaders.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/download.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/flip.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/grayscale.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/httpserver.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/normalize.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/save.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/saveimage.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/smooth.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/softbin.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/addmask.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/catalogcircularmask.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/circularmask.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/createfilename.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/imagesourcefilter.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/removebackground.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/modules/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/modules/getfitsheaders.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/astrometry.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/brighteststar.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/brighteststar_guiding.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/dummyoffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/dummyskyoffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/fitsheader.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/offsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/pixeloffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/projected.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/spilled_light.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/_photometry_calculator.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/_photutil_aperture_photometry.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/_sep_aperture_photometry.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/aperture_photometry.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/photometry.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/photutil.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/pysep.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/wcs/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/wcs/solarhelioprojective.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IAbortable.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IAcquisition.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IAutoFocus.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IAutoGuiding.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IAutonomous.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IBinning.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/ICalibrate.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/ICamera.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IConfig.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/ICooling.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IData.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IDataSequence.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IDome.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IExposure.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IExposureTime.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IFilters.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IFitsHeaderAfter.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IFitsHeaderBefore.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IFlatField.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IFocusModel.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IFocuser.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IGain.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IImageFormat.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IImageType.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IMode.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IModule.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IMotion.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IMultiFiber.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IOffsetsAltAz.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IOffsetsRaDec.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingAltAz.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingBody.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingHeliocentricPolar.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingHeliographicStonyhurst.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingHelioprojective.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingOrbitalElements.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingRaDec.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingSeries.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IReady.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IRoof.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IRotation.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IRunnable.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IRunning.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IScriptRunner.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/ISpectrograph.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IStartStop.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IStructuredConfig.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/ISyncTarget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/ITelescope.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/ITemperatures.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/ITrackingMode.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/ITrackingRate.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IVideo.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IWeather.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IWindow.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/interface.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/mixins/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/mixins/camerasettings.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/mixins/fitsheader.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/mixins/fitsnamespace.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/mixins/follow.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/mixins/motionstatus.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/mixins/pipeline.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/mixins/waitformotion.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/mixins/weatheraware.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/camera/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/camera/adaptive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/camera/basecamera.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/camera/basespectrograph.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/camera/basevideo.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/camera/dummycamera.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/camera/dummyspectrograph.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/camera/dummyvideo.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/camera/pipelinecamera.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/flatfield/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/flatfield/flatfield.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/flatfield/pointing.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/flatfield/scheduler.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/focus/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/focus/dummyautofocus.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/focus/focusmodel.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/focus/focusseries.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/image/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/image/imagewatcher.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/image/imagewriter.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/image/pipeline.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/image/seeing.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/module.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/_base.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/_baseguiding.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/acquisition.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/autoguiding.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/dummyacquisition.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/dummyguiding.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/guidingstatistics/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/guidingstatistics/guidingstatistics.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/guidingstatistics/pixeloffset.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/guidingstatistics/skyoffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/guidingstatistics/uptime.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/pointing/scienceframeguiding.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/robotic/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/robotic/mastermind.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/robotic/pointing.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/robotic/scheduler.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/robotic/scriptrunner.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/roof/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/roof/basedome.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/roof/baseroof.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/roof/dummyroof.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/telescope/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/telescope/_dummytelescopebase.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/telescope/basetelescope.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/telescope/dummyaltaztelescope.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/telescope/dummyradectelescope.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/telescope/dummysolartelescope.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/test/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/test/standalone.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/utils/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/utils/dummymode.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/utils/fluentlogger.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/utils/httpfilecache.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/utils/kiosk.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/utils/matrix.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/utils/stellarium.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/utils/telegram.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/utils/trigger.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/weather/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/weather/mockweather.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/weather/weather.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/weather/weather_api.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/modules/weather/weather_state.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/object.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/py.typed +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/observation.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/astroplanscheduler.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/constraints/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/constraints/airmassconstraint.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/constraints/constraint.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/constraints/moonilluminationconstraint.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/constraints/solarelevationconstraint.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/constraints/timeconstraint.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/dataprovider.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/aftertime.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/beforetime.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/constant.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/follow.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/interval.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/merit.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/pernight.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/random.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/timewindow.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/merits/transit.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/observationarchiveevolution.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/ondemandscheduler.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/targets/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/targets/dynamictarget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/targets/heliocentricpolartarget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/targets/helioprojectivetarget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/targets/picker/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/targets/picker/csvpicker.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/targets/picker/picker.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/targets/siderealtarget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/targets/target.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scheduler/taskscheduler.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/calibration/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/calibration/darkbias.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/calibration/pointing.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/calibration/skyflats.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/control/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/control/cases.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/control/conditional.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/control/parallel.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/control/selector.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/control/sequential.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/exceptions.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/imaging/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/imaging/autofocus.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/imaging/imaging.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/imaging/transitimaging.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/script.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/utils/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/utils/callmodule.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/utils/debugtrigger.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/scripts/utils/log.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/backend/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/backend/observationarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/backend/taskarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/filesystem/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/filesystem/observationarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/filesystem/taskarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/_portal.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/_schedulereader.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/_schedulewriter.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/configdb.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/mockobservationarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/observationarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/scripts/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/scripts/autofocus.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/scripts/default.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/scripts/script.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/task.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/taskarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/lco/taskrunner.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/memory/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/memory/observationarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/memory/taskarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/observationarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/storage/taskarchive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/task.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/taskrunner.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/archive/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/archive/archive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/archive/local_archive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/archive/pyobs_archive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/exptime/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/exptime/exptime.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/exptime/stellarexptime.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/exptimeeval.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/flatfielder.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/pointing/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/pointing/base.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/pointing/static.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/priorities/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/priorities/archive.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/priorities/base.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/priorities/const.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/robotic/utils/skyflats/scheduler.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/average.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/cache.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/config.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/config_schema.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/coordinates.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/curvefit.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/enums.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/exceptions.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/fits.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/focusseries/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/focusseries/base.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/focusseries/photometry.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/focusseries/projection.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/grids/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/grids/filters.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/grids/grid.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/grids/gridnode.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/grids/pipeline.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/gui/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/gui/camera/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/gui/camera/binningwidget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/gui/camera/datadisplaywidget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/gui/camera/exposewidget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/gui/camera/exposuretimewidget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/gui/camera/imageformatwidget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/gui/camera/listpickerdialog.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/gui/camera/windowingwidget.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/http.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/influxdb.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/logger.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/logging/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/logging/context.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/logging/resolvableerror.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/modulegui.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/offsets/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/offsets/applyaltazoffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/offsets/applyoffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/offsets/applyradecoffsets.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/parallel.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/pipeline/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/pipeline/night.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/pipeline/pipeline.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/publisher/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/publisher/csv.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/publisher/http.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/publisher/log.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/publisher/multi.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/publisher/publisher.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/serialization.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/shellcommand.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/threads/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/threads/lockwithabort.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/time.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/utils/units.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/version.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/archivefile.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/bufferedfile.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/file.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/filelists/__init__.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/filelists/filelist.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/filelists/testing.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/httpfile.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/localfile.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/memfile.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/sftpfile.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/smbfile.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/sshfile.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/tempfile.py +0 -0
- {pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/vfs/vfs.py +0 -0
|
@@ -4,6 +4,7 @@ import asyncio
|
|
|
4
4
|
import functools
|
|
5
5
|
import json
|
|
6
6
|
import logging
|
|
7
|
+
import random
|
|
7
8
|
import re
|
|
8
9
|
import ssl
|
|
9
10
|
import time
|
|
@@ -36,6 +37,17 @@ if TYPE_CHECKING:
|
|
|
36
37
|
log = logging.getLogger(__name__)
|
|
37
38
|
|
|
38
39
|
|
|
40
|
+
def _retry_delay(attempt: int, cap: float = 30.0, base: float = 1.0) -> float:
|
|
41
|
+
"""Capped exponential backoff with full jitter.
|
|
42
|
+
|
|
43
|
+
Used for retry loops that can end up running on every module in the fleet at once (e.g.
|
|
44
|
+
every module reconnecting to ejabberd simultaneously after a mass restart). Fixed-interval
|
|
45
|
+
retries stay in lockstep across all of them, repeatedly hammering the server at the same
|
|
46
|
+
instants; jitter decorrelates that so retries spread out over time instead.
|
|
47
|
+
"""
|
|
48
|
+
return random.uniform(0, min(cap, base * (2**attempt)))
|
|
49
|
+
|
|
50
|
+
|
|
39
51
|
class EventStanza(ElementBase):
|
|
40
52
|
name = "event"
|
|
41
53
|
namespace = "pyobs:event"
|
|
@@ -947,8 +959,12 @@ class XmppComm(Comm):
|
|
|
947
959
|
async def _get_capabilities(self, module: str, interface: type[Interface]) -> Any | None:
|
|
948
960
|
"""Fetch and deserialize capabilities for a remote module's interface.
|
|
949
961
|
|
|
950
|
-
Retries
|
|
951
|
-
|
|
962
|
+
Retries indefinitely (capped exponential backoff with jitter) instead of giving up after
|
|
963
|
+
a fixed budget -- a peer that's merely slow to respond (e.g. every module in the fleet
|
|
964
|
+
reconnecting to ejabberd at once) must still eventually get its capabilities fetched
|
|
965
|
+
without requiring a full disconnect/reconnect of that peer to retrigger discovery. Only
|
|
966
|
+
stops if the peer itself goes offline in the meantime, since a fresh fetch is triggered
|
|
967
|
+
from scratch the next time it comes back online (see _got_online).
|
|
952
968
|
"""
|
|
953
969
|
if interface.capabilities is None:
|
|
954
970
|
return None
|
|
@@ -956,24 +972,36 @@ class XmppComm(Comm):
|
|
|
956
972
|
|
|
957
973
|
result = None
|
|
958
974
|
last_error: BaseException | None = None
|
|
959
|
-
|
|
975
|
+
attempt = 0
|
|
976
|
+
while True:
|
|
960
977
|
# Use full JID (with resource) if we know it — bare JID may not route correctly
|
|
961
|
-
full_jid = next(
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
978
|
+
full_jid = next((jid for jid in self._online_clients if jid.startswith(f"{module}@")), None)
|
|
979
|
+
if full_jid is None and attempt > 0:
|
|
980
|
+
log.debug(
|
|
981
|
+
"Giving up fetching capabilities for %s from %s: peer went offline",
|
|
982
|
+
interface.__name__,
|
|
983
|
+
module,
|
|
984
|
+
)
|
|
985
|
+
return None
|
|
965
986
|
try:
|
|
966
987
|
result = await asyncio.wait_for(
|
|
967
|
-
self.client.plugin["xep_0030"].get_info(jid=JID(full_jid)),
|
|
988
|
+
self.client.plugin["xep_0030"].get_info(jid=JID(full_jid or f"{module}@{self._domain}")),
|
|
989
|
+
timeout=10.0,
|
|
968
990
|
)
|
|
969
991
|
break
|
|
970
|
-
except
|
|
992
|
+
except Exception as e:
|
|
971
993
|
last_error = e
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
994
|
+
attempt += 1
|
|
995
|
+
if attempt == 3:
|
|
996
|
+
log.warning(
|
|
997
|
+
"Still failing to get capabilities for %s from %s after %d attempts (%s), "
|
|
998
|
+
"will keep retrying",
|
|
999
|
+
interface.__name__,
|
|
1000
|
+
module,
|
|
1001
|
+
attempt,
|
|
1002
|
+
last_error,
|
|
1003
|
+
)
|
|
1004
|
+
await asyncio.sleep(_retry_delay(attempt))
|
|
977
1005
|
log.debug("get_capabilities disco result XML: %s", ET.tostring(result.xml).decode()[:500])
|
|
978
1006
|
# result.xml is the <iq> — the <query> is its child, capabilities are grandchildren
|
|
979
1007
|
for child in result.xml:
|
|
@@ -1030,17 +1058,30 @@ class XmppComm(Comm):
|
|
|
1030
1058
|
async def _subscribe_with_retry(self, node: str, interface: type[Interface]) -> None:
|
|
1031
1059
|
"""Subscribe to a pubsub node, retrying until the node exists.
|
|
1032
1060
|
|
|
1033
|
-
Runs as a background task so _subscribe_state returns immediately.
|
|
1061
|
+
Runs as a background task so _subscribe_state returns immediately. Retries indefinitely
|
|
1062
|
+
(capped exponential backoff with jitter) instead of giving up after a fixed budget -- a
|
|
1063
|
+
node that's merely slow to appear (e.g. every module in the fleet reconnecting to
|
|
1064
|
+
ejabberd at once, or the publisher hasn't started up yet) must still eventually get
|
|
1065
|
+
subscribed without manual intervention. Stops only if _unsubscribe_state removes the
|
|
1066
|
+
last callback for this node in the meantime -- the while condition then goes False,
|
|
1067
|
+
which exits the loop into the else clause (not the break path) and returns.
|
|
1034
1068
|
Once subscribed, fetches the current value and dispatches it.
|
|
1035
1069
|
"""
|
|
1036
|
-
|
|
1070
|
+
attempt = 0
|
|
1071
|
+
while node in self._state_node_handlers:
|
|
1037
1072
|
try:
|
|
1038
1073
|
await self._safe_send(self.client.plugin["xep_0060"].subscribe, self._pubsub_service, node)
|
|
1039
1074
|
break
|
|
1040
1075
|
except (slixmpp.exceptions.IqError, slixmpp.exceptions.IqTimeout):
|
|
1041
|
-
|
|
1076
|
+
attempt += 1
|
|
1077
|
+
if attempt == 30:
|
|
1078
|
+
log.warning(
|
|
1079
|
+
"Still failing to subscribe to state node %s after %d attempts, will keep retrying",
|
|
1080
|
+
node,
|
|
1081
|
+
attempt,
|
|
1082
|
+
)
|
|
1083
|
+
await asyncio.sleep(_retry_delay(attempt))
|
|
1042
1084
|
else:
|
|
1043
|
-
log.warning("Could not subscribe to state node %s after 30 attempts", node)
|
|
1044
1085
|
return
|
|
1045
1086
|
|
|
1046
1087
|
# Fetch current value immediately after subscribing
|
|
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.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xep_0009_timeout/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/comm/xmpp/xep_0009_timeout/stanza/RPC.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
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/_daobackgroundremover.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/annotation/__init__.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/annotation/_pillow.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/annotation/circle.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/annotation/crosshair.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/annotation/text.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/astrometry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/astrometry/astrometry.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/astrometry/dotnet.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/calibration/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/calibration/calibration.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/daophot.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/pysep.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/detection/simpledisk.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/exptime/__init__.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/exptime/exptime.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/addfitsheaders.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/grayscale.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/httpserver.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/normalize.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/image/saveimage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/circularmask.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/createfilename.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/imagesourcefilter.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/misc/removebackground.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/modules/__init__.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/modules/getfitsheaders.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/__init__.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/astrometry.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/brighteststar.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/dummyoffsets.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/dummyskyoffsets.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/fitsheader.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/offsets.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/pixeloffsets.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/projected.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/offsets/spilled_light.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/photometry.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/photutil.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/images/processors/photometry/pysep.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
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingHeliocentricPolar.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingHelioprojective.py
RENAMED
|
File without changes
|
{pyobs_core-2.0.0.dev32 → pyobs_core-2.0.0.dev33}/pyobs/interfaces/IPointingOrbitalElements.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|