If you are you looking for a way to move your students (or yourself) from programming in Scratch to learning Python, I recommend you look into EduBlocks. It brings a familiar drag-and-drop graphical user interface (GUI) to Python 3 programming.
One of the barriers when transitioning from Scratch to Python is the absence of the drag-and-drop GUI that has made Scratch the go-to application in K-12 schools. EduBlocks' drag-and-drop version of Python 3 changes that paradigm. It aims to "help teachers to introduce text-based programming languages, like Python, to children at an earlier age."
The hardware requirements for EduBlocks are quite modest—a Raspberry Pi and an internet connection—and should be available in many classrooms.
EduBlocks was developed by Joshua Lowe, a 14-year-old Python developer from the United Kingdom. I saw Joshua demonstrate his project at PyCon 2018 in May 2018.
It's easy to install EduBlocks. The website provides clear installation instructions, and you can find detailed screenshots in the project's GitHub repository.
Install EduBlocks from the Raspberry Pi command line by issuing the following command:
curl -sSL get.edublocks.org | bash
Once the installation is complete, launch EduBlocks from either the desktop shortcut or the Programming menu on the Raspberry Pi.
Once you launch the application, you can start creating Python 3 code with EduBlocks' drag-and-drop interface. Its menus are clearly labeled. You can start with sample code by clicking the Samples menu button. You can also choose a different color scheme for your programming palette by clicking Theme. With the Save menu, you can save your code as you work, then Download your Python code. Click Run to execute and test your code.
You can see your code by clicking the Blockly button at the far right. It allows you to toggle between the "Blockly" interface and the normal Python code view (as you would see in any other Python editor).
Learning and support
The project maintains a learning portal with tutorials and other resources for easily hacking the version of Minecraft that comes with Raspberry Pi, programming the GPIOZero and Sonic Pi, and controlling LEDs with the Micro:bit code editor. Support for EduBlocks is available on Twitter @edu_blocks and @all_about_code and through email.
For a deeper dive, you can access EduBlocks' source code on GitHub; the application is licensed under GNU Affero General Public License v3.0. EduBlocks' creators (project lead Joshua Lowe and fellow developers Chris Dell and Les Pounder) want it to be a community project and invite people to open issues, provide feedback, and submit pull requests to add features or fixes to the project.