pyobs-core 2.23.0__tar.gz → 2.23.2__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.23.0 → pyobs_core-2.23.2}/PKG-INFO +1 -1
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/image/imagewatcher.py +64 -4
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyproject.toml +1 -1
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/.gitignore +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/LICENSE +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/README.md +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/application.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/background_task.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/cli/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/cli/_cli.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/cli/pyobs.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/cli/pyobsd.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/cli/pyobsw.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/comm.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/commlogging.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/dummy/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/dummy/dummycomm.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/local/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/local/localcomm.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/local/localnetwork.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/proxy.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/rpc.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/serializer.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/xep_0009/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/xep_0009/rpc.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/xep_0009_timeout/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/xep_0009_timeout/rpc.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/xep_0009_timeout/stanza/RPC.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/xep_0009_timeout/stanza/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/xmppclient.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/comm/xmpp/xmppcomm.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/badweather.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/event.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/exposurestatuschanged.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/filewritten.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/filterchanged.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/focusfound.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/goodweather.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/log.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/modechanged.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/moduleclosed.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/moduleopened.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/motionstatuschanged.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/move.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/newdata.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/newimage.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/newspectrum.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/offsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/roofclosing.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/roofopened.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/taskfailed.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/taskfinished.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/taskskipped.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/taskstarted.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/events/testevent.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/image.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/meta/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/meta/altazoffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/meta/datapipeline.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/meta/exptime.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/meta/genericoffset.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/meta/onskydistance.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/meta/pixeloffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/meta/radecoffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/meta/skyoffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processor.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/_daobackgroundremover.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/annotation/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/annotation/_pillow.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/annotation/circle.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/annotation/crosshair.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/annotation/text.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/astrometry/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/astrometry/_dotnet_request.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/astrometry/_dotnet_request_builder.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/astrometry/_dotnet_request_logger.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/astrometry/_dotnet_response_saver.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/astrometry/astrometry.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/astrometry/dotnet.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/calibration/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/calibration/_calibration_cache.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/calibration/_ccddata_calibrator.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/calibration/calibration.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/detection/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/detection/_pysep_stats_calculator.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/detection/_source_catalog.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/detection/daophot.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/detection/pysep.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/detection/simpledisk.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/detection/sourcedetection.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/exptime/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/exptime/exptime.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/exptime/star.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/addfitsheaders.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/download.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/flip.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/grayscale.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/httpserver.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/normalize.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/save.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/saveimage.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/smooth.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/image/softbin.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/misc/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/misc/addmask.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/misc/catalogcircularmask.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/misc/circularmask.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/misc/createfilename.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/misc/imagesourcefilter.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/misc/removebackground.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/modules/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/modules/getfitsheaders.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/astrometry.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/brighteststar.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/brighteststar_guiding.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/dummyoffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/dummyskyoffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/fitsheader.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/offsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/pixeloffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/projected.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/offsets/spilled_light.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/photometry/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/photometry/_photometry_calculator.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/photometry/_photutil_aperture_photometry.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/photometry/_sep_aperture_photometry.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/photometry/aperture_photometry.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/photometry/photometry.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/photometry/photutil.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/photometry/pysep.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/stack/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/stack/combinestack.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/stack/mean.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/stack/median.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/stack/sigmaclip.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/stack/sum.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/wcs/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/wcs/solarhelioprojective.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IAbortable.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IAcquisition.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IAutoFocus.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IAutoGuiding.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IAutonomous.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IBinning.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/ICalibrate.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/ICamera.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IConfig.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/ICooling.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IData.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IDataPipeline.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IDataSequence.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IDataStack.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IDome.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IExposure.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IExposureTime.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IFilters.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IFitsHeaderAfter.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IFitsHeaderBefore.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IFlatField.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IFocusModel.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IFocuser.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IGain.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IImageFormat.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IImageType.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IMode.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IModule.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IMotion.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IMultiFiber.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IOffsetsAltAz.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IOffsetsRaDec.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IPointingAltAz.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IPointingBody.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IPointingHeliocentricPolar.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IPointingHeliographicStonyhurst.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IPointingHelioprojective.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IPointingOrbitalElements.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IPointingRaDec.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IPointingSeries.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IPushNotifications.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IReady.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IResettable.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IRobotic.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IRoboticScheduler.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IRoof.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IRotation.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IRunnable.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IRunning.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IScriptRunner.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/ISpectrograph.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IStartStop.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IStructuredConfig.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/ISyncTarget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/ITelescope.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/ITemperatures.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/ITrackingMode.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/ITrackingRate.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IVideo.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IWeather.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/IWindow.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/interfaces/interface.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/camerasettings.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/datapipeline.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/datasequence.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/fitsheader.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/fitsnamespace.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/follow.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/motionstatus.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/pipeline.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/waitformotion.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/mixins/weatheraware.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/adaptive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/basecamera.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/basedata.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/basespectrograph.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/basevideo.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/dummycamera.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/dummyspectrograph.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/dummyvideo.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/pipelinecamera.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/camera/videoframes.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/flatfield/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/flatfield/flatfield.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/flatfield/pointing.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/flatfield/scheduler.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/focus/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/focus/dummyautofocus.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/focus/focusmodel.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/focus/focusseries.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/image/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/image/imagewriter.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/image/pipeline.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/image/seeing.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/module.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/_base.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/_baseguiding.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/acquisition.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/autoguiding.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/dummyacquisition.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/dummyguiding.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/guidingsource.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/guidingstatistics/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/guidingstatistics/guidingstatistics.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/guidingstatistics/pixeloffset.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/guidingstatistics/skyoffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/guidingstatistics/uptime.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/pointing/scienceframeguiding.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/robotic/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/robotic/dummymastermind.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/robotic/dummyscheduler.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/robotic/mastermind.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/robotic/pointing.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/robotic/scheduler.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/robotic/scriptrunner.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/roof/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/roof/basedome.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/roof/baseroof.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/roof/dummyroof.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/telescope/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/telescope/_dummytelescopebase.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/telescope/basetelescope.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/telescope/dummyaltaztelescope.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/telescope/dummyradectelescope.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/telescope/dummysolartelescope.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/test/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/test/standalone.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/dummymode.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/dummystructuredconfig.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/fluentlogger.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/httpfilecache.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/kiosk.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/matrix.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/pushnotifier.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/stellarium.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/telegram.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/utils/trigger.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/weather/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/weather/mockweather.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/weather/weather.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/weather/weather_api.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/modules/weather/weather_state.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/object.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/py.typed +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/instruments.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/observation.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/_executor.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/astroplanscheduler.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/constraints/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/constraints/airmassconstraint.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/constraints/constraint.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/constraints/moonilluminationconstraint.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/constraints/moonseparationconstraint.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/constraints/solarelevationconstraint.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/constraints/timeconstraint.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/dataprovider.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/aftertime.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/beforetime.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/constant.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/follow.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/interval.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/merit.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/pernight.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/random.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/timewindow.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/merits/transit.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/observationarchiveevolution.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/observingperiod.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/ondemandscheduler.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/targets/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/targets/dynamictarget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/targets/heliocentricpolartarget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/targets/helioprojectivetarget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/targets/picker/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/targets/picker/csvpicker.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/targets/picker/picker.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/targets/siderealtarget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/targets/target.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scheduler/taskscheduler.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/calibration/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/calibration/darkbias.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/calibration/pointing.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/calibration/skyflats.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/control/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/control/cases.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/control/conditional.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/control/parallel.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/control/selector.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/control/sequential.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/exceptions.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/imaging/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/imaging/autofocus.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/imaging/imaging.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/imaging/transitimaging.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/script.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/utils/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/utils/callmodule.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/utils/debugtrigger.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/scripts/utils/log.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/filesystem/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/filesystem/observationarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/filesystem/taskarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/_portal.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/_schedulereader.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/_schedulewriter.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/configdb.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/mockobservationarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/observationarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/scripts/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/scripts/autofocus.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/scripts/default.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/scripts/script.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/task.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/taskarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/lco/taskrunner.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/memory/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/memory/observationarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/memory/taskarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/observationarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/portal/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/portal/observationarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/portal/taskarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/storage/taskarchive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/task.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/taskrunner.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/archive/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/archive/archive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/archive/local_archive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/archive/pyobs_archive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/calibration.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/exptime/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/exptime/exptime.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/exptime/stellarexptime.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/exptimeeval.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/flatfielder.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/pointing/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/pointing/base.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/pointing/static.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/priorities/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/priorities/archive.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/priorities/base.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/priorities/const.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/robotic/utils/skyflats/scheduler.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/average.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/cache.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/config.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/config_schema.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/coordinates.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/curvefit.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/enums.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/exceptions.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/exptime_grouping.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/fits.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/focusseries/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/focusseries/base.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/focusseries/photometry.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/focusseries/projection.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/grids/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/grids/filters.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/grids/grid.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/grids/gridnode.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/grids/pipeline.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/gui/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/gui/camera/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/gui/camera/binningwidget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/gui/camera/datadisplaywidget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/gui/camera/exposewidget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/gui/camera/exposuretimewidget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/gui/camera/imageformatwidget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/gui/camera/listpickerdialog.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/gui/camera/windowingwidget.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/http.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/influxdb.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/logger.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/logging/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/logging/context.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/logging/resolvableerror.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/modulegui.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/offsets/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/offsets/applyaltazoffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/offsets/applyoffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/offsets/applyradecoffsets.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/parallel.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/pipeline/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/pipeline/pipeline.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/pipeline/progress.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/pipeline/reduction.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/pipeline/reduction_base.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/publisher/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/publisher/csv.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/publisher/http.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/publisher/log.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/publisher/multi.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/publisher/publisher.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/serialization.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/shellcommand.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/stretch.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/threads/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/threads/lockwithabort.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/time.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/units.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/utils/versions.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/version.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/archivefile.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/bufferedfile.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/file.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/filelists/__init__.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/filelists/filelist.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/filelists/testing.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/httpfile.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/localfile.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/memfile.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/sftpfile.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/smbfile.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/sshfile.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/tempfile.py +0 -0
- {pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/vfs/vfs.py +0 -0
|
@@ -143,6 +143,12 @@ class ImageWatcher(Module):
|
|
|
143
143
|
self._watchpath = watchpath
|
|
144
144
|
self._notifier: Any | None = None
|
|
145
145
|
self._queue = asyncio.Queue[tuple[str, float]]()
|
|
146
|
+
# files queued by add_file and not yet picked up by the worker, mapped to the time they're
|
|
147
|
+
# ready. A repeated event (e.g. a writer closing the file twice) moves the deadline instead
|
|
148
|
+
# of queueing the file again.
|
|
149
|
+
self._pending: dict[str, float] = {}
|
|
150
|
+
# files the worker is processing right now
|
|
151
|
+
self._active: set[str] = set()
|
|
146
152
|
self._poll = poll
|
|
147
153
|
self._poll_interval = poll_interval
|
|
148
154
|
self._wait_time = wait_time
|
|
@@ -174,16 +180,52 @@ class ImageWatcher(Module):
|
|
|
174
180
|
# than falling back to the module's outer background-task restart-with-backoff.
|
|
175
181
|
while True:
|
|
176
182
|
try:
|
|
177
|
-
|
|
183
|
+
# CLOSE_WRITE for files written in place, MOVED_TO for files renamed into the tree
|
|
184
|
+
# (a rename produces no CLOSE_WRITE). CREATE is only there to see new directories:
|
|
185
|
+
# asyncinotify adds the watches for them, but anything written into them before that
|
|
186
|
+
# happened is never reported, so they're scanned below.
|
|
187
|
+
watcher = RecursiveWatcher(Path(local), Mask.CLOSE_WRITE | Mask.MOVED_TO | Mask.CREATE)
|
|
178
188
|
async for event in watcher.watch_recursive():
|
|
189
|
+
log.debug("Inotify event: mask=%s path=%s", event.mask, event.path)
|
|
190
|
+
|
|
179
191
|
# get filename by replacing local with watchpath
|
|
180
192
|
filename = str(event.path).replace(local, self._watchpath)
|
|
181
193
|
|
|
194
|
+
# new or moved-in directory: the watches exist by now, so scanning it finds
|
|
195
|
+
# everything written earlier, inotify reports everything written later
|
|
196
|
+
if Mask.ISDIR in event.mask:
|
|
197
|
+
if Mask.CREATE in event.mask or Mask.MOVED_TO in event.mask:
|
|
198
|
+
await self._scan_directory(filename)
|
|
199
|
+
continue
|
|
200
|
+
|
|
201
|
+
# a file that was only created isn't finished yet, wait for its CLOSE_WRITE
|
|
202
|
+
if not event.mask & (Mask.CLOSE_WRITE | Mask.MOVED_TO):
|
|
203
|
+
continue
|
|
204
|
+
|
|
182
205
|
# add file
|
|
183
206
|
await self.add_file(filename)
|
|
184
207
|
except OSError as e:
|
|
185
208
|
log.warning("Inotify watch error (directory likely vanished mid-scan), restarting watch: %s", e)
|
|
186
209
|
|
|
210
|
+
async def _scan_directory(self, dirname: str) -> None:
|
|
211
|
+
"""Add all files already in a directory that just appeared in the watch tree.
|
|
212
|
+
|
|
213
|
+
Files that are being processed right now are skipped, so a scan can't queue a file the worker
|
|
214
|
+
is just about to remove.
|
|
215
|
+
|
|
216
|
+
Args:
|
|
217
|
+
dirname: Directory to scan (recursively), as a path below the watch path.
|
|
218
|
+
"""
|
|
219
|
+
try:
|
|
220
|
+
found = await self.vfs.find(dirname, "*")
|
|
221
|
+
except Exception as e:
|
|
222
|
+
log.warning("Could not scan new directory %s: %s", dirname, e)
|
|
223
|
+
return
|
|
224
|
+
for f in found:
|
|
225
|
+
filename = os.path.join(dirname, f)
|
|
226
|
+
if filename not in self._active:
|
|
227
|
+
await self.add_file(filename)
|
|
228
|
+
|
|
187
229
|
async def _watch_poll(self) -> None:
|
|
188
230
|
# init list (recursive, so subdirectories are picked up too; unfiltered by pattern here --
|
|
189
231
|
# add_file is the single point of pattern filtering, same as inotify mode)
|
|
@@ -237,9 +279,18 @@ class ImageWatcher(Module):
|
|
|
237
279
|
if not fnmatch.fnmatch(filename, self._pattern):
|
|
238
280
|
return
|
|
239
281
|
|
|
282
|
+
ready_at = time.time() + self._wait_time
|
|
283
|
+
|
|
284
|
+
# already queued: just restart its timer, the worker reads the file when it's processed
|
|
285
|
+
if filename in self._pending:
|
|
286
|
+
log.info("File %s changed again, restarting wait time...", filename)
|
|
287
|
+
self._pending[filename] = ready_at
|
|
288
|
+
return
|
|
289
|
+
|
|
240
290
|
# log and add file
|
|
241
291
|
log.info("Adding new file %s...", filename)
|
|
242
|
-
self.
|
|
292
|
+
self._pending[filename] = ready_at
|
|
293
|
+
self._queue.put_nowait((filename, ready_at))
|
|
243
294
|
|
|
244
295
|
async def _worker(self) -> None:
|
|
245
296
|
"""Worker thread."""
|
|
@@ -248,17 +299,26 @@ class ImageWatcher(Module):
|
|
|
248
299
|
while True:
|
|
249
300
|
# get next filename and wait some time
|
|
250
301
|
filename, ready_at = await self._queue.get()
|
|
251
|
-
|
|
252
|
-
|
|
302
|
+
|
|
303
|
+
# wait until ready, the deadline may be pushed back by add_file in the meantime
|
|
304
|
+
while True:
|
|
305
|
+
ready_at = self._pending.get(filename, ready_at)
|
|
306
|
+
wait = ready_at - time.time()
|
|
307
|
+
if wait <= 0:
|
|
308
|
+
break
|
|
253
309
|
await asyncio.sleep(wait)
|
|
310
|
+
self._pending.pop(filename, None)
|
|
254
311
|
log.info("Working on file %s...", filename)
|
|
255
312
|
|
|
313
|
+
self._active.add(filename)
|
|
256
314
|
try:
|
|
257
315
|
await self._process_file(filename)
|
|
258
316
|
except Exception as e:
|
|
259
317
|
self._handle_failure(filename, e)
|
|
260
318
|
else:
|
|
261
319
|
self._retry.pop(filename, None)
|
|
320
|
+
finally:
|
|
321
|
+
self._active.discard(filename)
|
|
262
322
|
|
|
263
323
|
async def _process_file(self, filename: str) -> None:
|
|
264
324
|
"""Read, archive and clean up a single file. Raises on any failure short of cleanup.
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/astrometry/_dotnet_request.py
RENAMED
|
File without changes
|
|
File without changes
|
{pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/astrometry/_dotnet_request_logger.py
RENAMED
|
File without changes
|
{pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/astrometry/_dotnet_response_saver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/calibration/_calibration_cache.py
RENAMED
|
File without changes
|
{pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/calibration/_ccddata_calibrator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/detection/_pysep_stats_calculator.py
RENAMED
|
File without changes
|
{pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/detection/_source_catalog.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/detection/sourcedetection.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
|
{pyobs_core-2.23.0 → pyobs_core-2.23.2}/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.23.0 → pyobs_core-2.23.2}/pyobs/images/processors/photometry/_photometry_calculator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobs_core-2.23.0 → pyobs_core-2.23.2}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|