Metadata-Version: 2.1
Name: seledri
Version: 0.0.1
Summary: Timekeeping and scheduling
Author-email: dennis <denngohis@gmail.com>
Project-URL: Homepage, https://github.com/dennsgh/seledri
Project-URL: Issues, https://github.com/dennsgh/seledri/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE

# Seledri
![Seledri Logo](/assets/seledri.png)

## Overview
This project provides a robust task scheduling system, utilizing a `Worker` class for task execution and a `Timekeeper` class for managing task scheduling and lifecycle. It is designed to handle tasks efficiently, ensuring they are executed and cleaned up properly.

## Features
- **Task Execution**: Execute tasks at specified times with the ability to pass arguments and keyword arguments.
- **Task Scheduling**: Schedule tasks with precision and handle their lifecycle.
- **Logging**: Comprehensive logging for monitoring task execution and job management.
- **Modularity**: Clear separation of concerns between task execution (`Worker`) and scheduling (`Timekeeper`).

## Installation
To set up the project environment, follow these steps:

1. Clone the repository:
```
git clone https://your-repository-url.git
```
2. Navigate to the project directory:
```
cd seledri
```
3. Install dependencies
```
pip install apscheduler
```


## Usage

...

### Starting the Scheduler
```python
from worker.worker_aps import Worker
from scheduler.timekeeper import Timekeeper
from pathlib import Path

# Initialize the Worker
worker = Worker(function_map_file=Path("path_to_function_map.json"))

# Start the worker
worker.start_worker()

# Initialize the Timekeeper with the worker instance
timekeeper = Timekeeper(persistence_file=Path("path_to_jobs.json"), worker_instance=worker)
```
