Just a heads-up that I created a fork of wendler's library and have been trying to optimise it a little further for Micropython, but without much fundamental understanding of the protocol. At this stage I'm just trying to preserve the same fundamental operations byte-for-byte, but make the following improvements.
* allow SPI to be configured separately and passed as a constructor argument (e.g. where SPI is shared with other devices)
* allow Reset and SlaveSelect to be optional (these can function hard-wired)
* avoid memory allocations and possible fragmentation arising (using pre-allocated buffers and memoryview, and inlining send routines, rather than iterating over arrays)
The repo is at https://github.com/cefn/micropython-mfrc522
Probably the do_read and do_write examples are a bit trashed as I've been using these for sanity checking various things in my project, but the mfrc522.py file should be fairly clean.
Since the github comparison is not happy with whitespace changes, you can better see the changes at...http://www.mergely.com/ARNKSWa3/?ws=1