Dryad2dataverse changelog¶
Perfection on the first attempt is rare.
v0.6.1 - 11 May 2023¶
dryad2dataverse.constants
- Eliminated deprecated parameter in call to
urllib3.util.Retry
as per https://github.com/urllib3/urllib3/issues/2092
v0.6.0 - 2 May 2023¶
- Updated to current Python packaging standards
- Installation can now be done straight from
pip
without resorting togit+http. . .
- Test framework now
unittest
- Documentation updated
dryad2dataverse.constants
constants.dvurl
now defaults to https://borealisdata.capathlib
instead ofos.path
for greater cross-platform compatibility.
v0.5.8 - 10 February 2023¶
- Good lord I misspelled “February” initially
- certifi requirements updated
- somewhat better error logging for odd requests failures
- Dataverse JSON change to be in compliance with new standards for v5.12+
Note that binaries will no longer be produced for dryad2dataverse. If you want one, you can either contact me and I will create one and add it to the release, or you can make one yourself using PyInstaller or Nuitka. The effort of making them vs the lack of downloads has led to this decision. If this is a problem please create an issue for discussion.
v0.5.0 - 7 December 2022¶
dataverse.handlers
- New handler component
- Custom SSL log handler
SSLSMTPHandler
added which reduces frequency of email problems
dryadd.py
- Mail formatting changed to ensure lines are less than 1000 characters in length to adhere to [RFC 2825 4.5.3.5] (https://www.rfc-editor.org/rfc/rfc2821#section-4.5.3.1).
- Logging messages contain more information
- Default mail service changed to Yahoo mail
- Default dataverse server destination changed to
https://borealisdata.ca
- Help text cleanup
v0.3.1 - 4 February 2022¶
Changes to the Dryad API sparked a few changes to dryad2dataverse and dryadd.py. More specifically, the Dryad /search
API endpoint can produce false positive results, which can result in bulk study replacement when none is required. Additionally, as file IDs are not unique in Dryad (contrary to the documentation), files are no longer identified on the basis of Dryad file ID.
dryad2dataverse.serializer
Serial.files
output now includes explicit hash type
dryad2dataverse.monitor
Monitor.status()
now returns values ofnew, unchanged, updated, filesonly
- Monitor.status() now includes
notes
key - Monitor.diff_files() now outputs a list of files for new studies using the
add
key instead of producing an empty dict. - Monitor.diff_files() outputs of
hash_change
key listing files whose names and sizes are identical but have either a changed hash or a new one.. Note that this does not necessarily indicate a changed file as hashes have been added to existing files. - Monitor.get_dv_fid() now explicitly selects highest ROWID when returning a Dryad UID as UIDs are not considered persistent identifiers (as per email from Dryad January 2022)
dryadd.py
- Dates are now filtered by metadata
lastModificationDate
as Dryad search API endpoint does not respect date parameter (as per Dryad email, January 2022). - Databases are now backed up with suffix of
.YYYY-MM-DD-HHMM
instead of generic.bak
- Number of backups can be specified as a parameter
- Switch added to halt process on excessive number of study updates
- Study threshold added to specify what is considered “excessive”
- Recipients are emailed on halt due to excessive updates
- Verbosity increased
- Output now explicity includes lists of new files instead of empty dict
- Updates now skipped on report of
unchanged
orlastmodsame
; ie. metadata is identical or the lastModificationDate field in the Dryad JSON unchanged.
Other
- Binary files are now only included as part of a Github release
- Binary release now includes linux x86-64
- Dataverse utilities scripts removed; use dataverse_utils instead.
v0.1.4 - 22 Sept 2021¶
requirements.txt
- Updated version requirements for
urllib3
andrequests
to plug dependabot alert hole.
dryadd.py
- Updated associated
dryadd.py
binaries to use newer versions ofrequests
andurllib3
v0.1.3 - 10 August 2021¶
setup.py
- Enhanced information
dryadd.py
- Script repair for better functioning on Windows platforms
v0.1.2 - 4 May 2021¶
- fixed error in
setup.py
- added binaries of
dryadd
for Windows and Mac
v0.1.1 - 30 April 2021¶
dryad2dataverse
- improved versioning system
dryad2dataverse.serializer
- Fixed bug where keywords were only serialized when grants were present
dryad2dataverse.transfer
- Added better defaults for
transfer.set_correct_date
dryad2dataverse.monitor
- Added meaningless change to
monitor.update
for internal consistency
scripts/dryadd.py
- Show version option added
transfer.set_correct_date()
added to set citation to match Dryad citation.
v0.1.0 - 08 April 2021¶
- Initial release