# mdc-lsl

[![Python Version](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/license-Commercial-blue.svg)](LICENSE)

A Python library for calculating Long Service Leave entitlements across different Australian jurisdictions.

## Features

- Jurisdiction-specific Long Service Leave (LSL) calculations
- Support for various employment scenarios and edge cases
- Accurate entitlement, accrual, and termination calculations
- Extensive unit testing with real-world examples

## Installation

Install the package using pip:

```bash
pip install mdc-lsl
```

Or directly from the repository:

```bash
git clone https://github.com/Melbourne-Data-Company/mdc-lsl.git
cd mdc-lsl
pip install -e .
```

## Usage

```python
from mdc_lsl.calculators.wa_calculator import WaCalculator

# Initialize calculator
calculator = WaCalculator()

# Calculate accrual
accrual = calculator.calculate_accrual(
    as_at_date='2023-12-31',
    continuous_service_date='2020-01-01',
    days_not_in_service=0
)

print(f"Accrued LSL: {accrual} weeks")
```

## Supported Jurisdictions

- New South Wales (NSW)
- Victoria (VIC)
- Queensland (QLD)
- Western Australia (WA)
- South Australia (SA)
- Australian Capital Territory (ACT)
- Tasmania (TAS)
- Northern Territory (NT)

## Documentation

For more detailed documentation, see the [Wiki](https://github.com/yourusername/mdc-lsl/wiki) or the [docs](docs/) directory.

## Development

### Setting up a development environment

```bash
# Clone the repository
git clone https://github.com/Melbourne-Data-Company/mdc-lsl.git
cd mdc-lsl

# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -e ".[dev]"
```

### Running tests

```bash
pytest
```

### Code quality

```bash
# Run linting
flake8

# Run type checking
mypy src
```

## Contributing

For defects or enhancement requests visit [somewhere]().

## License

Need to figure out what license details to do in here.

## Related documents 

- [Long Service Leave Requirements]()
- [NSW Long Service Leave Act]()
- [Victoria Long Service Leave Act]()
- [QLD Industrial Relations Act]()
- [WA Long Service Leave Act]()
- [SA Long Service Leave Act]()
- [ACT Long Service Leave Act]()
- [TAS Long Service Leave Act]()
- [NT Long Service Leave Act]()
