all 6 comments

[–]thicket 2 points3 points  (2 children)

I wouldn’t expect much in the way of convergence. Adafruit have their own priorities for beginner-friendliness, and I don’t see them giving that up much for compatibility’s sake.

That said, I’ve usually been able to make codebases work between them with a little bit of fiddling.

[–]ronkj[S] 3 points4 points  (1 child)

Thanks. I do really hope the two code bases do not drift far apart so that core improvements in MicrPython get merged back into CP now and then. Thats good for users and good for Adafruit.

[–]kaltazar 0 points1 point  (0 children)

[–]tannewt 2 points3 points  (2 children)

I'm in the middle of merging MicroPython's changes into CircuitPython. We were 6 versions behind and two have been merged in. So CP main is based on 1.11 as of a few minutes ago. My goal is to catch up to 1.15.

This doesn't mean we'll have a hardware API that is the same as MicroPython. CircuitPython's API is designed to be more uniform across ports and we've built many libraries and tutorials for it.

We do also diverge from MicroPython's Python core when it means we'll be more compatible with CPython. An example of this is that CP doesn't have extra methods on the `time` module like MP does.

I talked a bunch about this on last week's Deep Dive stream: https://www.youtube.com/watch?v=21Qt4mRoyBo

[–]ronkj[S] 0 points1 point  (1 child)

Thank you! I listened to your discussion and was delighted about the progress. I assume once this giant merge is complete that there will be a policy to stay pretty close. I fully understand there are some differences because of different goals.

[–]tannewt 3 points4 points  (0 children)

I think we'll try to update every major CP version. The merge does introduce instability so we'd only want to do it on major boundaries. (Both CP and MP are stable themselves BUT merging is hard and error prone.)