Our flyby bot which we used extensively during our HYPE mission. It's goal was to keep everybody informed on when the next flybys were about to occur and who was supposed to operate them.
The program ran inside of a docker container every week and calculated our satellites position based on TLE data from TinyGS. Once it identified all of the flybys during above a certain elevation threshold for each day, it inserted events for them into the calendar. Out of all of the options, two of the best ones were selected for radio communication with the satellite and marked with <<< .
There was also a google spreadsheet of our team members where we could volunteer for operating each of the selected flybys. The people who volunteered would get notifications telling them when they should arrive. Aditionally the bot would activate each hour and update the flyby metadata with new volunteers.
If you're using docker, just run this in your terminal
docker compose upThis project uses the following dependencies:
- python 3.11
- pip
- google_api
- pandas
- ephem
After you have Python and pip installed, run the following commands in your terminal
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlibpip install pandas ephemThis project uses Google API. If you want to use it, you must set up your own Google account by following this guide: developers.google.com/workspace/docs/api/quickstart/python
Most importantly you need to supply your own credentials and token (never commit these):
- credentials.json — from Google Cloud Console (OAuth 2.0 Client ID). Place it in the project root for the first-time auth flow.
- token.json — created automatically after the first run. For Docker, copy it to the project root or point
docker-composesecrets to your token file.
Set up:
- Google Calendar access — to your calendar
- Google Sheets read-only access — to your spreadsheet where your team members can sign up for flybys
