Resources for Science Olympiad Astronomy
Go to file
2021-10-03 19:17:26 -05:00
astropy@a832159de6 Add submodule 2021-04-30 20:20:11 -05:00
Links Add htmldate dependency 2021-05-20 18:34:12 -05:00
.gitignore Update rclone commands 2021-05-20 20:14:06 -05:00
.gitmodules Add submodule 2021-04-30 20:20:11 -05:00
LICENSE Use a strong reciprocal license instead 2021-10-03 19:12:39 -05:00
mkbinder.py Rename venv 2021-03-25 22:21:45 -05:00
README.md Add licensing note to README 2021-10-03 19:17:26 -05:00
requirements.txt Add htmldate dependency 2021-05-20 18:34:12 -05:00

Astronomy

Resources for Science Olympiad Astronomy. Note that due to the license, you must publicly release any code that you use from this repository.

Guide

Google Drive

Folder: https://drive.google.com/drive/folders/1tSWqSONcjwJWfYled2abuSCmDSUt4KiA?usp=sharing

You should download it before contests since you technically can't use the internet during contests.

rclone

You can copy the Google Drive folder to your computer with rclone copy "drive:Science/Science Olympiad 20.5/Astronomy 20.5/Astro 2021" . --exclude="General/Hyperphysics English.zip" -P.

You can copy your files to the Google Drive with rclone copy . "drive:Science/Science Olympiad 20.5/Astronomy 20.5/Astro 2021" --exclude="astropy/**" --exclude=".git/**" --exclude=".venv/**" --exclude="General/hbase/**" -P.

Kiwix

Download all of Wikipedia, or optionally, Wikipedia Astronomy.

Speedcrunch

Great for unit conversions: https://speedcrunch.org/userguide/advanced.html

Astropy

For advanced users, you will definitely want to build the documentation: https://github.com/astropy/astropy/blob/main/docs/install.rst#building-documentation

Wikipedia

You can download Wikipedia using Kiwix. It should be more than enough for regionals and state.

Generate a binder

mkbinder.py is a Python script to download web pages. It can detect if the latest version of a website is newer than the downloaded version and download only the web pages that need to be updated.

You need to have Python 3 installed as well as wkhtmltopdf. You also need to be able to use the command line.

First download this repository to your computer.

Navigate to the folder in your terminal and run pip install -r requirements.txt to install dependencies.

Add links to download to text files in the Links folder. The links in each text file will be downloaded to their own folder.

Now run python mkbinder.py. It may take a while, depending on how many links to download.

Spam Ctrl-C in your terminal to quit the script while it's running.

You can change the backend used to download the websites, but the default backend pdfkit tends to work the best and is recommended. There is an alternative backend weasyprint which may work better in some cases and does not require wkhtmltopdf. Only change the backend if you are having trouble with the default and you know what you are doing!

usage: mkbinder.py [-h] [--backend {pdfkit,weasyprint}] [--force {False,True}]

optional arguments:
  -h, --help            show this help message and exit
  --backend {pdfkit,weasyprint}, -b {pdfkit,weasyprint}
                        change the download backend; default: pdfkit
  --force {False,True}, -f {False,True}
                        force download all links instead of only the ones that need to be updated; default: False