
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Simple cron-like parser for Python, which determines if current datetime matches conditions.
pip install pycron
import pycron
pycron.is_now('*/5 * * * *') # True every 5 minutes
pycron.is_now('0 * * * *') # True every hour, on minute 0
The formats currently supported are
*/5
(for "every X" function),4-10
(for time ranges),6,8,23
(for a list of values),*
(for wildcard),The module includes is_now(s, dt=None)
, where s
is the cron-style string
and dt
is the datetime to use (defaults to current datetime, if not set).
The function returns True
, if dt
matches the format.
It also includes has_been(s, since, dt=None)
, where s
is the cron-style string,
since
is a datetime in the past and dt
is the datetime to use (defaults to current datetime, if not set).
The function returns True
, if dt
would have matched the format at some point during the period.
This behaves much like like anacron and is useful for applications which do not run continuously.
All functions are compatible with both timezone aware and naive datetimes.
There are couple of helpers available, mainly for use with Django. They give out list of tuples, as required by Django field choices.
The available helpers are
pycron.MINUTE_CHOICES
,pycron.HOUR_CHOICES
,pycron.DOM_CHOICES
, for day of monthpycron.MONTH_CHOICES
, for month namespycron.DOW_CHOICES
, for day namesCurrently supported "alternative" datetime libraries are:
This was done, as I personally needed something like this to implement proper timers for my Django-project and every available library felt too complicated for my use-case. Also, this was a good coding exercise...
As the Django -helper choices are quite limited, I've expanded them in my own project by adding values like
('*/5', 'every 5 minutes')
, ('1-5', 'on weekdays')
, and ('0,6', 'on weekends')
.
I haven't included them in the code, as every use-case is different, this was just to give an idea on how to use this ;)
FAQs
Simple cron-like parser, which determines if current datetime matches conditions.
We found that pycron demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.