Metadata-Version: 2.1
Name: PyCronExpression
Version: 1.0.1
Summary: A simple Python Cron Expression lib
Home-page: https://github.com/vubon/PyCronExpression.git
Author: Vubon Roy
Author-email: vubon.roy@gmail.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pytz
Requires-Dist: tzlocal

# Python Cron Expression
[![PyPI version](https://badge.fury.io/py/PyCronExpression.svg)](https://badge.fury.io/py/PyCronExpression)
![Coverage](https://raw.githubusercontent.com/vubon/PyCronExpression/master/docs/coverage.svg)
[![GitHub version](https://badge.fury.io/gh/vubon%2FPyCronExpression.svg)](https://badge.fury.io/gh/vubon%2FPyCronExpression)

## Introduction
Introducing `PyCronExpression` – a user-friendly Python library for crafting Cron job expressions effortlessly.
With this tool, users can create Cron job expressions by simply passing a timestamp or datetime object.
Say goodbye to the complexities of writing Cron expressions
and embrace a more convenient way to manage scheduled tasks on Linux or AWS platforms.

## Quickstart
### Installation
Install from pypi: 
```shell script
pip install PyCronExpression
```

##### Feature List

| Name                         | status |
|------------------------------|--------|
| Timestamp or datetime object | `done` |
| Minute                       | `done` |
| Hourly                       | `done` |
| Daily                        | `Done` |
| Weekly                       | `done` |

## Example 

#### Timestamp or datetime object
```python
from datetime import datetime
from py_cron_expression import CronJobExpression
cron_job = CronJobExpression()

timestamp = int(datetime.now().timestamp())
res = cron_job.cron_expression(time=timestamp)
print(res)
# Output 
# 10 55 13 2 5 ? 2020

# If you want to remove second from in your cron job expression. 
# Then you need to add cancel='second'
# example
cron_job.cron_expression(time=timestamp, cancel='second')
# Output 
# 55 13 2 5 ? 2020
```
To learn more [Documentation](./docs/guide.md).

## Changelog
See [Changelog](CHANGELOG.md)

## License
MIT

## Changelog
All notable changes to this project will be documented in this file. <br/>
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 1.0.1 - 2023-10-28
### Update
- Update docs

## 1.0.0 - 2023-10-28
### Add
- Add weekly expression

## 0.1.0 - 2020-05-28
### Fixed
- Tuple comprehension in validations 

## 0.1.1 - 2020-05-28
### Fixed
- Fixed broken coverage svg 
