-
Notifications
You must be signed in to change notification settings - Fork 346
Description
py_require() currently defaults to resolving latest available package versions. This “always-latest” approach works well enough, but I'm starting to think it's the wrong default. It exposes users to too much risk, and, in practice, it's kind of annoying if you're continuously exposed to a steady stream of breaking changes at random times scattered throughout the day, especially if the breaking changes are transient and are fixed a few hours later by a yank or another update.
I propose we shift exclude_newer to a scheduled cadence instead of tracking the latest release.
Possible defaults
floor_week()(e.g.,prev_sunday_midnight())prev_monday_10am()orprev_prev_monday_10am()floor_date()(e.g.,prev_midnight())Sys.Date() - 2(e.g., two days ago midnight)
This means updates appear predictably (daily, weekly) and in tranches, rather than instantly and continuously. Bleeding edge could remain available via options(reticulate.py_require.exclude_newer = NA), and custom cadences or exclude times via
options(reticulate.py_require.exclude_newer = <(function-returning)?string/POSIXt/>)
It should also make Python environment initialization a little faster, since we don't have to check for the latest from PyPi every time.