add caveat language re MicroPython libraries; other slight changes

This commit is contained in:
Dan Halbert 2018-05-22 20:49:08 -04:00
parent e65cc07764
commit 59615fc993
6 changed files with 40 additions and 20 deletions

View File

@ -108,9 +108,10 @@ CircuitPython:
- supports only SAMD21, SAMD51, and ESP8266 ports. An nRF port is under - supports only SAMD21, SAMD51, and ESP8266 ports. An nRF port is under
development. development.
- tracks MicroPython's releases (not master). - tracks MicroPython's releases (not master).
- Longints (arbitrary-length integers) are turned on for most Express builds - Longints (arbitrary-length integers) are enabled for most M0
(those boards with SPI flash chips external to the microcontroller), Express boards (those boards with SPI flash chips external
but not for boards without SPI flash, for space reasons. to the microcontroller), and for all M4 builds.
Longints are disabled on other boards due to lack of flash space.
Behavior Behavior
~~~~~~~~ ~~~~~~~~

View File

@ -1,6 +1,8 @@
:mod:`gc` -- control the garbage collector :mod:`gc` -- control the garbage collector
========================================== ==========================================
.. include:: ../templates/unsupported_in_circuitpython.inc
.. module:: gc .. module:: gc
:synopsis: control the garbage collector :synopsis: control the garbage collector

View File

@ -1,21 +1,30 @@
.. _micropython_lib: .. _micropython_lib:
CircuitPython libraries MicroPython libraries
===================== =====================
Python standard libraries and micro-libraries Python standard libraries and micro-libraries
--------------------------------------------- ---------------------------------------------
These libraries are the same or are subsets or slight variants of the standard Python libraries. These libraries are inherited from MicroPython.
They are similar to the standard Python libraries with the same name
or with the "u" prefix dropped.
They implement a subset of or a variant of the corresponding
standard Python library.
MicroPython prefixed many of these libraries with ``u``. In CircuitPython, those .. warning::
that are subsets or the same as the standard Python libraries have been or will be renamed
to their original names.
Our aspiration is that code written in CircuitPython
that uses Python standard libraries will be runnable on CPython without changes.
But we may fall short of this goal in some cases.
Some of the libraries below are not enabled on CircuitPython builds with Though these MicroPython-based libraries are available in CircuitPython,
their functionality may change in the future, perhaps significantly.
As CircuitPython continues to develop, new versions of these libraries will
be created that are more compliant with the standard Python libraries.
You may need to change your code later if you rely
on any non-standard functionality they currently provide.
CircuitPython's goal long-term goalis that code written in CircuitPython
using Python standard libraries will be runnable on CPython without changes.
Some libraries below are not enabled on CircuitPython builds with
limited flash memory, usually on non-Express builds: limited flash memory, usually on non-Express builds:
``uerrno``, ``ure``. ``uerrno``, ``ure``.
@ -51,8 +60,8 @@ Not all of these are enabled on all WiFi-capable ports.
Omitted functions in the ``string`` library Omitted functions in the ``string`` library
------------------------------------------- -------------------------------------------
A few string operations are not enabled on CircuitPython builds with A few string operations are not enabled on CircuitPython
limited flash memory, usually on non-Express builds: M0 non-Express builds, due to limited flash memory:
``string.center()``, ``string.partition()``, ``string.splitlines()``, ``string.center()``, ``string.partition()``, ``string.splitlines()``,
``string.reversed()``. ``string.reversed()``.
@ -60,8 +69,9 @@ limited flash memory, usually on non-Express builds:
CircuitPython/MicroPython-specific libraries CircuitPython/MicroPython-specific libraries
------------------------------ ------------------------------
Functionality specific to the CircuitPython (MicroPython) implementation is available in Functionality specific to the CircuitPython/MicroPython implementation is available in
the following libraries. the following libraries. These libraries may change signficantly or be removed in future
versions of CircuitPtyon.
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1

View File

@ -1,6 +1,8 @@
:mod:`struct` -- pack and unpack primitive data types :mod:`struct` -- pack and unpack primitive data types
====================================================== ======================================================
.. include:: ../templates/unsupported_in_circuitpython.inc
.. module:: struct .. module:: struct
:synopsis: pack and unpack primitive data types :synopsis: pack and unpack primitive data types

View File

@ -1,6 +1,8 @@
:mod:`sys` -- system specific functions :mod:`sys` -- system specific functions
======================================= =======================================
.. include:: ../templates/unsupported_in_circuitpython.inc
.. module:: sys .. module:: sys
:synopsis: system specific functions :synopsis: system specific functions
@ -98,7 +100,7 @@ Constants
usually an identifier of the OS, e.g. ``"linux"``. For baremetal ports it usually an identifier of the OS, e.g. ``"linux"``. For baremetal ports it
is an identifier of the chip on a board, e.g. ``"MicroChip SAMD51"``. is an identifier of the chip on a board, e.g. ``"MicroChip SAMD51"``.
It thus can be used to distinguish one board from another. It thus can be used to distinguish one board from another.
If you need to check whether your program runs on MicroPython (vs other If you need to check whether your program runs on CircuitPython (vs other
Python implementation), use `sys.implementation` instead. Python implementation), use `sys.implementation` instead.
.. data:: stderr .. data:: stderr

View File

@ -1,5 +1,8 @@
.. warning:: .. warning::
This module is inherited from MicroPython and may not work in CircuitPython Though this MicroPython-based library is available for use in CircuitPython,
as documented or at all! If they do work, they may change at any time. It is its functionality may change in the future, perhaps significantly.
unsupported. As CircuitPython continues to develop, it may be changed
to comply more closely with the corresponding standard Python library.
You may need to change your code later if you rely
on any non-standard functionality it currently provides.