Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed3.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.003 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'scripts': 0.03; 'repository': 0.05; 'subject:ANN': 0.07; 'defines': 0.09; 'url:github': 0.09; 'python': 0.11; 'wrote': 0.14; 'language.': 0.14; 'bsd': 0.16; 'burak': 0.16; 'from:addr:arskom.com.tr': 0.16; 'from:addr:burak.arslan': 0.16; 'from:name:burak arslan': 0.16; 'message-id:@arskom.com.tr': 0.16; 'objects.': 0.16; 'optional': 0.16; 'received:arskomhosting.com': 0.16; 'extensions': 0.16; 'all,': 0.19; 'subject:] ': 0.20; 'to:name:python- list@python.org': 0.22; 'header:User-Agent:1': 0.23; 'define': 0.26; 'xml': 0.29; 'bunch': 0.31; 'integrating': 0.31; 'stands': 0.31; 'universal': 0.31; '(e.g.': 0.33; 'standards': 0.33; 'useful': 0.36; 'should': 0.36; 'feedback': 0.38; 'to:addr:python- list': 0.38; 'subject:[': 0.39; 'to:addr:python.org': 0.39; 'hope': 0.61; 'gone': 0.61; 'here:': 0.62; 'map': 0.64; 'license': 0.66; 'business': 0.70; 'subject.': 0.74; 'researching': 0.84; 'ubl': 0.84 Date: Tue, 25 Nov 2014 14:19:26 +0200 From: Burak Arslan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: "python-list@python.org" Subject: [ANN] PyUBL Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 23 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1416918373 news.xs4all.nl 2855 [2001:888:2000:d::a6]:48698 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:81505 All, We've gone through the grunt work of researching and integrating XMLDSIG, XAdES and UBL schemas and its various extensions and dependencies and wrote a bunch of scripts that map these documents to python objects. UBL stands for Universal Business Language. It's an OASIS standard that defines entities that every business (e.g. invoices, with optional cryptographic signature and/or encryption) should be able to handle. XMLDSIG and XAdES standards define cryptographic primitives for XML documents. The repository is made available under the three-clause BSD license here: https://github.com/arskom/pyubl We hope you find it useful and welcome any collaboration and feedback on this subject. Best regards, Burak