Automatically exported from
Clone or download Add in testing version of ctypesgen generated code for doing basic Mi…
…Fare rather than handling the low level crypto1 itself.
Latest commit 1b069a7 Aug 3, 2014


Pynfc - Python bindings for libnfc


libnfc >= 1.7.0
python >= 2.6 < 3.0


The bindings are constructed at runtime using ctypes.  Just ensure the library is correctly installed.


There is an example program included for conducting simple mifare authentication:


Example output (bulk of the raw hex excised for space):

Connect to reader: True
Initialize Reader: True
Field Down: True
CRC False: True
Parity True: True
Field Up: True
key: A0A1A2A3A4A5
T -> R: A2 7F 33 EE
TR == Next(TN, 96): True
R -> T: 8F A4 FA D1
T -> R: CA 9E 73 93

This indicates that it successfully authenticated to the requested block.


The pynfc bindings should offer an intuitive, yet pythonic way of calling the standard libnfc API.

This version of pynfc does not yet do that, it is currently just a duplicate of the C library calls without any strong python integration.

As much as possible all libnfc commands are mirrored in the created nfc object.

Please note whilst this does implement the full range of features found in libnfc, their use in python may be difficult or tricky to use.
Pynfc requires much more development and time dedicated to it, before it will be useful as a production tool.