We just learned that Paul Sokolovsky , long-term maintainer of the MicroPython project, forked into
Pycopy - a minimalist and memory-efficient Python dialect. Good for desktop, cloud, constrained systems, microcontrollers, and just everything. - GitHub - pfalcon/pycopy: Pycopy - a minimalist and ...
To give some more context about different MicroPython forks, you might be interested in Introduction to MicroPython as well as ESP-IDF and beyond: Lua with NodeMCU, Pycom's MicroPython fork and Adafruit's CircuitPython .
Fork FAQ
Q: Why fork?
A: I was a co-maintainer of MicroPython from 2013-12-29 till 2017-12-27, and authored 2779 commits during that time, that’s more than 30% of commits during that timeframe (prooflink ). Many MicroPython’s modules and subsystems were designed and implemented by me. After I lost commit access to the main repository, I continue my work here.
Q: Why wasn’t it renamed?
A: My fork is just one of 1900+ forks of MicroPython (prooflink: fork stats ). I mostly do everything like they do, and it’s just a convenience to continue calling it MicroPython, so everyone understands what the talk is about, especially given that during 4 years, I spent a lot of effort to promote MicroPython and designed/implemented many things in it, without which MicroPython wouldn’t be what it is today. But if you want to look at the renamed project, you can: GitHub - pfalcon/pycopy: Pycopy - a minimalist and memory-efficient Python dialect. Good for desktop, cloud, constrained systems, microcontrollers, and just everything. . Update: It’s effectively renamed now. Up to people which name to use.
Q: Relation to the upstream?
A: I rebase on the upstream regularly (and branch master
in this repository is still upstream). I revert commits I consider going in wrong direction or not implemented thoroughly enough. Some things from this repo got pulled into upstream, some I submit as pull requests myself (with pull request processing in the upstream being slow and number of my patches since even co-mainainership time aren’t processed for years, I don’t really have incentive to submit too much/too often).
Q: Focus of the fork?
A:
Code optimizations.
Continue to develop inplace, buffer and stream operations allowing
to write highly memory effiicient applications.
Garbage collection experiments.
Reflection features (ultimately allowing to develop optimizing compilers,
etc. in Python).
More CPython features implemented (configurable).
“Development/Testing” version with improved program analysis features.
etc.
Documentation
https://pycopy.readthedocs.io/
While this might not have a direct impact on all people programming the FiPy through Pycom’s MicroPython fork when looking at the core MicroPython itself, you should well be aware that GitHub - micropython/micropython-lib: Core Python libraries ported to MicroPython will not be the only place to go shopping for modules from the MicroPython standard library.
So, you should well also have a look at GitHub - pfalcon/pycopy-lib: Standard library for Pycopy and compatible programming languages which is also reflected with the corresponding packages on PyPI, see https://pypi.org/search/?q=pycopy .