Convert an airline crew schedule pdf into iCalendar format.
Project description
crewcal
Convert an airline crew schedule pdf into iCalendar format using a machine learning Large Language Model.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
About the Project
Convert an airline crew schedule pdf into iCalendar format using a machine learning Large Language Model. An LLM (Large Language Model, specifically OpenAI's gpt-3.5-turbo) is used to extract the schedule information. iCalender files are recognized by most calendar systems (iOS, Android, Google, ++) and will create the flights on your phone/device calendar.
The PDF schedule does not need to follow a very prescribed structured format.
Development performed mostly using AIMS eCrew pdf schedules.
Getting Started
Prerequisites
Obtain an OpenAI API key.
Make this available as an environment variable:
export OPENAI_API_KEY=YOUR_KEY
Alternatively specify the API Key in a .env file.
Installation
Strongly consider using pipx or a virtual environment depending on your needs.
pip install crewcal
Usage
CLI
To create the calendar file (schedule.ics) from a pdf schedule file (schedule.pdf):
crewcal extract schedule.pdf schedule.ics
crewcal --help
shows a brief manual page.
Python Package
The following sript extracts the schedule from schedule.pdf
and stores the icalendar file in schedule.ics
file.
from crewcal.llm_extract import OpenAISchedule
sched = OpenAISchedule(schedule_path='schedule.pdf', to_icalendar_file='schedule.ics')
The resulting .ics file can be read by most calendar software.
Roadmap
- None (feel free to suggest)
Contributing
Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also open a feature request or bug report. Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Contact
Project Link: crewcal
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.