This project implemenets a first order Hidden Markov Model (pos_tagger.py), and a Keras-based LSTM (lstm_keras.py) Code for preprocessing is largely the same, with some bloat leftover in the Hidden Markov Model.
I have bundled a French corpus from Universaldependencies used to train both models.