micropython/docs
Alessandro Gatti b87d73f2e9 tools/mpy_ld.py: Write architecture flags to output natmod if needed.
This commit lets "tools/mpy_ld.py" store architecture flags in generated
MPY files if explicitly requested, like "mpy-cross" does.

To achieve this, a new command-line option ("--arch-flags") was added to
receive the architecture flags value, accepting the same arguments'
format as "mpy-cross", and performing the same input validation.

The rest of the MPY toolchain was also modified to let the user pass the
arch flags to standard native module makefiles.  Given that there's
already a well-established "ARCH" argument, "ARCH_FLAGS" was chosen to
pass the optional flags to "mpy_ld.py".

Finally, documentation was updated to mention the new variable.

Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
2026-01-11 09:22:13 +01:00
..
develop tools/mpy_ld.py: Write architecture flags to output natmod if needed. 2026-01-11 09:22:13 +01:00
differences docs: Document PEP487 __set_name__ implementation. 2025-07-29 09:44:26 +10:00
esp32 esp32/esp32_rmt: Update RMT module to use the new RMT API. 2025-11-17 10:45:19 +11:00
esp8266 docs: Document the cross-port Timer hard= option. 2025-09-25 23:59:24 +10:00
library docs/library/network.WLAN: Fix typo for ESP32 protocol constants. 2025-12-18 11:37:40 +11:00
mimxrt docs/mimxrt/pinout: Use Dxx pin identifiers for Teensy boards. 2025-11-20 15:22:24 +11:00
pyboard all: Replace legacy name with MicroPython and MPy as applicable. 2025-10-04 00:19:40 +10:00
readthedocs/settings all: Update Python formatting to ruff-format. 2023-11-03 13:30:41 +11:00
reference tools/mpy_ld.py: Write architecture flags to output natmod if needed. 2026-01-11 09:22:13 +01:00
renesas-ra docs: Fix the quickref documentation of rtc.datetime(). 2024-12-19 16:00:15 +11:00
rp2 docs/rp2: Document the new rp2 Timer hard= option. 2025-06-16 12:35:51 +01:00
samd samd/boards: Add two SparkFun SAMD21 boards. 2025-05-28 12:04:42 +10:00
static docs: Update CPython differences and improve the look of table layouts. 2022-08-26 15:09:06 +10:00
templates all: Switch to new preview build versioning scheme. 2023-10-06 12:10:14 +11:00
unix unix: Implement -X realtime command-line option on macOS. 2022-05-24 00:51:47 +10:00
wipy docs: Add a "Reset and Boot Sequence" reference page. 2024-11-19 10:57:26 +11:00
zephyr zephyr: Mount all disks and flash partition, formatting if necessary. 2025-10-22 10:22:48 +11:00
conf.py docs: Always use sphinx_rtd_theme. 2025-09-16 10:39:46 +10:00
index.rst docs/samd: Add documentation for the samd port. 2022-10-26 23:39:35 +11:00
license.rst docs/license: Update copyright year. 2017-06-23 21:48:27 +03:00
make.bat docs/make.bat: Change Windows output dir from '_build' to 'build'. 2021-09-13 18:15:38 +10:00
Makefile docs/Makefile: Enable parallel compilation for Sphinx. 2022-09-29 23:51:29 +10:00
README.md docs/README: Document sphinx-autobuild for local preview. 2025-09-26 00:07:58 +10:00
requirements.txt docs: Always use sphinx_rtd_theme. 2025-09-16 10:39:46 +10:00

MicroPython Documentation

The MicroPython documentation can be found at: http://docs.micropython.org/en/latest/

The documentation you see there is generated from the files in the docs tree: https://github.com/micropython/micropython/tree/master/docs

Building the documentation locally

If you're making changes to the documentation, you may want to build the documentation locally so that you can preview your changes.

Install Sphinx and sphinx_rtd_theme, preferably in a virtualenv:

 pip install sphinx
 pip install sphinx_rtd_theme

In micropython/docs, build the docs:

make html

You'll find the index page at micropython/docs/build/html/index.html.

Documentation autobuild

For a more convenient development experience, you can use sphinx-autobuild to automatically rebuild and serve the documentation when you make changes:

pip install sphinx-autobuild

Then run from the micropython/docs directory:

sphinx-autobuild . build/html

This will start a local web server (typically at http://127.0.0.1:8000) and automatically rebuild the documentation whenever you save changes to the source files.

Having readthedocs.org build the documentation

If you would like to have docs for forks/branches hosted on GitHub, GitLab or BitBucket an alternative to building the docs locally is to sign up for a free https://readthedocs.org account. The rough steps to follow are:

  1. sign-up for an account, unless you already have one
  2. in your account settings: add GitHub as a connected service (assuming you have forked this repo on github)
  3. in your account projects: import your forked/cloned micropython repository into readthedocs
  4. in the project's versions: add the branches you are developing on or for which you'd like readthedocs to auto-generate docs whenever you push a change

PDF manual generation

This can be achieved with:

make latexpdf

but requires a rather complete install of LaTeX with various extensions. On Debian/Ubuntu, try (1GB+ download):

apt install texlive-latex-recommended texlive-latex-extra texlive-xetex texlive-fonts-extra cm-super xindy