A Python module to read/write NFC tags or communicate with another NFC device.
Bugfix: In Type 4 Tag communication the ISO-DEP MIU must be 2 octets less accomodate the EDC field that gets added by the reader device.
Bugfix: Add trailing APDU LE byte when sending the application identifier during Type 4 Tag initialization. Code contributed by @kieran-mackey.
Bugfix: Correct acquisition of Windows output stream handle for colorized terminal messages in example scripts. Code contributed by @mizutoki79.
tagtool.py
when doing tag emulation. This wasn't properly tested for the 1.0.2 release._get_osfhandle
Windows function for color output stream handler in command line interface helper module.This is a major major release that brings Python3 compatibility but also API changes that may break existing applications. Many thanks to @mofe23 and @msnoigrs for their Python3 compatibility patches.
The nfc.ndef
package is removed. All NDEF decoding and encoding
now uses the https://github.com/nfcpy/ndeflib library.
The nfc.snep.SnepClient.put
is removed. Application code must use
either put_records
or put_octets
.
The nfc.snep.SnepClient.get
is removed. Application code must use
either get_records
or get_octets
.
The nfc.snep.SnepServer.put
method changed to process_put_request
and receives the ndef_message as a list of ndef.Record
objects.
The nfc.snep.SnepServer.get
method changed to process_get_request
and receives the ndef_message as a list of ndef.Record
objects.
The acceptable_length
parameter is now handled by the SnepServer.
The nfc.handover.HandoverClient.send
method has changed to
send_records
and expects a list of ndef.Record
objects. The new
send_octets
method allows to send a pre-encoded handover message.
The nfc.handover.HandoverClient.recv
method has changed to
recv_records
and returns a list of ndef.Record
objects. The new
recv_octets
method returns the received encoded handover message.
The nfc.tag.Tag.NDEF.message
is removed. Application code must use
records
or octets
.
The examples/ndeftool.py
script is removed. Similar functionality
is provided by the https://github.com/nfcpy/ndeftool application.
python -m nfc -verbose
to ease bug reporting
when reader enumeration fails.Raise nfc.tag.TagCommandError when NDEF data could not be written to the tag. Previously this was captured within the tag memory cache for Type1Tag and Type2Tag and raised as IndexError.