micropython/docs
Angus Gratton c97d3534dc py/objint: Fix int.to_bytes() buffer size checks.
* No longer overflows if byte size is 0 (closes #13041)
* Raises OverflowError in any case where number won't fit into byte length
  (Now matches CPython, previously MicroPython would return a truncated
  bytes object.)
* Document that micropython int.to_bytes() doesn't implement the optional
  signed kwarg, but will behave as if signed=True when the integer is
  negative (this is the current behaviour). Add tests for this also.

Requires changes for small ints, MPZ large ints, and "long long" large
ints.

Adds a new set of unit tests for ints between 32 and 64 bits to increase
coverage of "long long" large ints, which are otherwise untested.

Tested on unix port (64 bit small ints, MPZ long ints) and Zephyr STM32WB
board (32 bit small ints, long long large ints).

Untested on a port whose native format is big endian (don't have one at
hand).

This work was funded through GitHub Sponsors.

Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-04-10 13:52:29 +10:00
..
develop all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
differences all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
esp32 esp32/network_lan: Add a separate argument to set PHY power pin. 2024-03-08 16:55:08 +11:00
esp8266
library py/objint: Fix int.to_bytes() buffer size checks. 2024-04-10 13:52:29 +10:00
mimxrt all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
pyboard docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
readthedocs/settings
reference docs/reference/mpyfiles: Document change in .mpy sub-version. 2024-03-28 16:21:35 +11:00
renesas-ra docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
rp2
samd all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
static
templates
unix
wipy docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
zephyr docs: Use vfs module instead of os. 2024-02-07 13:25:10 +11:00
Makefile
README.md
conf.py
index.rst
license.rst
make.bat
requirements.txt

README.md

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