There were a couple primary issues on my end with hurdat2.py:
The indentation was a little off. The main problem was that the return at the end of the parse method was indented too far such that it was either returning until only a small subset of the data had been read, or not at all (and so the method returned None).
There seemed to be a mismatch between the number of columns in each hurricane entry and the number of columns specified for the dataframe. Namely, the former was a couple longer than the latter. I added "50kt_nw" and "64kt_ne", which seemed to be the missing columns.
I also changed the path to the data file in hurricane_aiv3.py to be relative and slightly refactored hurdat2.py.
There were a couple primary issues on my end with hurdat2.py:
I also changed the path to the data file in hurricane_aiv3.py to be relative and slightly refactored hurdat2.py.