SCardFace is a Python-based smart card interface library, based on the PC/SC API.
Some of the features:
- Written in Python 3, takes advantage of the new bytes and bytearrays objects
- Thread-friendly, see SCardFace and Threads
- Exclusive access to a card through use of the with statement, see using the with statement
- Support for asynchronous break when waiting for a card ( Control-c )
- Support for hot insertion and recognition of readers while waiting for a card ( if the platform or subsystem implements it), see Dealing with readers hot insertion and removal
- Exception scheme derived from EnvironmentError
- Runs on Windows and Linux ( probably on other platforms supporting pcsc-lite)
- C_APDU and R_APDU objects to deal with smart cards commands and responses, independent from transport protocols (T=0, T=1)