circuitpython/docs
Jeff Epler d2817bb168 general: Remove Python 2.7 support.
Python 2.7 has been EOL since January 2020.

Ubuntu oldoldlts (Focal Fossa, 20.04) has Python 3.8.
Debian oldoldstable (Buster, from 2019) has Python 3.7.
RHEL 8 (from 2019) has Python 3.6.

It's easier than ever to install a modern Python using uv.

Given this, it seems like a fine idea to drop Python 2.7 support.

Even though the build is not tested on Python as old as 3.3, I
left comments stating that "3.3+" is the baseline Python version.
However, it might make sense to bump this to e.g., 3.10, the oldest
Python 3 version used during CI. Or, using uv or another method
actually test on the oldest Python interpreter that is desirable
to support (uv goes back to Python 3.7 easily; in October 2025, the
oldest supported Python interpreter version will be 3.10)

Signed-off-by: Jeff Epler <jepler@gmail.com>
2025-08-08 10:09:13 -05:00
..
develop general: Remove Python 2.7 support. 2025-08-08 10:09:13 -05:00
differences docs: Document PEP487 __set_name__ implementation. 2025-07-29 09:44:26 +10:00
esp32 docs/library/machine: Add docs for Counter and Encoder. 2025-08-02 00:00:03 +10:00
esp8266 docs: Fix double 'the' in documentation. 2025-02-25 17:07:16 +11:00
library docs/library/machine: Add docs for Counter and Encoder. 2025-08-02 00:00:03 +10:00
mimxrt mimxrt: Enable default devices for I2C, SPI and UART. 2025-03-25 12:44:20 +11:00
pyboard docs: Fix the quickref documentation of rtc.datetime(). 2024-12-19 16:00:15 +11:00
readthedocs/settings all: Update Python formatting to ruff-format. 2023-11-03 13:30:41 +11:00
reference docs/reference/mpremote: Document location of config file. 2025-08-02 00:23:21 +10: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 docs/zephyr: Add zephyr FlashArea IDs docs. 2025-05-02 12:37:45 +10:00
conf.py LICENSE,docs: Update copyright year range to include 2025. 2025-01-22 18:25:20 +11: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: Set LaTeX engine to XeLaTeX for PDF generation. 2022-06-21 14:49:13 +10:00
requirements.txt docs: Add requirements.txt file with dependencies for Sphinx. 2023-10-02 12:35:12 +11: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 optionally (for the RTD-styling), 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.

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