Skip to main content

A simple editor for beginner programmers.

Project description

Mu - A Simple Python Code Editor

docs/logo.png

Mu is a simple code editor for beginner programmers based on the feedback given to and experiences of the Raspberry Pi Foundation’s education team. Having said that, Mu is for anyone who wants to use a simple “no frills” editor.

Mu is a modal editor with modes for Adafruit’s CircuitPython, the micro:bit’s version of MicroPython and standard Python 3 (including a graphical debugger). All modes make available a REPL (either running on the connected CircuitPython or MicroPython device or as a Jupyter based iPython session in Python3 mode).

It’s written in Python and works on Windows, OSX, Linux and Raspberry Pi.

We have extensive developer documentation including a guide for setting up a development environment, contributor guidelines and some suggested first steps.

We want our community to be a friendly place. Therefore, we expect contributors and collaborators to follow our Code of Conduct.

Release History

1.0.0.beta.15

  • A new plotter works with CircuitPython and micro:bit modes. If you emit tuples of numbers via the serial connection (e.g. print((1, 2, 3)) as three arbitrary values) over time these will be plotted as line graphs. Many thanks to Limor “ladyada” Fried for contributing code for this feature.

  • Major refactoring of how Mu interacts with connected MicroPython based boards in order to enable the plotter and REPL to work independently.

  • Mu has a new mode for Pygame Zero (version 1.1). Thanks to Dan Pope for Pygame Zero and Rene Dudfield for being Pygame maintainer.

  • It’s now possible to run mu “python3 -m mu”. Thanks to Cefn Hoile for the contribution.

  • Add support for pirkey Adafruit board. Thanks again Adafruit.

  • Updated all the dependencies to the latest upstream versions.

  • Various minor bug fixes and guards to make Mu more robust (although this will always be bugs!).

1.0.0.beta.14

  • Add new PythonProcessPanel to better handle interactions with child Python3 processes. Includes basic command history and command editing.

  • Move the old “run” functionality in Python3 mode into a new “Debug” button.

  • Create a new “Run” button in Python3 mode that uses the new PythonProcessPanel.

  • Automation of 32bit and 64bit Windows installers (thanks to Thomas Kluyver for his fantastic pynsist tool).

  • Add / revise developer documentation in light of changes above.

  • (All the changes mentioned above were supported by the Raspberry Pi Foundation – Thank you!)

  • Update / add USB PIDs for Adafruit boards (thanks Adafruit for the heads up).

  • Minor cosmetic changes.

  • Additional test cases.

1.0.0.beta.13

  • Fix to solve problem when restoring CircuitPython session when device is not connected.

  • Fix to solve “data terminal ready” (DTR) problem when CircuitPython expects DTR to be set (and it isn’t by default in Qt).

  • Added initial work on developer documentation found here: http://mu.rtfd.io/

  • Updates to USB PIDs for Adafruit boards.

  • Added functionally equivalent “make.py” for Windows based developers.

  • Major refactor of the micro:bit related “files” UI pane: it no longer blocks the main UI thread.

1.0.0.beta.12

  • Update “save” related behaviour so “save as” pops up when the filename in the tab is double clicked.

  • Update the debugger so the process stops at the end of the run.

  • Ensure the current working directory for the REPL is set to mu_mode.

  • Add additional documentation about Raspberry Pi related API.

  • Update micro:bit runtime to lates MicroPython beta.

  • Make a start on developer documentation.

1.0.0.beta.11

  • Updated Python 3 REPL to make use of an out of process iPython kernel (to avoid problems with blocking Mu’s UI).

  • Reverted Save related functionality to prior behaviour.

  • The “Save As” dialog for re-naming a file is launched when you click the filename in the tab associated with the code.

1.0.0.beta.10

  • Ensured “Save” button prompts user to confirm (or replace) the filename of an existing file. Allows Mu to have something like “Save As”.

  • Updated to latest microfs library for working with the micro:bit’s filesystem.

  • Fixed three code quality warnings found by https://lgtm.com/projects/g/mu-editor/mu/alerts/?mode=list

  • Updated API generation so the output is ordered (helps when diffing the generated files).

  • Updated Makefile to create Python packages/wheels and deploy to PyPI.

  • Explicit versions for packages found within install_requires in setup.py.

  • Minor documentation changes.

1.0.0.beta.9

  • Debian related packaging updates.

  • Fixed a problem relating to how Windows stops the debug runner.

  • Fixed a problem relating to how Windows paths are expressed that was stopping the debug runner from starting.

1.0.0.beta.8

  • Updated splash image to reflect trademark usage of logos.

  • Refactored the way the Python runner executes so that it drops into the Python shell when it completes.

  • The debug runner now reports when it has finished running a script.

1.0.0.beta.7

  • Update PyInstaller icons.

  • Fix some tests that fail on older version of Python 3.

  • Add scripts to extract API information from Adafruit and Python 3.

  • Add generated API documentation to Mu so autosuggest and call tips have data.

  • Ensure translation files are distributed.

1.0.0.beta.6

  • Pip installable.

  • Updated theme handling: day, night and high-contrast (as per user feedback).

  • Keyboard shortcuts.

1.0.0.beta.*

  • Added modes to allow Mu to be a general Python editor. (Python3, Adafruit and micro:bit.)

  • Added simple visual debugger.

  • Added iPython based REPL for Python3 mode.

  • Many minor UI changes based on UX feedback.

  • Many bug fixes.

0.9.13

  • Add ability to change default Python directory in the settings file. Thanks to Zander Brown for the contribution. See #179.

0.9.12

  • Change the default Python directory from ~/python to ~/mu_code. This fixes issue #126.

  • Add instructions for installing PyQt5 and QScintilla on Mac OS.

  • Update to latest version of uFlash.

  • Add highlighting of search mathes.

  • Check if the script produced is > 8k.

  • Use a settings file local to the Mu executable if available.

  • Fix bug with highlighting code errors in Windows.

  • Check to overwrite an existing file on the micro:bit FS.

  • Start changelog

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mu-editor-1.0.0b15.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

mu_editor-1.0.0b15-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file mu-editor-1.0.0b15.tar.gz.

File metadata

File hashes

Hashes for mu-editor-1.0.0b15.tar.gz
Algorithm Hash digest
SHA256 ad6f0297d4af749bbaa927b44f9a6c0a7e76d1b1a19f467868fe291855579250
MD5 aed03e40743266feac0eec535d27cc9b
BLAKE2b-256 1733da728d3a529a0f2fdb3f569d027143de1357933161d7d68f801c2c9a513f

See more details on using hashes here.

File details

Details for the file mu_editor-1.0.0b15-py3-none-any.whl.

File metadata

File hashes

Hashes for mu_editor-1.0.0b15-py3-none-any.whl
Algorithm Hash digest
SHA256 8d7216ef8465659e313e3d8f3a9d4da0b3b9c1d78f35658f65c4315b4e7b3b30
MD5 86687116e713066bd9f3f9398e8a11bb
BLAKE2b-256 a68b991ba5365f19538a9164ce45e7fa844714d76bd00b93cd24216c7f57c9fc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page