[IPFIX] announcement: ipfix for python 3

Brian Trammell <trammell@tik.ee.ethz.ch> Fri, 12 July 2013 12:12 UTC

Return-Path: <trammell@tik.ee.ethz.ch>
X-Original-To: ipfix@ietfa.amsl.com
Delivered-To: ipfix@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D5C2811E8103 for <ipfix@ietfa.amsl.com>; Fri, 12 Jul 2013 05:12:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.393
X-Spam-Level:
X-Spam-Status: No, score=-6.393 tagged_above=-999 required=5 tests=[AWL=0.206, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ev2mcgJKIIzL for <ipfix@ietfa.amsl.com>; Fri, 12 Jul 2013 05:12:19 -0700 (PDT)
Received: from smtp.ee.ethz.ch (smtp.ee.ethz.ch [129.132.2.219]) by ietfa.amsl.com (Postfix) with ESMTP id 9DADD11E80E1 for <ipfix@ietf.org>; Fri, 12 Jul 2013 05:12:16 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by smtp.ee.ethz.ch (Postfix) with ESMTP id 0A25FD9305 for <ipfix@ietf.org>; Fri, 12 Jul 2013 14:12:15 +0200 (MEST)
X-Virus-Scanned: by amavisd-new on smtp.ee.ethz.ch
Received: from smtp.ee.ethz.ch ([127.0.0.1]) by localhost (.ee.ethz.ch [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 2qWHHlxiLbSw for <ipfix@ietf.org>; Fri, 12 Jul 2013 14:12:15 +0200 (MEST)
Received: from pb-10243.ethz.ch (pb-10243.ethz.ch [82.130.102.152]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: briant) by smtp.ee.ethz.ch (Postfix) with ESMTPSA id C37ABD9304 for <ipfix@ietf.org>; Fri, 12 Jul 2013 14:12:15 +0200 (MEST)
From: Brian Trammell <trammell@tik.ee.ethz.ch>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Message-Id: <FB58DC35-A82A-43A0-BD8B-5D82CA7FCF76@tik.ee.ethz.ch>
Date: Fri, 12 Jul 2013 14:12:15 +0200
To: IETF IPFIX Working Group <ipfix@ietf.org>
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
X-Mailer: Apple Mail (2.1508)
Subject: [IPFIX] announcement: ipfix for python 3
X-BeenThere: ipfix@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IPFIX WG discussion list <ipfix.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipfix>, <mailto:ipfix-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipfix>
List-Post: <mailto:ipfix@ietf.org>
List-Help: <mailto:ipfix-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipfix>, <mailto:ipfix-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 12 Jul 2013 12:12:23 -0000

Greetings, all,

Those of you who need to read or write IPFIX messages from programs written in Python 3 can now do so by installing the 'ipfix' package from the Python Package Index (http://pypi.python.org/pypi/ipfix; pip install ipfix or easy_install ipfix should work too, depending on how your Python environment is set up).

The module provides a bridge between Messages and streams of Messages, and Python dicts and tuples. It supports Templates and Options Templates, with built-in support for IANA and RFC5103 IEs, as well as the definition of enterprise-specific IEs in IEspec format (section 10 of draft-ietf-ipfix-ie-doctors).

The module is not a complete implementation of an Exporting and/or Collecting Process, though the ipfix.reader.MessageStreamReader and ipfix.writer.MessageStreamWriter objects can be fairly easily bound to TCP sockets and/or used with the socketserver framework. SCTP support is forthcoming. It should be fairly easy to implement UDP support as well, though it's a low priority.

Documentation is at britram.github.io/python-ipfix. Be advised that the module is alpha quality: there's some lightweight testing based on doctest, but testing hasn't been at all rigorous to date. The module is under active development but the API should remain reasonably stable. Bug reports are welcome. I'm using it in some light day-to-day analysis tasks and it seems to work reasonably well with the data I have; your mileage may vary.

Enjoy,

Brian