Note: Read the detailed README on our repository for easy install instructions, troubleshooting, and more! Listen to our demo video with voiceover here: https://youtu.be/XImp0tWMroc
Inspiration
Rustlings! One could say that this is a python version of rustlings: https://github.com/rust-lang/rustlings
What it does
Our project it supposed to be an interactive, exercise based way to learn python. It is designed to go hand-in-hand with the book "A Byte of Python", one of the top recommended books by experts in the python discord.
This is meant to tackle an age-old problem of programming: reading and following along is simply not enough for one to learn a language, even as simple as python. Kinesthetic learning must be used, whether it be in the form of projects, or even short exercises to jog one's mind though the more basic parts of a language. Rustlings does a phenomenal job with implementing this, and we seek to create the same for python.
How we built it
- Plan on what book we wanted to go along with: a byte of python is perfect, as it has multiple thought-out sections and is beginner-friendly.
- Build the command line app. After the basic folder structure for exercises were determined, we had to make sure that our parser was flexible for any future changes. We used
pytestto make testing easy, andtyperto build the CLI. This was a great choice as it saved a lot of time from implementing our own frameworks, and allowed for easy error logging throughrich. - Build the easy install bash script to make it accessible to those with little or zero knowledge of code.
## Challenges we ran into
We ran into problems with the parser at first, cycling through multiple different frameworks for path parsing before finally settling on
pathlibin the standard library for ease of use and its ergonomic, object oriented approach.
Writing the bash script to easily install our project was also hard, as none of our members knew bash scripting at first. Through a lot of googling and stackoverflow, we created a solid script that remained flexible when faced with ambiguity.
Time Management. One of our teammates is on the other side of the worlds, and the other two are on different sides of North America, making it difficult to collaborate.
Accomplishments that we're proud of
Bash: We managed to learn a new language!
What's next for pythonistas
More courses! Right now, due to time constraints we could not write content for the entire "A Byte of Python", only getting through a few chapters.
Watch mode! You don't even need to touch the terminal with this, it will automatically test, watch for changes, and give hints!
Log in or sign up for Devpost to join the conversation.