This document records the main changes to the sdss_access code.
- PR 62 - Fix issue 61: removed use of
disutils
which has been Deprecated in Python 3.12. Also pin Sphinx to<7.3.0
to address this issue <sphinx-doc/sphinx#12339>. - Adding -i to rsync stream command to accommodate issues with new Mac OS Sequoia
- Fix issue 52 - rsync failure when remote file is compressed compared to template
- Issue 48 - Add support for adding temporary paths for use in local sdss_access
- Issue 55 - Add support for adding resolved urls or filepaths into sdss_access remote download
- PR 57 - Enables symlink following by default. Adds a
follow_symlinks
option to thecommit
method.
- Add new
tilegrp
method for grouping LVM tile ids - Updates test action to use the latest tree git repo
- Add support for .fz compression
- Release for IPL-3
- Bug fix for remote access to IPLs > IPL-1
- Fixing sdss_access after tree updates. "sdsswork" now references SDSS-V paths.
- Pins tree package to >4.0
- Adds new pattern for detecting required keywords in special functions
- Adds new configsubmodule special function.
- Pins tree package to <4.0.
- Bug fix for downloading IPL-1 products with sdss_access
- Fixing broken tests with MWM paths
- Minor path fixes for MWM and Astra paths
- Adds new isplate and pad_fieldid special functions for BHM paths.
- Adds new configgrp special function.
- Breaking Change: switches sdss_access to use new SDSS dtn.sdss.org server
- Feature: adds new "data.sdss5.org" server to support rsync, curl, and http downloads for sdss5 products
- Adding new Sphinx docs for SDSS collaboration authentication
- Updates the public release check to now check todays date against the tree release date, and "DR" in release name.
- Feature - Adds new functions for mwm healpixgrp, apginst, and apgprefix to determine other keywords from existing telescope kwarg
- Support :issue:`25` - Adds
preserve_envvars
option to preserve original os environment variables
- Feature :issue:`7` - Adds a progress bar to downloads with tqdm
- Feature :issue:`18` - Allow Path to work off of loaded module files
- Bug Fix: issue appending compression suffixes when wildcards present
- Bug Fix :issue:`16` - HttpAccess used in public mode checks for netrc file
- Combines separate set_auth methods in BaseAccess and HttpAccess into a single set_auth available as AuthMixin
- Auth.set_netrc now raises an AccessError on failure to find a value netrc file.
- Modified sdss_access to use the new versioned tree. Removes input and dependency on single sdss_paths.ini file.
- sdss_access no longer uses ConfigParser to parse the sdss_paths.ini file
- path templates are passed in directly from the tree python product
- The symbol for "special function" path definition has changed from % to @
- sdss_access now checks for compressed/uncompressed files on disk compared to its path template definition
- remote access classes, i.e RsyncAaccess, no longer need both public and release to be specified to access DRs. Sets public=True automatically if DR in release name.
- Added
path.changelog
module with newcompute_changelog
andget_path_templates
functions to compute changes in paths between releases - Moved tests out of
sdss_access
python package to top level. - Deprecated included logger and config in favor of
sdsstools
logger and config. - Simplified python package setup.cfg and consolidated requirements files
- Pinning sdss-tree requirement to <3.0
- Bug in remote file existence check for following redirects.
- bug in rtfd build failures
- Issue :issue:`12` - bug on Windows when HOME drive different than Window temporary directory drive
- Issue :issue:`11` - bug on Windows not creating temporary paths correctly
- new extract method to return extracted keywords from a given filename
- new tests for sdss_access.path
- methods to extract and look up source code given a method name
- sdss_access now has a CurlAccess class to enable use on Windows OS
- implemented new BaseAccess class to abstract out commonalities between RsyncAccess and CurlAccess
- added a general Access class which handles the choice between Rsync/CurlAccess
- issue :issue:`10` - added public access for HttpAccess
- merged PR :pr:`6` - add curl as an access method
- expanded lookup_keys to also look for keywords inside special % functions
- moved special function template substitution into a separate method
- replaced template envvar substitution with os.path.expandvars
- updating yaml.load to use FullLoaded in compliance with pyyaml 5.1
- changing disutils.strictversion to parse_versions
- moved methods from RsyncAccess and CurlAccess into common BaseAccess
- refactored the test suite to add tests on DR data, and simplify new path entries
- Bug fix for pathlib on 2.7 python systems
- Issue :issue:`9` Bug fix in generate_stream_task for public rsync locations
- Ability to check for a remote file existence on the SAS
- rsync.reset now resets both the initial stream and the real stream
- rsync.add now accepts the full keyword argument
- rsync.full now checks for itself in kwargs and returns that
- Bug when checking for missing keys; removes key format from variable name
- New tests for Path and RsyncAccess
- Public toggling (now replants Tree upon init of Path or RsyncAccess)
- lookup_names method to look up all the available sdss_path names
- Wrapped config file opens in 'with' to ensure proper file closures
- Cleaned up some verbose warnings
- Accessing a 'full' keyword argument in Path methods to ensure proper handling
- path generation now fails with KeyError when missing input keyword arguments
- Bug with RsyncAccess not properly working with public data releases
- Method to lookup the keyword arguments needed for a given path name
- Sphinx plugin to auto document the sdss_access path definitions
- Added new Sphinx documentation and wrote some stuff
- Migrated sdss_access over into the cookiecutter model