# Holidex
Holidex provides a purely functional API to retrieve public holidays by country. Effortlessly integrate holiday information into your applications.
## Installation
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `holidex` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:holidex, "~> 0.1.0"}
]
end
```
Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at [https://hexdocs.pm/holidex](https://hexdocs.pm/holidex).
## Features
* Provides Canadian holiday names and dates with a distinction between the official `date` of the holiday and the `observance_date`, which are usually different when the holiday falls on a weekend. The named property `observance_date` is subject to change since I don't believe it's the proper way to express this distinction.
* Each holiday will have a `regions_observed` key that lists which provinces consider the holiday statutory. When the holiday is observed nationally, the `regions_observed` key will be set to `all` and `national_public_holiday` will be `true`.
* `regional_names` provides localized names for holidays in different regions. As an example, `Civic Holiday` in Ontario is referred to as `British Columbia Day` in British Columbia.
## Getting Started
The quickest way to get started is exploring the API in `iex`:
```
$ iex -S mix
```
```
iex(1)> Holidex.Countries.Canada.holidays(2025)
```
```
iex(2)> Holidex.Countries.Canada.holidays_by_region(2025)
```
## Disclaimer
This project is in active development. Breaking changes are expected until the 1.0 release. We appreciate your understanding and encourage you to contribute to the project during this phase.
## Contributing
We welcome contributions from the community! Whether it's a bug fix, new feature, or improvement, your input is valuable.
## How to Contribute
Open an Issue: Before you start working on your contribution, please open an issue to describe your suggestion or bug report. This helps us discuss the changes and guide you through the process.
## License
MIT