# 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).
## Getting Started
You can start an interactive Elixir shell session (IEx) and explore the available functions. Start IEx:
```
iex -S mix
```
## Finding Usage Information
```
iex> h Holidex.supported_countries
iex> h Holidex.holidays
```
## Retrieving Supported Countries
```
iex> Holidex.supported_countries
iex> [%{name: "Canada", country_code: :ca}]
```
## Retrieving Holidays
To see the list of holidays in Canada for 2024
```
iex> Holidex.holidays(:ca, 2024)
```
## Disclaimer
This project is in early and active development. Breaking changes are expected until a stable release is achieved. 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.
## Roadmap
### Version 0.1.x - Canadian Holidays
The current version supports major Canadian holidays, but is still not considered stable.
#### Features
- [x] Accurate date calculation
- [x] Observed date calculation (for holidays falling on weekends)
- [x] Accurate public holiday indication (Federal)
- [x] Accurate public holiday indication (Regional)
- [x] Accurate regional observances
- [x] Consistent/stable functions API
- [x] Public functions are well documented
### Version 0.2.x - United States Holidays
- [ ] Implement major US federal holidays
- [ ] Add state-specific holidays
- [ ] Ensure accurate handling of US-specific holiday rules
### Future Versions
- [ ] Support for other countries
- [ ] Localization support for holiday names and descriptions
## License
MIT