Metadata-Version: 2.0
Name: emv
Version: 0.4
Summary: EMV Smartcard Protocol Library
Home-page: https://github.com/russss/python-emv
Author: Russ Garrett
Author-email: russ@garrett.co.uk
License: MIT
Keywords: smartcard emv payment
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Requires-Dist: argparse
Requires-Dist: enum-compat
Requires-Dist: pycountry
Requires-Dist: pyscard
Requires-Dist: terminaltables

EMV for Python
==============

|Build Status|

A Pythonic implementation of the EMV smartcard protocol, which is used
worldwide for chip-and-PIN payments. This is intended to be readable,
tested, and heavily cross-referenced with the appropriate sections of
the `EMV Specification <http://www.emvco.com/specifications.aspx>`__.

This also includes an implementation of the ``EMV CAP`` (aka Pinsentry)
standard which is known to work for Barclays cards.

Installation
------------

You'll need the pcsc smartcard libraries on your system in order to
build the smartcard bindings. On Ubuntu:

::

    sudo apt-get install build-essential swig libpcsclite-dev python-pip

Then you can install emv from pip:

::

    sudo pip install emv

To check if everything's working, plug in a smartcard reader, put a bank
card in, and run:

::

    emvtool info

If all goes well, you should see some data about your card.

Command Line
------------

This library ships with ``emvtool`` - a simple command-line tool for
testing and CAP password generation. To fetch some card metadata, run:

::

    emvtool info

To generate an EMV CAP one-time passcode:

::

    emvtool -p <PIN> cap

You can also conduct CAP signing and challenge-response:

::

    emvtool -p <PIN> cap -c <challenge>
    emvtool -p <PIN> cap -c <accountno> -a <amount>

Legal Stuff
-----------

``EMV`` is a trademark of `EMVCo <http://www.emvco.com/>`__ and is used
purely for descriptive purposes. This library is not affiliated with
EMVCo.

.. |Build Status| image:: https://travis-ci.org/russss/python-emv.svg?branch=master
   :target: https://travis-ci.org/russss/python-emv


