Skip to content

0.8.0

Compare
Choose a tag to compare
@afuetterer afuetterer released this 16 Nov 15:38
· 173 commits to main since this release
9369429

Note: Rename project to oaipmh-scythe when forking it from mloesch/sickle to
afuetterer/oaipmh-scythe

Breaking Changes

  • drop support for Python 2
  • drop support for EOL Python 3.7 and below
  • rename Sickle class to Scythe to reflect the change of the project name
  • switch to PEP8 compliant names for methods (ListRecords() -> list_records())
  • remove .next() method from iterator classes

Features

  • set up default custom user agent (oaipmh-scythe/{version})

Performance Improvements

  • make iterator classes yield their responses

Code Refactoring

  • switch from requests to httpx
  • make BaseOAIIterator an ABC
  • move version information to about.py
  • add a custom base exception

Testing

  • switch from nose to pytest
  • add tests for Python 3.8 - 3.12 in CI
  • use canned responses from Zenodo to test harvesting logic (vcr.py)

Documentation

  • update license text
  • update authors and contributors
  • update copyright notice in src files
  • add contributor guide
  • add security policy
  • add issue and pull request templates
  • add custom GitHub labels
  • switch from Sphinx to mkdocs-material
  • switch from Read the Docs to GitHub pages
  • switch from reStructuredText to Markdown
  • switch to Zenodo for harvesting examples
  • update README badges

Other

  • switch from Travis CI to Github actions for CI
  • add scheduled dependency updates with Dependabot
  • add pre-commit hooks (e.g. ruff, mypy)
  • switch to src layout
  • switch from setup.py to pyproject.toml
  • switch to hatch for project setup
  • add type annotations
  • switch to Google style docstrings
  • rename first tags of sickle project for consistency (e.g. v0.5 -> 0.5.0)
  • enable CodeQL scanning
  • add OpenSSF Scorecard report

Full Changelog: 0.7.0...0.8.0