- Updated
docs/config-server.rstto replace outdatedpanoptes-config-serverreferences with the currentpanoptes-utils configsubcommand, reflect the FastAPI/uvicorn backend, document all CLI options and environment variables, and add astopcommand section. - Updated
docs/cli.rstto reflect the currentpanoptes-utils --helpoutput, includingconfigandtelemetrysubcommands, and cross-reference the config server documentation. - Updated
docs/index.rstto use current GHA and Codecov badges. - Updated
config_server()log message for consistency with the new CLI naming.
- Fix namespace package configuration in
pyproject.tomlto allow correct installation and coexistence with otherpanoptesnamespace packages (e.g.panoptes-pocs).
- Added Gemini CLI agent guidelines in
GEMINI.md.
- Converted the config server CLI from Click to Typer and moved it from the standalone
panoptes-config-servercommand topanoptes-utils config(subcommands:run,stop,get,set). Removedclickandclick-spinnerfrom core dependencies. Updated README to consolidate all CLI subcommands (image,config,telemetry) under a single "Command Line" section with per-subcommand env var tables.
- Documented environment variables used by the config server and client in the
README.md. #336 - Added
panoptes-utils telemetryrun,stop, andcurrentcommands, a Python client, and a dedicated telemetry server documentation page with append-only NDJSON logging and/currentsnapshot support. #338
- Unified CLI logging behavior:
DEBUGlevel output is now silenced by default in all CLI tools (panoptes-config-serverandpanoptes-utils) and only enabled when the--verboseflag is provided. #336 - Config server CLI
runcommand now waits up to 30 seconds (configurable via--startup-timeout) for the server socket to be ready before entering the monitoring loop. #336
- Migrated config server from Flask+gevent to FastAPI+uvicorn for improved performance and modern async support. #336
- Config server CLI
runcommand now defaults to--load-local(previously--no-load-local) so any locally saved config overrides are applied on startup. #336
- AI agent guidelines document (
AGENTS.md) with comprehensive development workflow and coding standards. #331 - CHANGELOG update requirement to contributor guidelines in
AGENTS.md. #331
- Migrated build system from Hatch to UV for faster dependency management and better PEP 735 support. #XXX
- Updated all documentation and CI workflows to use UV commands instead of Hatch. #XXX
- Moved testing dependencies from
[project.optional-dependencies]to[dependency-groups]for modern dependency management. #XXX - Updated
.gitignoreto exclude auto-generated_version.pyfiles from setuptools-scm. #XXX - Line-length configuration from 100 to 110 characters in
pyproject.tomland documentation. #331
- Removed
click<8.3pin as it was only needed for Hatch compatibility. #XXX
panoptes.utils.images.fits.detect_sources, which uses theseppackage to detect sources in a FITS image. Should mostly be considered a "quick-look" function as it doesn't do anything smart with the background and bayer array. #329
- Type hints to most functions and methods. #326
- Docstrings to all major public functions and classes. #324
- Renamed
ObservationPathInfotoImagePathInfoto better reflect its purpose. #328 - Updated
panoptes.utils.images.fits.extract_metadatato include more metadata fields, including plate-solved information. Extracted metadata now matches what was being performed via the pipeline on the cloud. #328 - Trying to load an invalid config file will now result in an error instead of silently failing. #327
- Pinned
clickdependency to<8.3to avoid issues withhatch. #325
- Hotfix for GHA release action
- Minimum python version set to
3.12 - Using
hatchfor build tools - All config items moved to
pyproject.toml - Minimum numpy version to to
>2 - Formatting and linting fixes with
ruff(viahatch). - Convert remaining
.rstdocs to.md. - Remove old
sitecustomize.pyfile for multi-threaded test coverage.
- Change
printtologgerwhen making a jpg from a cr2. - Updates to get_quantity_value to support astropy v7 and numpy values.
- Fixes for
get_quantity_value
- Updated to
python 3.12. - Removed deprecated call to
resolve_name.
- Fixed the config_server on osx.
- Added
toxtotestinginstall option to fix auto PyPi builds.
- Config server not properly saving entries to local file.
- Config server doesn't initially parse config file so it doesn't need to deserialize on response.
- The
panoptes-utils image watch <PATH>command with default processing that will convertCR2files toJPGandFITSand then plate-solve theFITSfiles. - GHA downloads a
CR2file for testing. - Plot directives for documentation.
- Testing now includes
--test-solvefor plate-solving in GHA. - Local tests only uses
memorydatabase. - Rearranged some functions in the
panoptes.utils.imagesnamespace.
- Unused stamp plotting functions.
- Testing of config servers on GHA.
CountdownTimer.is_non_blockingpredicate that wasn't being used.- Extra serial protocol handlers.
panoptes-utilscli with sub-commands for converting CR2 to FITS and for plate-solving FITS.
- Updating
pyscaffoldto4.2.3, which allows forpyproject.tomlandtoxusage. - Updating example SerialDevice notebook and fixing deps.
- Config server can now run on arbitrary ports better.
- Removing unused functions:
DelaySigTerm,strings_to_params.
- Fixes to support 420 namespaces and pyscaffold.
- Don't deserialize all strings as dates unless they actually look like a date.
- This release removes the Docker components from the repository, pushing some of the dependencies to
POCS. This is an attempt to make this module slimmer and more useful. - The
astrometry.netplate solving tests have been removed since we no longer build and test against a Docker image. The plate solving will continue to transition to the self-containedplate-solverrepository.
- New
panoptes.utils.serial.device.SerialDevicethat will replace thers232.SerialData. New class uses the threaded reader with optional callback for better asynchronous reading from a serial device. Example notebook included. #274 ObservationPathInfoallows for easy parsing of the standard PANOPTES file name scheme, as provided byPATH_MATCHER. #282extract_metadatapulls FITS headers into a common dictionary structure. #282- Docker updates: Add
PYTHONUNBUFFEREDto docker files; Removeversionanddeploykeys from docker compose files. #284
- The serial protocol handlers were moved to the
panoptes.utils.serial.handlersnamespace. #274 - Testing Dockerfile has
privilegedpermission to get deviceloop. #275 - Dockerfile: update
condain Dockerfile before installing environment; installpanoptes-utilsmodule in user-editable mode. #277 - Dockerfile: use
condaforge/miniforge3as the base, which reduces image size. Push multi-stage builds for better caching. #278, #279 - Consistent multi-stage names in Dockerfile; added
jupyter_console. #280 - Change behavior of
parse_config_directoriesso thebaseentry must always exist or be missing (in which case the cwd is used). Remove themust_existparam. #283
- Don't nest storage objects for the
PanFileDB. #280
panoptes.utils.rs232.find_serial_port()can be used to look up a serial port from the vendor and product hex ids. #269
panoptes.utils.config.config.client.get_config()changed sodefaultis the second parameter and function made less noisy overall. #272- Updated to
Pillow>=8.1.1for dependabot alert. #273.
panoptes.utils.loggingwhich is just replaced byfrom loguru import logger. # 272
- Added an
RGBIntEnum for easy iterating and consistent array access of rgb data. #265 - Added
save_rgb_bg_fitsthat will save a FITS files with seven extensions: combined rgb map, and then the background and rms maps for each color. #265
get_rgb_backgroundonly accepts adataargument and a filename can no longer be passed. #265- Updated defaults for
get_rgb_background. #265 get_stamp_slicehasas_slicesparam added with defaultTruefor legacy behavior. IfFalsethen just the four points are returned. #265- Test coverage will skip
noqamarkers and pytest will run all tests. #265 - Added
ruamel.yamlto base dependencies instead of justconfigextras. #265
- The
timeoutparameter is now passed fromget_solve_fieldtosolve_field. #266
-
Docker musical chairs:
- Add Dockerfile to be
panoptes-utilsbut don't use for testing. (#264) - Generic
panoptes-utilswithpanoptes-config-serveras default command example. (#264) - Move conda
environmentfile intodockerfolder. (#264)
- Add Dockerfile to be
parse_config_directoriesno longer modifies dictionary in place. (#264)
- Clean out the Contributing guide to point to POCS. (#264)
- Removing
pillow<7requirement. (#264)
- Removing unused new cli experiment. (#264)
- Removed all
PANDIRandPANLOGreferences. Closes #263. (#264) - Removed
astroplanfrom dependencies. (#264)
- Conda environment file (@wtgee #260)
- A cli script for
panoptes-utils. This will eventually take over thepanoptes-config-serverand any other simple commands needed. For now can usepanoptes-utils tests runfor building and running tests.
- Updated testing to use specific docker image. Updated run script for more specific options on starting testing config server. (@wtgee #260)
- Different
extrasinstall options:config,docs,images,testing, andsocial. (@wtgee #260) - Use
logurufor logging directly in all files, rather than needless import. (@wtgee #260) - Make the
CountdownTimer.sleep()less noisy. (#259)
- Plate solving extras option parsing correctly. (@wtgee #260)
- Explicit imports for some of the utils. (@wtgee #260)
-
Remove Docker services except for testing. (@wtgee #260)
-
Removed unused files: (@wtgee #260)
-
Example data fetching notebook removed.
-
Hotspot script removed.
-
Data (astrometry index and IERS) download removed.
-
wait-for-it.shscript removed. -
TheSkyX utils moving to POCS directly.
-
Removed
moving_average. -
Removed pipeline functions for getting
image_idandsequence_id.
-
Added
oh-my-zshinstall file directly to ease some issues with GCP builds. (@wtgee #257) -
Added
source-extractorto dependencies but with no custom config files. (@wtgee #257) -
Config Server:
- Option to start a heartbeat or not. (@wtgee #248)
-
Reverting back to
python=3.7for compatibility w/ GCP notebooks. (@wtgee #255) -
Freezing
astropy<=4.0.1while we wait forastroplanto get pushed. (@wtgee #255) -
Changed the horizon module to use numpy interpolation so we don't need to explicitly install scipy. (@wtgee #248)
-
altaz_to_radecaccepts astropy quantities. (@wtgee #250) -
Downloaded helper script doesn't have
python3hardcoded. (@wtgee #250) -
Docker Tools (@wtgee #248):
- Conda environment built from
resources/environment.yaml. (@wtgee #252) - Adds a "developer" dockerfile and compose file to install things for developers. (@wtgee #248)
- Docker CMD will run ipython. (@wtgee #248)
- docker-compose file will start a jupyter-lab instance. (@wtgee #248)
- Conda environment built from
- Fixed the
oh-my-zshpath for Docker install. (@wtgee #256) - Return testing output from docker container, passint exit status. (@wtgee #256)
-
The
starsmodule, which has been moved topanoptes-pipeline. (@wtgee #251) -
The
metadatamodule, which has been moved topanoptes-pipeline. (@wtgee #252) -
Docker Tools (@wtgee #248):
- Remove
source-extractorfrompanoptes-utilsand move topanoptes-pipeline. (@wtgee #252) - Remove
imagemagickfrompanoptes-utils. This is used for adding titles to JPGs. (@wtgee #252) - Don't install a separate conda environment, just use the base to help reduce image size, complexity. (@wtgee #252)
- Cleanup unused dependencies. (@wtgee @252)
- Remove
-
Testing:
- Adios travis! (@wtgee #252)
- Add bit_depth argument to mask_saturated, no longer convert to float64 by default (@AnthonyHorton #244)
- Single cloudbuild file for both
panoptes-baseandpanoptes-utils. (#242) - Add
astropychannel. - Remove the miniforge installer from the docker image and clean up build args. (@wtgee #245)
- Changed relative to absolute imports. (@wtgee #246)
-
Config server startup controlled via envvars, incorporating
python-dotenv(@wtgee #241):PANOPTES_CONFIG_HOSTandPANOPTES_CONFIG_PORTPANOPTES_CONFIG_FILE
-
Config server updates (@wtgee #241):
- Config server with project dir mounted can be started via
docker/docker-testing.yaml. - Config server flask instances are run on
geventwsgi server instead of development server. hostandportare specified at the top-level command, e.g.panoptes-config-server --host foobar --port 9999 get.hostandportrespect the above envvars above.- Options changed from
auto-saveandignore-localtosave-localandload-local. runcommand adds theconfig_server.running=Trueentry to the server.stopcommand added that setsconfig_server.running=Falseto break loop.
- Config server with project dir mounted can be started via
-
Testing (@wtgee #241):
- All testing is started from
scripts/test-software.sh. - The
panoptes-config-serveris started as an external service, not in the pytest conf. - Added a
tests/envfile that is used by the docker compose file for setting vars inside the running containers. - Config server uses
tests/testing.yamlfor all testing. - Testing logs are stored in
./logs, relative to the project root outside the container. - Coverage file is stored in
/var/panoptes/logs. - A
scripts/wait-for-it.shscript added to check that config server is running properly before starting tests.
- All testing is started from
scripts/setup-local-environment.shproperly uses new base image if requested. (@wtgee #241)- Docker images: fixed the created
sshdirectory for$PANUSER. (@wtgee #240)
This release is mostly cleanup and testing of our autobuild features.
- Splitting the
panoptes-basefiles into separate folder. (#238) - Consolidate the GitHub Actions for building and publishing a release package. (#239)
- Fix Github Actions for building releases. (#238)
-
Google Cloud Build of Docker images.
panoptes-baseandpanoptes-utilsare built for each PR as well as on merges todevelopandmaster. (#237)
-
GitHub Actions
- If a semantically tagged branch is pushed to GH, a release will automatically be generated and a package will be built and sent to PyPi. (#237)
- Changelog fixes. (#237)
-
Simplified docker images. (#227)
- Consolidation of Dockerfile to support images:
panoptes-baseserves as a base image for all docker services.panoptes-utils:latestinstalls editablepanoptes-utilsmodule from githubdevelopbranch.panoptes-utils:developis used for testing and can be built locally with thedocker/setup-local-environment.shscript.- Tests on GH and Travis use the
docker/setup-local-environment.shscript for building test images. miniforge <https://github.com/conda-forge/miniforge>_ used to install acondaenvironment withconda-forgeas default channels. Forces 64bit support.- Multi-arch builds are supported on
gcr.iovia thecloudbuild.yamlfile. Built withbuildxplugin to docker. Currentlylinux/amd64andlinux/arm64. - Extra zsh plugins in the docker image.
- Properly disable auto-update of zsh.
- Cleanup of entrypoint for better loading of environment.
Pillowfights.
- Dependencies:
pyarrowtoo hard to build on arm.hvplotandholoviewsnot needed in default install.
- Changed
dirtodirectoryin disk space check. (#226) - Pass the git folder to the build context when making local docker images. (#226)
- Added
arm64build for Docker based offubuntuimage. (#223)
-
Docker
- Changed base image to
ubuntu. (#223) amd64andarm64images built by default. (#223)- Ubuntu has changed
sextractortosource-extractor(yay). (#223)
- Changed base image to
-
Config Server
- Better parsing of directories entry in config server. (#222)
- Make config server less noisy. (#222)
-
Bump PyYaml to latest for security warning. (#222)
-
Remove pendulum because too hard to build on
arm processors <https://github.com/sdispater/pendulum/issues/457>_. ( #223)
Moving to python 3.8.
-
Breaking Python minimum version changed to
3.8. (#217) -
Running pytest locally will generate coverage report in terminal. (#218)
-
Lots of documentation. (#218)
-
Removing the environment section from the readme. (#218)
-
Config Server (#217)
- Better logging.
- Cleaning up doctests.
- Removing all dynamic server items from this repo as they are not needed.
- Wait for config_server to start.
- Fixing starting within fixture.
- Config items no longer assume any defaults for either directories or files. A config file name is always required and it should always be an absolute path. (#218)
- Adding test file for config items. (#218)
panoptes-config-serverre-worked and now includesrun,get, andsetsubcomamnds. (#221)
-
Testing (#218)
- Log files are rotated for each testing run.
- Fix env vars (mostly need to make sure the
exportoption exists in theenvfile. - Pytest commands moved to
setup.cfginstead ofrun-tests.sh - Remove old markers
- Setting
--strict-markersoptions. - Add
astrometrymarker for tests requiring solve andtheskyxmarker for running alongside TheSkyX. - Coverage reports generated in xml and output in terminal.
-
Serializers update. (#217)
- Make the parsing and serializing functions public.
- Use pendulum for parsing times instead of astropy Time.
- Better naming of public functions. (#218)
Straight past 0.2.19.
- Removed
bin/panoptes-config-serverand created an entry_point insetup.cfg. (#212) - Removed old developer items in favor of those in
panoptes-pocs. (#212) - Consolidate docker files, consistent naming with other repos. (#210, #212)
0.2.16 was released with an error and this is a hotfix.
- Added CR2 file testing to GitHub Actions. (#125, #205)
- A
wait_for_eventsgeneric utility, mostly pulled from POCS. (#92, #206)- Supports single
callbackthat can be used for interrupting, custom logging, etc. (#208)
- Supports single
- Remove the
validate_collectionrequirement from the database types, making any collection is now valid. (#204) - Rearrange some of the
panoptes.utils.databasemodules. (#204)
- Remove
error.InvalidCollection. (#204) - Unused items in
conftest.py. (#204)
-
Convert to
pyscaffold_. (#198)- Proper namespace package
panoptes. - Move items to
srcfolder. - Fix version number.
- Fix build.
- Fix documentation #27.
- Move all project config to
setup.cfg. - Base Docker image is run by root only.
- Added a
testingDockerfile and cleaned uplatestanddevelop.
- Proper namespace package
- Breaking Removing all zmq based messaging services. (#200)
- Add snappy decompression for parquet;
pyarrowinstead offastparquet(#193) - Password-less sudo for panoptes user on dev docker image (#193)
get_metadatahas an optional progress bar. (#194)- Add
bayer.get_stamp_slicefor getting a stamp slice while respecting the superpixel. This was removed awhile ago and has been re-added and improved. (#196)-
Adjusting the offsets so the center pixel is always::
G2 B R G1
-
- Fix time-based search (#193)
- Fix the build (#197)
- Removed
versioneerin favor ofsetuptools-scmfor workin version numbers. - Removed the MANIFEST.in
- Added a simple
pyproject.toml.
- Removed
- Breaking Only support getting stars directly from the WCS, not the footprint. (#194)
get_stars_from_footprint->get_stars_from_wcs- Better logging
- Consistent column names for dtypes
- Vmag bin comes from sql.
- Allow for different RA/Dec column names.
- Better catalog match function.
sextractorparam changes. (#194)- Breaking
panoptes.utils.logger->panoptes.utils.loggerso we canfrom panoptes.utils import logger( #197) - Breaking The
panoptes.utils.data.assetsmodule was removed and theDownloaderclass is placed directly within thescripts/download-data.pyfile. (#197) - The
panopes-utilsmodule is not installed in editable mode in thelatestdocker image. (#197)- Slight clean up of latest.Dockerfile
- Fix some passing of options between
get_solve_fieldandsolve_fieldthat was leading to double parameter issues. (#189)
- The
panoptes.utils.datafunctions use static versions of the file rather than firestore. (#192) - Updated development environment (#191)
get_metadatafilter the fields at the parquet level. (#194)
Quick release to get the panoptes.utils.sources into the package.
panoptes.utils.sourcesnot included in package. (#187, #188)
- Ability to pass credentials to underlying google client functions. (#187)
- Data
- Added basic data access components for getting observation and image metadata. (#178, #181)
- Added a
search_observationsfunction for searching by various criteria. (#181)- Uses anonymous credentials to connect to firestore.
- Added a basic notebook demonstrating features.
- Adding
holoviewsandhvplotas required dependencies.
- FITS Utils fixes:
- Fix docstring return types for some functions. (#173)
fpack/funpackandget_solve_fieldwere not properly overwriting FITS files under certain conditions when an uncompressed file of the same name was present alongside the compressed version. (#175)- Properly pass
argsandkwargstoastropy.io.fits.getdata. (#180)
- Docker
- Changed developer tag from
devtodevelop. (#174)
- Changed developer tag from
- FITS Utils changes (#173):
- Uncompressed file is always used for solve because we were occasionally seeing odd errors as described in dstndstn/astrometry.net#182. (#173)
⚠️ get_solve_fieldwilloverwriteby default.- Better log output for solving.
- Better checking for solved file at end (via
is_celestial). - Cleanup the cleanup of solve files, removing
remove_extrasoption. - Pass
kwargsto underlyingwritetomethod forwrite_fits. Needed for, e.g.overwrite. - Allow additional options to be passed to solve field functions without having to override all options. (#180)
- Changed default options in
get_solve_fieldto usescale-lowandscale-highinstead ofradius( which requires anraanddec). (#180)
- Changed
bin/panoptes-dev->bin/panoptes-developfor naming consistency. (#175) - Data
- BREAKING The
panoptes.utils.data.pyhas moved into thepanoptes.utils.datanamespace with the relevant existingDownloaderclass placed in theassets.pymodule. (#181) - Changed the
get_data(and images and observations equivalent) toget_metadata. (#181)
- BREAKING The
FITS Utils removals (#173):
- Removing unused and confusing
improve_wcs. - PanLogger class moved to POCS. (#186)
get_stars_from_footpr intcan accept aWCSdirectly instead of just the output fromcalc_footprint(). ( #164)- Ability to create different tags for the docker image. The
developdirectory is now used to create adevelopimage and is provided along withlatest. (#165) get_rgb_backgrounds(return_separate-True)will now return theBackground2Dobjects. (#166)- Added BigQuery pandas dependencies. (#168)
- Added a developer image at
panoptes-utils:dev, which is also auto-built along with thelatestin the cloudbuild. Offers ajupyter-labinstance along with a number of plotting modules. Can be easily started viapanoptes-dev. (#170, #171)
image_id_from_pathandsequence_id_from_pathcan recognize a zero in thecamera_idandNonewhen no match. (#163)- Fixed the bigquery client param for star lookup. (#164)
- Unquote paths before id matching. (#169)
- Do WCS match for all unmatched sources, not just matched sources. (#172)
- Docker entrypoint no longer tries to activate service account if
$GOOGLE_APPLICATION_CREDENTIALSis found. The python client libraries will recognize the env var so this means we can avoid installinggcloudutilities just to activate. (#165) - The
sourcesmodule does not require a BigQuery client to be passed but can start it's own. A warning is given if$GOOGLE_APPLICATION_CREDENTIALSis not found. (#167) lookup_point_sourcesupdates: default vmag range expanded so less false positive matches [4,18). (#168)- Removed TOC from changelog. (#170)
- Sextractor param changes: (#171)
- Threshold for detection changed from 3 pixels to 10 pixels.
- Seeing changed from 0.7 arcsec to 15.3 arcsec. (Isn't used.)
- Removed
class_starfrom sextractor results.
Pointless version bump because of issue with PyPi <https://github.com/pypa/packaging-problems/issues/74>_.
Thanks first-time contributer @preethi524! 🎉
- Ability to return separate RGB backgrounds. (#162)
- Increase coverage. (#161)
- Basic serialization of
Exception. (#160)
- Add
argsandkwargstoget_rgb_background. (#160)
get_rgb_backgroundadded to thebayermodule. (#158)getwcsthin-wrapper added tofitsmodule. (#158)- Added
sourcesutils. (#158)
- Changed scope of test data files to
function. (#158)
* Change to `python:3.8-slim-buster` for base image. Only `amd64` support for now. (#155)
* Simplified docker files. (#155)
* Switching from Travis to GHA: (#155)
* Travis builds docker image before testing.
* Travis doesn't upload coverage.
* Don't update module inside container during entrypoint.
* Fixed user permissions for $HOME and $PANDIR. (#155)
* The docker container only really likes it when user id `1000` is running the system.
* Remove GCP Cloud SQL proxy support.
* Installed `sextractor`. (#158)
* Added `pandas`. (#158)
* Default `panoptes` user has password `panoptes`. (#158)
- Docker (#155)
- Remove anaconda
- Polar alignment utils (#156)
- Github Actions testing and coverage upload. (#145)
- Log files for testing are created as an artifact.
PanLoggerhelper class added. Mostly handles formatting but can also track handlers. (#145)
- Fixed top-level namespace so we can have other
panoptesrepos. (#150, fixes #137)
- Data files for testing are copied before tests. Allows for reuse of unsolved fits file. (#144)
- Fix astrometry data file directories in Docker images. (#144)
- The docker image no longer updates
panoptes-utilswhen usingrun-tests.sh. (#145)
- Disallow zipped packages, which also interfere with namespace (#142)
photutilsdependency for rectangular apertures in theshow_stampsmethod.
Small point release to correct namespace and remove some bloat.
- Fixed top-level namespace so we can have other
panoptesrepos. (#137)
- Dependencies that will be deprecated soon and are causing bloat:
photutils,scikit-image. (#138)
- Fixed top-level namespace so we can have other
panoptesrepos (#137, #150).
Mostly some cleanup from the v0.2.0 release based on integrating all the changes into POCS.
- Misc bugs introduced as part of last release, including to
download-data.pyscript. - Custom exceptions now properly pass
kwargsthrough to parent (#135).
- New script for downloading data,
scripts/download-data.py. This helped resolve some issues with the relative imports introduced inv0.2.0and is cleaner. (#129) - All dependencies are smashed into one "feature" in
setup.pyto makepip-toolswork well. This will fix the docker image problems introduced inv0.2.1. (#136)
- The
get_root_loggerand associated tests (#134).
First big overhaul of the repository. Pulls in features that were duplicated or scattered across
POCS <https://github.com/panoptes/POCS.git>_ and PIAA <https://github.com/panoptes/PIAA.git>_. Removes a lot of code
that wasn't being used or was otherwise clutter. Overhauls the logging system to use
loguru so things are simplified. Updates to documentation.
- Config Server
- See the description in the README
Versioneer <https://github.com/warner/python-versioneer>_ for version strings (#123).- Read the docs config (#123).
- IERS Mirror (#65, #67)
- Docker updates
- See #68 and #75 for list.
- Logging:
- Switch to
loguru <https://github.com/Delgan/loguru>_. This simplifies our logging system. Also gives us access to thetrace(lower thandebug, good for hardware and other debug we don't need to see during operation) andsuccess(higher thaninfo) levels, which would be nice to start implementing. (#123) - Consistent use of relative imports. (#123)
- Documentation updates. (#97, #119, #120, #123)
- Repo cleanup. (#97, #123)
- Using GitHub Actions for testing. (#100, #101)
- Using
pip-tools <https://github.com/jazzband/pip-tools>_ for dependency management.
Changes and cleanup on the way to a (more) stable release. See 0.2.0 for list of changes.
Bringing things in line with updates to POCS for docker and panoptes-utils use.
- Serial handlers move to panoptes-utils from POCS.
- Tests and coverage.
improve_wcs(moved from PIAA).~utils.fits.getdatato match other fits convenience functions, allowing for fpack files.
-
Serialization fixes.
- Use our serialization everywhere (e.g. messaging)
- Closes #panoptes/POCS/issues/818
- Closes #panoptes/POCS/issues/103
-
Setup/Install:
- Scripts are renamed to have
panoptesprefix. - Scripts are installed as part of setup.
- Script improvements to make more robust and portable.
- Scripts are renamed to have
-
Docker Updates:
- Don't use anaconda.
-
Testing:
- Overhaul of config_server use in testing.
- Testing config file is separated from any regular config files.
-
Logging:
- Silence some 3rd party logs.
- Added bayer utilities. 📷
- Added Cloud SQL utilities. ☁️
-
Breaking Changed namespace so no underscores, i.e.
from panoptes.utils import time. -
Docker updates:
- Use slim python images and not anaconda on amd64.
- Adding zsh as default shell along with some customizations.
- Entrypoint script properly authenticates to google cloud if possible.
- Added amd64 only build scripts.
-
Docker containers created:
panoptes-basefor base OS and system packages, including astrometry.net and friends.panoptes-utilsfor container containing base utilities.- Script for building containers in GCR.
-
Consistent JSON and YAML serializers.
-
Configuration Server (Flask/JSON microservice).
- Minimum Python version is 3.6
- Default PanDB type is changed to
memory. - Documentation updates.
- Bux fixes and code improvements.
- Added a change log. Yay.
- Drop
orjsonand revert tojsonfor the JSON serializers.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.