- Issues#20 Fix handling of zoneinfo.ZoneInfo timezones.
- Issues#29 Fix misconfigured setuptools build.
- Move documentation to https://scheduler.digon.io.
- Add support for Python 3.14.
- Drop support for Python 3.9. (end-of-life).
- Type hint Scheduler.once()
argsas a variadic generic tuple. (Thanks @sanurielf), PR #9 - Python 3.13 support.
- Version bump to fix CI/CD process
- Fixed misue of
tagsargument (was dict where it should have been set) and allowed to pass asIterable.
- Fix a number of type annotations
BaseScheduleris now genericBaseJobis now generic- Fixed annotations for Coroutines in asyncio scheduler
- Disable mypy's strict mode for now (ignores
**kwargstyping for now)
- Added type annotations into testing code
- Migrate from
setup.pytopyproject.toml
- Python 3.12 support.
- Issue#18 fixed (Thanks @bshakur8 (Bhaa Shakur), PR #7)
- Improved deprecation warnings (Thanks @bshakur8 (Bhaa Shakur), PR #6)
- Issues#16
TypeguardAPI migration.
- Migrate from ReadTheDocs to HostYourDocs.
- Custom docs colour theme.
- Add
CONTRIBUTING.md. - Include
pre-commitconfig.
- Fix deadlock bug Issue#15.
- Fix displaying of DeprecationWarning for the
delayflag.
- Python 3.11 support.
- The library is now also tested against python version 3.11.
- Update patches for other python versions.
- Catching unhandled exceptions of scheduled functions
(Issue#13):
- Introduced logging for unhandled exceptions.
- The scheduler takes a custom logger instance as argument.
- Jobs are now counting the number of unhandled exceptions.
- Improved some exception messages.
- Minor documentation corrections.
- Minor README.md corrections and simplifications.
- Removed deprecated Prioritization code from
util.py.
- Some exception messages that previously were wrongly tested and therefore ignored.
are now matched using the
matchargument inpytest.raises. - Bugfix in PKGBUILD's package() function.
- formatting of README.md
- CI file correction for coverage report
test_readme.pynow uses monkeypatcheddatetime.now()- Tests are contained in their own modules therefore installation before testing is no longer necessary
- testing requirements now include
typeguard - coverage badge should work again
- sponsor Digon.IO added
- aliases are now supported for Scheduler.once
- Skipping checksum in PKGBUILD (we do not know the hash in advance of pushing)
- Added missing checkdepends:
python-pytest-asyncio
- String fixes:
function / aliasand spaces - additional alias example
- corrected alias_text
- tag & parameters - remove unneeded
doctest:+ELLIPSISinstruction - note added on tags
- Bump version in PKGBUILD.
- Fix image for release stage.
- Added a scheduler for asyncio under the import path
scheduler.asyncio.Scheduler.
- The deletion of an unscheduled
Jobwith thescheduler.Scheduler.delete_jobmethod raised aKeyError. This was corrected and it will now raise aSchedulerError.
- Refactoring of the internal code structure.
- New namespace conventions.
- Revision of the
setup.pyfile. - Revision of the README.md.
- Documentation updated.
- The documentation now uses the furo theme.
- The
delayargument used when scheduling jobs of different types will be removed in a future release.
- Some mypy errors arise due to implementation details regarding the inheritance of the
BaseJobandBaseScheduler.
- Fix the missing lock acquiring in the
JobTimerdescribed as bug in the issue #10.
- Fix the version of
mistunein therequirement.txtto prevent pipeline failure (m2r2dependency, not fixed there).
Schedulerinstanciation andScheduler.oncearguments are now keyword only.
Jobs can be given a string alias for identification instead of defaulting to function name.
- Python version requirements added to
setup.py
- Revision of the README.md for the first release on PyPI.org
Jobs can be tagged and filtered by sets of string identifiers
Job:paramsrenamed tokwargsand introducedargskeyword analog toschedlibrarydelete_all_jobsreplaced and implemented withindelete_jobsWeekdayimplemented as abstract class inscheduler.trigger.coreinstead ofEnuminscheduler.util. Now withtimeattribute.Scheduler.onceandScheduler.weeklyno longer accept a tuple ofWeekday, datetime.timefor the timing argument.
Jobrefactoring- Documentation updated
- Extended
JobAPI byparams,skip_missinganddelay.
- Refactoring of
schedulingfunctions using**kwargs - General documentation improvements
- Threading support,
scheduleris now thread safe. - Added
n_threadsargument toSchedulerfor parallelJobexecution.
- Improved examples and docs.
Jobbatching limited to distinct timingsJobbatching limited tominutely(),hourly(),daily()andweekly()
- Behaviour of
skip_missingadjusted
- Improved documentation (mostly formatting)
- Switched to LGPLv3 License
- Delete all scheduled
Jobs using a single command. - Added
__repr__and__str__methods toJobandScheduler - Execute all scheduled
Jobs regardless of when they are scheduled. - Added optional
Jobflag: Discard missed executions befor the last pending execution Jobs can be passed toScheduler.__init__Jobexposes propertytzinfoJobs support astartandstopdatetime- Improved Exception handling
- Extensive documentation rework
- Completely overhauled
SchedulerAPI
- Fixed infinite recursion in
JobTimerofcalc_next_exec
- Improved examples and docs.
- Added Guides and FAQ
- Allowed parameters to be passed to the function handled by
Job
- Improved examples and docs
- Full test coverage :)
- Switched
Schedulerargumentsmax_execandtzinfo.
- A
weight_functioncan be passed to Scheduler for customizableJobweighting.
- Added a changelog
- Revision of
setup.py - Fixed readthedocs configuration
- Small optimizations in
README.mdand docs README.mdembedded within sphinx documentation.- Provide a
secrets.pyto support local PyPI caching - Improved test coverage
- Initial beta release