{ "info": { "author": "Pim van der Eijk", "author_email": "pvde@sonnenglanz.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python" ], "description": "=====\ncppa3\n=====\n\nA package to process ebCore CPPA3 documents.\n\nDescription\n===========\n\nThe CPPA3 package provides a collection of Python modules to process OASIS\nebCore CPPA3 documents and related functionality. CPPA3 is version 3 of\nthe ebXML Collaboration Protocol Profile and Agreement specification. A CPP is an\nXML document representing a party's technical and business collaboration\ncapabilities. A CPA is an XML document representing the agreed collaboration\nparameters of two parties. It can be used to configure B2B messaging systems\nused to exchange messages between two parties using the agreed settings.\nThe ebCore Technical Committee (ebXML Core) is maintaining and enhancing the CPPA\nspecification.\n\nThe development of this package tracks the\ndevelopment of the ebCore CPPA3 schema and specification. This release of the\npackage is compatible with: \n\n * the latest draft version 2018-12-27, available \n https://www.oasis-open.org/committees/download.php/64485/cppa-v3.0-wd12.odt (specification WD12)\n * the XML schema of 2017-11-16 \n https://www.oasis-open.org/committees/download.php/64482/cppa3.xsd (XML schema draft #22)\n\nThose versions of the specification and schema support:\n\n * the complete ebMS 3.0 Core OASIS Standard (docs.oasis-open.org/ebxml-msg/ebms/v3.0/core/os/)\n * the complete AS4 OASIS Standard (http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/profiles/AS4-profile/v1.0/)\n * all of the ebMS 3.0 Part 2 Advanced Features specification (http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/part2/201004/).\n * the ebMS3 SAML Conformance Clause (http://docs.oasis-open.org/ebxml-msg/ebms-v3.0-saml-conformance/v1.0/)\n * the ENTSOG, CEF and SuperAnnuation usage profiles of ebMS3/AS4.\n * ebMS 2.0 (https://www.oasis-open.org/standards#ebxmlmsgv2)\n * SOAP 1.1 and 1.2 messaging\n * WS-ReliableMessaging 1.1, 1.2 (http://docs.oasis-open.org/ws-rx/wsrm/v1.2/) and WS-Reliability 1.1 (http://docs.oasis-open.org/wsrm/2004/06/ws-reliability-1.1.xsd)\n * the AS1, AS2 (https://tools.ietf.org/html/rfc4130) and AS3 IETF EDIINT specifications.\n * AMQP messaging, transport and SASL security\n * and the HTTP 1.1, HTTP/2, FTP, SMTP, SFTP and WebSocket transports.\n\nCurrently, eight modules are provided:\n\n * unify.py provides functionality to automatically form a CPA from two CPPs.\n * match.py provides functionality to match a CPA with a CPP it is based on\n * profile.py allows CPPs or CPAs that reference \"ChannelProfile\" to pull in defaults specified for those profiles\n * pmode.py provides functionality to generate a (set of) P-Modes from a CPA.\n * cppa23 is a new module that converts v2 CPP or CPA documents to the version 3 schema.\n * schema.py has utilities to work with the CPPA3 schema.\n * smp.py provides functionality to map between CPP3 and SMP XML.\n * view.py provides functionality to create a view on a CPP for a particular viewer.\n\nAn earlier version of this library include an incomplete \nexperimental module that converts a subset of v3 CPAs to version 2.0 CPA. But ability to upconvert seems to \nmake more sense, so this module is no longer maintained.\n\nAs the CPPA3 schema is still under development, it may change in backward-incompatible\nways, and this library will be updated accordingly.\n\nBoth Python 2.7.* and CPython 3.7.1 are supported.\n\nunify.py\n========\n\nThis module defines a single function:\n\n * *unify*.\n\nThis function operates on two CPP XML documents, parsed into element trees using\nthe Python lxml library, and returns a CPA, if one exists. If no CPA can be created,\na *UnificationException* is thrown instead.\n\nInternally in the module, the unify function instantiates an object of the CPABuilder\nclass, and invokes the unify method of that object with the specified CPP documents.\nCPA formation is similar to unification in logic programming and involves exploring many (successful\nor unsuccessful) paths, possibly repeatedly. The unify function\nmemoizes partial search results, and the class provides data structures to locally\nstore those results (which are specific to the two input CPPs and therefore not\nuseful in other contexts). The purpose of memoization is to some extent optimization,\nbut also keeps the logging human-readable.\n\nThis function could be used by one of the two parties in data exchange, or a third party\nmanagement service provider, to create a configuration for the exchange that is\ncompatible with the profiles of the individual parties.\n\nmatch.py\n========\n\nThis module defines a single function\n\n * *match*\n\nThis function takes a CPA and a CPP and determines whether the CPA matches the CPP. A CPA\nmatches a CPP if it could have been derived from it by unifying it with some other \n(unspecified) CPP. This means that one of the two parties in the CPA relates to the \nparty in the CPP. Also, all other structures, such as service and action bindings, channels,\ntransport etc. all need to be linkable to a structure in the CPP. As in unification, \npresented party certificates can be checked against specified trust anchor sets.\n\nThis function could be used by a party to verify, before accepting it, that a presented CPA\n(possibibly created by a communication partner or by a third party service provider) is\ncompatible with its own configuration, whether related to networking, messaging, security,\nbusiness content or process.\n \n\nprofile.py\n==========\n\nThis module defines a ChannelProfileHandler class, which has two main methods: \n\n * *load_profile_config* \n\nThis method loads XML files containing definitions of Channels with a ChannelProfile element. The other content is \ninterpreted as default values for that profile. \n\n * *apply_profile_config*\n\nThis method processes a CPP or CPA file and adds, for each Channel with a configured ChannelProfile, the relevant defaults. \nThe CPP or CPA can override these values. \n\ncppa23.py\n=========\n\nThis module provides a basic automated conversion from CPPA2 to CPPA3. \n\n * *cpp23*\n\nThis function converts an lxml.etree.Element or lxml.etree.ElementTree representing a version 2 *CollaborationProtocolProfile* \ndocument to a version 3 *CPP* document. Since there is no counterparty role information in a version 2 document, the\ncounterparty role is set to a default role value.\n\n * *cpa23*\n\nThis function converts an lxml.etree.Element or lxml.etree.ElementTree representing a version 2 *CollaborationProtocolAgreement* \ndocument to a version 3 *CPA* document.\n\nIt supports the full *CollaborationRole* hierarchy, with HTTP and SMTP transport, signing, encryption, reliable messaging, and \npartial support for packaging. It supports asynchronous user messages and asynchronous or synchronous signals. Nested \n*CanSend* and *CanReceipt* structures are not supported, only flat action bindings.\n\nVersion 2 packaging is supported, provided the document references the ebXML header as a *Constituent* in a *Composite* element\nthat is the last item in a *CompositeList*. For the payload parts, *PayloadProfile* elements are generated and \n*SOAPWithAttachmentsEnvelope* elements that reference the related payload parts. This function is tested for (minor variants of)\nthe samples provided in the CPPA2 standard, and for an anonimized large real-life sample. \n\nAn earlier version of this library included a module that downconverted v3 to v2. As upconversion makes more\nsense, this module is now deprecated. It is still included in the library but should not be used as it was incomplete.\n\npmode.py\n========\n\nThis module defines the following functions:\n\n * *load_pmodes_from_cpa*\n * *validate_pmode*\n\nThe *load_pmodes_from_cpa* function operates on\na CPA document and returns a list of processing modes. Using optional parameters,\nthe function can be restricted to processing modes involving a particular\nnamed or identified party. If *partyname* is specified, it\nwill skip any definitions not involving a party with that name.\nIf *partyid* is specified, it will skip any definitions not involving a party with that name.\n\n\nThe *validate_pmode* function operates on list of processing modes and validates this list\nagainst a JSON schema for processing modes that is part of the library.\n\n\nsmp.py\n======\n\nThis module defines the following function:\n\n * *cpp2smp*\n\nThe *cpp2smp* function exports a subset of the content of a CPPA3 CPP document to a list of SMP (Service \nMetadata Publisher) XML documents (as *lxml.etree* objects), the first of which is an SMP ServiceGroup and \nthe others are SignedServiceMetadata elements.\n\nview.py\n=======\n\nThis module defines the function:\n\n * *view_cpp*\n\nThe *view_cpp* functions takes as arguments a list of viewer parties and a parsed CPP, where viewer parties\nis a list of Party ID, Party Type pairs. It returns a view on that CPP that takes into account the\nallowed and denied authorization attributes and the supplied party identies, or a *ViewException* if at \nleast one of the party identifies is block at CPP top level. Unreferenced structures are removed from \nthe output. An anonymous view is created by passing an empty viewer list as parameter.\n\nTest Suite\n==========\n\nTest suites are provided for all modules. When you run a test suite, you can optionally\nvalidate the CPP or CPA documents against the draft CPPA3 XML schema. To do this,\nyou must download the schema to a readable location on the filesystem, and set the\n*CPPA3XSDDIR* environment variable to this location. If the variable is not set, no validation\nis done.\n\nHistory\n=======\n\nv0.43 updated to WD12.\n\nv0.42, full support for CPython 3.7.1. (Previously we worked with 2.7.10)\n\nv0.39, some cleanups to SMP export.\n\nv0.38, view now omits unreferenced structures (channels, transports, certs etc.)\n\nv0.37, 2017-11-25, new \"view\" module and \"view_cpp\" function.\n\nv0.35, 0.36 2017-11-16 Packaging fixes\n\nv0.34 2017-11-16 AMQP messaging, transport and security; SFTP transport and SSH keys; StartTLS and\nTLS SNI; bug fix in part property matching; leaf certificate presence requirement checks; schema validation \nin tests uses a catalog to load local copies of schemas. More and more interesting examples, clean up.\n\nv0.33 2017-09-29 PayloadProfileId element; multiple alternative PayloadProfileId elements; multiple \nActionBinding elements with same direction and action name supported; CertificateDefauls always retained \nin CPA; some clean up.\n\nv0.32 2017-09-19 WebSocket transport support in unify. Match module functionality adds delegation, named channel, \npayload profile, authorization (allowed/denied) features. \n\nv0.31 2017-08-25 First release of match module\n\nv0.30 2017-08-19 First release of new SMP module\n\nv0.29 2017-08-15 PKI updates: clean up of redundant code, CertificateRequired, Trust Anchors in CPA if no \nCert at unification time; naming consistent with current draft XSD. Added missing CanonicalizationMethod unification. \n\nv0.28 2017-07-07 Updates for ebBP attribute support. Better support for AS2 in the profile and unify modules. \n\nv0.27 2017-07-25 Completed module cppa23 up to good enough status. \n\nv0.26 2017-06-09 First release with new module cppa23\n\nv0.25 2017-06-01 Activation and expiration intervals can now be set a ServiceBinding level.\n\nv0.23 2017-05-10 Unreferenced certificates are not in CPA; bug in trust anchor checks fixed; more tests for ebMS2.\n\nv0.22 2017-04-02 Improvements in profile handler in combination with channel features. Updated tests. New schema.py.\n\nv0.21 2017-03-30 Some fixes and more test samples, covering DATA AND PAYMENT STANDARDS\nMESSAGE ORCHESTRATION AND PROFILES from https://www.ato.gov.au/uploadedFiles/Content/SPR/downloads/SPR26583msgorchest.pdf\n\nv0.20 2017-03-27 Fix to pmode.py for AS4 compression\n\nv0.19 2017-03-27 More flexibile profiling: separate templates for \"send\" en \"receiving\" channel profiles;\ndefault certificates for signing, encryption, client and server authentication; ebMS3 Split/Join/Compress\nfeature; IPv4 and IPv6 checks; HTTP configuration covers HTTP 1.1 and HTTP/2. Support for Web Services\nReliable Messaging protocols (WS-ReliableMessaging and WS-Reliability).\n\nv0.18 2017-03-18 Delegation, CertificateDefaults. Aligned with OASIS spec WD05 and \nebCore schema #14.\n\nv0.17 2017-02-09 EDIINT (AS1, AS2, AS3) support including features. WS-Addressing support.\n\nv0.16 2017-01-31 SAML token supports and WS-Addressing improvements\n\nv0.15.1 2017-01-27 Multihop improvements\n\nv0.14, 2017-01-04 Support SecurityPolicy in unify.py\n\nv0.13, 2016-12-27 Fixed a bug in the JSON Pmode generator. Also fixed some tests that had expiration\nor activation around 2017-01-01. ..\n\nv0.12, 2016-12-14 Support for the \"allowed\" and \"denied\" control attributes.\n\nv0.11, 2016-11-07 Payload security; bug in handling of cppa:Expression\n\nv0.10, 2016-11-01 New module \"profile.py\" for ChannelProfile.\n\nv0.9 2016-10-06 Renamed agreementid to agreementidfun. Updated to do list.\n\nv0.8 2016-10-02. Various Fixes, more tests.\n\nv0.7.8 2016-09-21. Updated readme. PullHandling. More Channel Features.\n\nv0.7.1 2016-09-20. Channel feature support for security and reliable messaging. Tests added correspondingly.\n\nv0.6.1, 2016-08-31. Customizable AgreementIdentifier; JSON schema fixes.\n\nv0.5.3, 2016-08-26. Some changes to ensure generated CPAs are schema-valid; cleaned up test suite.\n\nv0.4, 2016-04-01. Experimental CPA2 module; fixes to certificates and trust anchor handling.\n\nv0.3.9, 2016-03-16. First public release.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.oasis-open.org/committees/document.php?document_id=57550", "keywords": "", "license": "mit", "maintainer": "", "maintainer_email": "", "name": "cppa3", "package_url": "https://pypi.org/project/cppa3/", "platform": "", "project_url": "https://pypi.org/project/cppa3/", "project_urls": { "Homepage": "https://www.oasis-open.org/committees/document.php?document_id=57550" }, "release_url": "https://pypi.org/project/cppa3/0.43/", "requires_dist": null, "requires_python": "", "summary": "Libraries for processing ebCore CPPA version 3 documents", "version": "0.43" }, "last_serial": 4638199, "releases": { "0.10.1": [ { "comment_text": "", "digests": { "md5": "7c4846d7210fc7590dc8530b5593aebd", "sha256": "20ddc27883f3db1c1d605e727d49aee7c29b285a2cd54fafcccdd284d7570e8d" }, "downloads": -1, "filename": "cppa3-0.10.1.tar.gz", "has_sig": false, "md5_digest": "7c4846d7210fc7590dc8530b5593aebd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 271443, "upload_time": "2016-11-01T08:53:06", "url": "https://files.pythonhosted.org/packages/87/81/1e5212a30d6f64e9e514e8504c31942c01c93e14732d44fbfb468fbfd968/cppa3-0.10.1.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "c11943452a55f3dc1b1510bb9dda10fe", "sha256": "f52dc6962cc7e5fc27db46d36900226bf6063d07f93453c42a3423d4c381a986" }, "downloads": -1, "filename": "cppa3-0.11.tar.gz", "has_sig": false, "md5_digest": "c11943452a55f3dc1b1510bb9dda10fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 278804, "upload_time": "2016-12-07T15:01:27", "url": "https://files.pythonhosted.org/packages/34/06/4dde5476eed619226a7e3226111dc078bbaa9aff3c1adec8974fbab08d39/cppa3-0.11.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "6119caee467fbf5d0a1a2d9e6333aa64", "sha256": "4d026480c97dc527910a9b36098785cefd0c87f05569ca0d80054e346ac94cf8" }, "downloads": -1, "filename": "cppa3-0.12.tar.gz", "has_sig": false, "md5_digest": "6119caee467fbf5d0a1a2d9e6333aa64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 290809, "upload_time": "2016-12-14T22:26:48", "url": "https://files.pythonhosted.org/packages/dc/c8/162486daab0ae56b3950befe3eee911fd487e91d8729190fdb725a44a970/cppa3-0.12.tar.gz" } ], "0.13": [ { "comment_text": "", "digests": { "md5": "543f080f25bb587dac06de9962a0e415", "sha256": "c37fbbc06d75741c80879bbee6fdd87712538b615f8290cb3c8b45a25ee1e2f4" }, "downloads": -1, "filename": "cppa3-0.13.tar.gz", "has_sig": false, "md5_digest": "543f080f25bb587dac06de9962a0e415", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 290862, "upload_time": "2016-12-27T09:41:00", "url": "https://files.pythonhosted.org/packages/5f/1c/b08f0b6f0d3c6a347dea2c14b5431ee4d677623bb3f1391ed3075de8c579/cppa3-0.13.tar.gz" } ], "0.14": [ { "comment_text": "", "digests": { "md5": "7cfdf1842b35ac4769a2a79bad616e24", "sha256": "729531764b1f4eb4263395603e9636fb94c1ff368117067fb28fb62f29765a2f" }, "downloads": -1, "filename": "cppa3-0.14.tar.gz", "has_sig": false, "md5_digest": "7cfdf1842b35ac4769a2a79bad616e24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 290923, "upload_time": "2017-01-04T15:33:08", "url": "https://files.pythonhosted.org/packages/80/ae/5b05215f110d30d120e82b48ac4ef258032ce0f9474ddde7d1dd5fc1634e/cppa3-0.14.tar.gz" } ], "0.15.2": [ { "comment_text": "", "digests": { "md5": "f64f807dd74b9b96d1802f73768fd035", "sha256": "e602fc92b50d6408198fbdbb1c4fbfe5c9fb5e79e21c7e20fd15dbcc3811825d" }, "downloads": -1, "filename": "cppa3-0.15.2.tar.gz", "has_sig": false, "md5_digest": "f64f807dd74b9b96d1802f73768fd035", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 291893, "upload_time": "2017-01-27T16:06:06", "url": "https://files.pythonhosted.org/packages/45/ec/5f568251d7eac946a8afc2c75dd2615bfade7e0d34b65a07fca99a678dea/cppa3-0.15.2.tar.gz" } ], "0.16.1": [ { "comment_text": "", "digests": { "md5": "5a6e1cd6c3ec1e08011ac557e8e76baf", "sha256": "a31ef7e38a8f63eeea37799ac98ac202953fb69b392c19ca3b81f5ab1c121307" }, "downloads": -1, "filename": "cppa3-0.16.1.tar.gz", "has_sig": false, "md5_digest": "5a6e1cd6c3ec1e08011ac557e8e76baf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 300873, "upload_time": "2017-01-31T07:10:38", "url": "https://files.pythonhosted.org/packages/e4/0a/06615a4b7312e5a11b3830831a46acb517531fac8c379f0e8eb607639b4c/cppa3-0.16.1.tar.gz" } ], "0.17": [ { "comment_text": "", "digests": { "md5": "343f534754f54073593dceb4eecf2f2b", "sha256": "2f28336ebf158bda7501964142e5dafb5140aa718dbf64981ee2cdc86da5805e" }, "downloads": -1, "filename": "cppa3-0.17.tar.gz", "has_sig": false, "md5_digest": "343f534754f54073593dceb4eecf2f2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 321226, "upload_time": "2017-02-09T07:21:16", "url": "https://files.pythonhosted.org/packages/c5/e7/b2b6b632c18fe4f3da38c5fef2d9a49e320ba61e97e0b02b668ac6da18cb/cppa3-0.17.tar.gz" } ], "0.18.2": [ { "comment_text": "", "digests": { "md5": "c8b78987f06d44341db8e92e4f5b3612", "sha256": "c61aefea10476ac5a5e196bdc1728617add690762ea12980defa9250b0db0cab" }, "downloads": -1, "filename": "cppa3-0.18.2.tar.gz", "has_sig": false, "md5_digest": "c8b78987f06d44341db8e92e4f5b3612", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 345700, "upload_time": "2017-03-19T14:33:13", "url": "https://files.pythonhosted.org/packages/5a/fe/22abe07f7afd4f2f4a13ccba5a8134b56e63a75e11ef0ce7022e56b855fe/cppa3-0.18.2.tar.gz" } ], "0.19": [ { "comment_text": "", "digests": { "md5": "2c6f0d0b443732770ffc9b95ac870689", "sha256": "3fb82416f2f9e568fd8b21fa2250f858469698ba9495a948eccbc5ef023badc1" }, "downloads": -1, "filename": "cppa3-0.19.tar.gz", "has_sig": false, "md5_digest": "2c6f0d0b443732770ffc9b95ac870689", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 371177, "upload_time": "2017-03-27T10:55:11", "url": "https://files.pythonhosted.org/packages/f6/72/f2d4765c566879b90edf9049ccfa6d227d857871f89985fb562b22cc12fa/cppa3-0.19.tar.gz" } ], "0.20": [ { "comment_text": "", "digests": { "md5": "07a12b9edfbd5b7cca858e94dda9d579", "sha256": "7059fd5b94d1a9532683276c0a3d416a6245a2435b2aca9cf56c506416d30d69" }, "downloads": -1, "filename": "cppa3-0.20.tar.gz", "has_sig": false, "md5_digest": "07a12b9edfbd5b7cca858e94dda9d579", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 371509, "upload_time": "2017-03-27T14:19:02", "url": "https://files.pythonhosted.org/packages/14/63/2df61854a8257735ca2883c426dbf9dc87eb327bb87128edc5d432205440/cppa3-0.20.tar.gz" } ], "0.21": [ { "comment_text": "", "digests": { "md5": "4c7d38271b18f26e79c3b9f08d4c2072", "sha256": "ee9e26a3964e880bc4d2b2dce6bc127dd69aeb3bc4cae147d3ba4673384a6384" }, "downloads": -1, "filename": "cppa3-0.21.tar.gz", "has_sig": false, "md5_digest": "4c7d38271b18f26e79c3b9f08d4c2072", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 386581, "upload_time": "2017-03-30T15:37:44", "url": "https://files.pythonhosted.org/packages/15/10/d02055ff9cbea0c6e0a3c4fa99c1b2b10377ac7533859c7b776505c633c3/cppa3-0.21.tar.gz" } ], "0.22": [ { "comment_text": "", "digests": { "md5": "bc322d2ed5afb424b81ec70dcb190324", "sha256": "40e892eb8fbd5d7f5190099dfdea1476dbc048020abdc9fb01a37c3bf3f8d9ad" }, "downloads": -1, "filename": "cppa3-0.22.tar.gz", "has_sig": false, "md5_digest": "bc322d2ed5afb424b81ec70dcb190324", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 399952, "upload_time": "2017-04-02T09:08:39", "url": "https://files.pythonhosted.org/packages/74/ca/bbbb06640bdcce2c4f9769ee1290f1a15ecccac0a11b307ce5f96fafc09a/cppa3-0.22.tar.gz" } ], "0.23": [ { "comment_text": "", "digests": { "md5": "ae133ef25a93cd4a7faa120ca72e60b1", "sha256": "3ff702876b3d3be250f936edc15a4cfd50bc8b8f4380d9e74ec23b31bf259e7e" }, "downloads": -1, "filename": "cppa3-0.23.tar.gz", "has_sig": false, "md5_digest": "ae133ef25a93cd4a7faa120ca72e60b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403492, "upload_time": "2017-05-10T15:44:39", "url": "https://files.pythonhosted.org/packages/bb/7b/d8c944ac167647a58942aa0de59b8fa764c274c6d249b1da7a019f327fb9/cppa3-0.23.tar.gz" } ], "0.24": [ { "comment_text": "", "digests": { "md5": "bc1c3bcbfafcca08c4a010c29e734e87", "sha256": "4ca5b028b8362ce5e85f5b0c64d73d9b929d97bdfc0068e19bac77e001b03cf4" }, "downloads": -1, "filename": "cppa3-0.24.tar.gz", "has_sig": false, "md5_digest": "bc1c3bcbfafcca08c4a010c29e734e87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403839, "upload_time": "2017-06-01T12:11:13", "url": "https://files.pythonhosted.org/packages/1d/e8/09d8897278d72946d26b69477c06378122efcae767defc3a9d936c83ea11/cppa3-0.24.tar.gz" } ], "0.26": [ { "comment_text": "", "digests": { "md5": "4cd6d5fe96b3e5c21ae9dbe136bf496f", "sha256": "4d3a099d9debc4d51f50d721420049cf59b20c146be94e6c58023f9c888930ba" }, "downloads": -1, "filename": "cppa3-0.26.tar.gz", "has_sig": false, "md5_digest": "4cd6d5fe96b3e5c21ae9dbe136bf496f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 412450, "upload_time": "2017-06-09T07:45:01", "url": "https://files.pythonhosted.org/packages/bd/2d/63e52b1118b0e604821d36745c477bdbd500cb1fb98f43b74ffdc3e1fc38/cppa3-0.26.tar.gz" } ], "0.28": [ { "comment_text": "", "digests": { "md5": "63f21385286527213740111501ac3bc2", "sha256": "890d22a59cd877277f7734f8b7b325bb4f8085336ebd70509bbdb0f7214fce58" }, "downloads": -1, "filename": "cppa3-0.28.tar.gz", "has_sig": false, "md5_digest": "63f21385286527213740111501ac3bc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 472303, "upload_time": "2017-07-07T15:13:39", "url": "https://files.pythonhosted.org/packages/07/46/d5c35b2b277cb41858a307da37134614d884dcb3908c71b5bdef2a00e3d1/cppa3-0.28.tar.gz" } ], "0.29": [ { "comment_text": "", "digests": { "md5": "5d9024232cdee0f0fa1b913687b7a684", "sha256": "46bff63176d6def7827e724e22716b2750fa556a65d4095b27c48e60d4d6f085" }, "downloads": -1, "filename": "cppa3-0.29.tar.gz", "has_sig": false, "md5_digest": "5d9024232cdee0f0fa1b913687b7a684", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 476998, "upload_time": "2017-08-15T14:09:48", "url": "https://files.pythonhosted.org/packages/be/82/11128713f588559748836328dc50c9849c0ed0337e595415e1a56f42daa4/cppa3-0.29.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "6722d378cc29e57fb1b0d37b18bd4a0b", "sha256": "01c20690a41e726fdbf7767e70fea55f2ae4449480bdc801b9bd7e9121a76941" }, "downloads": -1, "filename": "cppa3-0.3.7.tar.gz", "has_sig": false, "md5_digest": "6722d378cc29e57fb1b0d37b18bd4a0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107647, "upload_time": "2016-03-16T10:22:46", "url": "https://files.pythonhosted.org/packages/09/16/69a711ac3f5f95d63e33a472edffd5a2960cbcfe23506ef201413f75566c/cppa3-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "071c9600f39afb2c0e976bf07b330307", "sha256": "565e509b18b4ea56ad8240017ef35940807167a79f4f27c687ebefc9099d83eb" }, "downloads": -1, "filename": "cppa3-0.3.8.tar.gz", "has_sig": false, "md5_digest": "071c9600f39afb2c0e976bf07b330307", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107590, "upload_time": "2016-03-16T10:45:35", "url": "https://files.pythonhosted.org/packages/b3/6b/3bca8b7dc7b62832bc0a8dda8aeb95b779a8d63ace33fba020dfe2391916/cppa3-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "0ce4fb8e02a3e0180d39e3c29ce2f475", "sha256": "3bc58000f7001f25434e292751cb30c5baf87170e536b60cb37921a630aa48e7" }, "downloads": -1, "filename": "cppa3-0.3.9.tar.gz", "has_sig": false, "md5_digest": "0ce4fb8e02a3e0180d39e3c29ce2f475", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 107599, "upload_time": "2016-03-16T11:15:37", "url": "https://files.pythonhosted.org/packages/1a/02/b6a2d5d413e259cb3d02fea7e1a7503f67d1c256d0611690e8ac5b63863e/cppa3-0.3.9.tar.gz" } ], "0.30.1": [ { "comment_text": "", "digests": { "md5": "b6d1f4cb48dd815962007c0086ac31e6", "sha256": "c903ef0e9b011a4ad5cf553cb1168907fc62ab498da2437a1519a6553a275224" }, "downloads": -1, "filename": "cppa3-0.30.1.tar.gz", "has_sig": false, "md5_digest": "b6d1f4cb48dd815962007c0086ac31e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 491832, "upload_time": "2017-08-19T15:45:46", "url": "https://files.pythonhosted.org/packages/7b/ab/824577be3cdb2a9f4d886d9a702b1dd1e32c05081908ec6986fc1e921e35/cppa3-0.30.1.tar.gz" } ], "0.31": [ { "comment_text": "", "digests": { "md5": "7da80f7b1bf0e8ed08130ec5140f1aae", "sha256": "f8e45dcc1fb6d823e1175b620ff209a7c9f1d11940ff77911bfdc94cb5a20851" }, "downloads": -1, "filename": "cppa3-0.31.tar.gz", "has_sig": false, "md5_digest": "7da80f7b1bf0e8ed08130ec5140f1aae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 497240, "upload_time": "2017-08-25T15:10:00", "url": "https://files.pythonhosted.org/packages/c1/c5/00491a8b8700993283dc5c64e4810289a0714bc654acfa259c951d9f2169/cppa3-0.31.tar.gz" } ], "0.32": [ { "comment_text": "", "digests": { "md5": "123fbe1b66eac3e8a0c0cc67445ea270", "sha256": "1cfedea1822f29832aaca6ab8c1ba5d50f644625952899477239bb68f471e047" }, "downloads": -1, "filename": "cppa3-0.32.tar.gz", "has_sig": false, "md5_digest": "123fbe1b66eac3e8a0c0cc67445ea270", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 502907, "upload_time": "2017-09-19T13:31:22", "url": "https://files.pythonhosted.org/packages/b9/93/8aecc9861feb1964484fbca260d7117d3a2343ebec601889fc499d3d4713/cppa3-0.32.tar.gz" } ], "0.32.1": [ { "comment_text": "", "digests": { "md5": "2d299dece490c06ff09359118cd5312f", "sha256": "243bb8580c5dff5b5c40917c802136819663b896a887db70d4a640e78cc55586" }, "downloads": -1, "filename": "cppa3-0.32.1.tar.gz", "has_sig": false, "md5_digest": "2d299dece490c06ff09359118cd5312f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 502914, "upload_time": "2017-09-19T13:33:22", "url": "https://files.pythonhosted.org/packages/fa/f6/01e4e0276e2eb1aedade6be042f3013a7065aa54d08a9bea5a0cd2c5bd93/cppa3-0.32.1.tar.gz" } ], "0.33": [ { "comment_text": "", "digests": { "md5": "474e022fd61890bcc1cead3c42f76acc", "sha256": "d6e2be3b4c3af057bd0bea02b12f7b2c5ea5680f8d2c9462e4c67c041cfe4093" }, "downloads": -1, "filename": "cppa3-0.33.tar.gz", "has_sig": false, "md5_digest": "474e022fd61890bcc1cead3c42f76acc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 511737, "upload_time": "2017-09-29T14:11:20", "url": "https://files.pythonhosted.org/packages/b1/0d/5fe474c73b0b7e947109e394d04c090b9f542d6db13783fb953e0bdee189/cppa3-0.33.tar.gz" } ], "0.34.0": [ { "comment_text": "", "digests": { "md5": "0bdf08a98ab726924cdd157019e764e5", "sha256": "e9c7a545c036c0e9b32cd13ae6117cd9100594efd8a6a01b2081adca06de5ff2" }, "downloads": -1, "filename": "cppa3-0.34.0.tar.gz", "has_sig": false, "md5_digest": "0bdf08a98ab726924cdd157019e764e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1270264, "upload_time": "2017-11-16T23:34:18", "url": "https://files.pythonhosted.org/packages/86/ed/19326bc709941db6b30c3bff7b5b902ed4cadbbd5c470399fe862b455901/cppa3-0.34.0.tar.gz" } ], "0.35": [ { "comment_text": "", "digests": { "md5": "7b7fa87208d7c3f42ca742046d941a32", "sha256": "3f917649ec00a4f90a7dc9d26ccef6e7ce3f26a80b0dde67f1e467ab0d9f4297" }, "downloads": -1, "filename": "cppa3-0.35.tar.gz", "has_sig": false, "md5_digest": "7b7fa87208d7c3f42ca742046d941a32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1270224, "upload_time": "2017-11-16T23:39:18", "url": "https://files.pythonhosted.org/packages/a0/ef/e368186ad7bcae6f610790e09c36a2b64cf758c663fd8b3826953a268247/cppa3-0.35.tar.gz" } ], "0.36": [ { "comment_text": "", "digests": { "md5": "7f92d2824446d45b273028e028a38f15", "sha256": "f11a9ba4e2c1bb11754553583a123ea9236b10167f77fd9d8e617378876ef47b" }, "downloads": -1, "filename": "cppa3-0.36.tar.gz", "has_sig": false, "md5_digest": "7f92d2824446d45b273028e028a38f15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 554104, "upload_time": "2017-11-16T23:45:27", "url": "https://files.pythonhosted.org/packages/17/12/df42a2f5e9fc569bac624cfb18e1431e7f5287a6f69e565baeaf94406524/cppa3-0.36.tar.gz" } ], "0.37.0": [ { "comment_text": "", "digests": { "md5": "fe12200f23b64119513fc2a19921e09f", "sha256": "07aa5fc340597d8a528350b530dc773ceb3b84dc8ef059a8687d1d500e5b7db7" }, "downloads": -1, "filename": "cppa3-0.37.0.tar.gz", "has_sig": false, "md5_digest": "fe12200f23b64119513fc2a19921e09f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 558518, "upload_time": "2017-11-25T16:55:15", "url": "https://files.pythonhosted.org/packages/d5/f0/56f5b7581c04c0c59086d26f9b98b220c50d9737a6b058ba1870414d2d8d/cppa3-0.37.0.tar.gz" } ], "0.38": [ { "comment_text": "", "digests": { "md5": "0038d993ecd7b750c27f4bffd2e7ea5a", "sha256": "b3aed4476573b26835a0834725c4f0151f796012ebf46c45a2150543482417fd" }, "downloads": -1, "filename": "cppa3-0.38.tar.gz", "has_sig": false, "md5_digest": "0038d993ecd7b750c27f4bffd2e7ea5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 561527, "upload_time": "2017-11-27T11:02:40", "url": "https://files.pythonhosted.org/packages/5e/bd/3548dc9d608c2a756e39addeda4e267463dcfa143185a8cba91aafb51bb1/cppa3-0.38.tar.gz" } ], "0.39.1": [ { "comment_text": "", "digests": { "md5": "50cee5d0b760aec0b118e7e605730b55", "sha256": "9c0546ce3de0f523aa9809afcdf36c5c8a771633f42046ed3240a14ecbaacedc" }, "downloads": -1, "filename": "cppa3-0.39.1.tar.gz", "has_sig": false, "md5_digest": "50cee5d0b760aec0b118e7e605730b55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 561527, "upload_time": "2017-12-05T15:01:42", "url": "https://files.pythonhosted.org/packages/f6/c8/03b9d7b403f71c028e21d99495e2ffc81e533e664a949fab139c60583bc3/cppa3-0.39.1.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "0332cec245131e5a83b921093c9ddb54", "sha256": "c06a3154c1545598e35e29adf176b9c35d2696e50bbcf888f3344a106663e45f" }, "downloads": -1, "filename": "cppa3-0.4.1.tar.gz", "has_sig": false, "md5_digest": "0332cec245131e5a83b921093c9ddb54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 163773, "upload_time": "2016-04-01T11:23:47", "url": "https://files.pythonhosted.org/packages/a5/e3/b13ad7e8c0b6632e372c8a59718fb59d21fbb95f3b5b1f6c5f0237d6c883/cppa3-0.4.1.tar.gz" } ], "0.41": [ { "comment_text": "", "digests": { "md5": "9b6aea1238dc1b8677a9b1d887b186b6", "sha256": "ee8f1ed4d1be009677b3607c7bf090549c8b3d944a2ba7aa6be058f3879e31df" }, "downloads": -1, "filename": "cppa3-0.41.tar.gz", "has_sig": false, "md5_digest": "9b6aea1238dc1b8677a9b1d887b186b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 563000, "upload_time": "2018-03-21T17:09:03", "url": "https://files.pythonhosted.org/packages/31/de/ae586258eff99fa55d56743877c8c295e2c050368f37f21c1c5168da9705/cppa3-0.41.tar.gz" } ], "0.42.2": [ { "comment_text": "", "digests": { "md5": "da108941b9465ab488438a4c16b26c34", "sha256": "5216ed5e7f042a102bdb85016ae6b6d3b14096eedcc256b94609422c7081bff6" }, "downloads": -1, "filename": "cppa3-0.42.2.tar.gz", "has_sig": false, "md5_digest": "da108941b9465ab488438a4c16b26c34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 563564, "upload_time": "2018-10-26T18:10:55", "url": "https://files.pythonhosted.org/packages/dc/5a/6d00df858a74d6db0e83f3d37e4a0a51fb8ca70dd8364930dccf43905c8b/cppa3-0.42.2.tar.gz" } ], "0.42.3": [ { "comment_text": "", "digests": { "md5": "a46116317e081a3b7748861c7cf2189e", "sha256": "1e26a26d2abf8fbf675f166c5aedc0706382789c6a921646dfd8de081c6f7b14" }, "downloads": -1, "filename": "cppa3-0.42.3.tar.gz", "has_sig": false, "md5_digest": "a46116317e081a3b7748861c7cf2189e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 563593, "upload_time": "2018-10-26T18:15:12", "url": "https://files.pythonhosted.org/packages/65/6c/11703edfea614533877c54354a45fc5412a018ec3963b5c8a02747c77f2c/cppa3-0.42.3.tar.gz" } ], "0.43": [ { "comment_text": "", "digests": { "md5": "6bf252a3d9c3165041749b9e89dd5bfb", "sha256": "32a611cb7c59c9d954f83cb3d6f8ecd113adb646bc8f2947ec60fe847963454c" }, "downloads": -1, "filename": "cppa3-0.43.tar.gz", "has_sig": false, "md5_digest": "6bf252a3d9c3165041749b9e89dd5bfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 570294, "upload_time": "2018-12-27T15:17:56", "url": "https://files.pythonhosted.org/packages/cd/17/e70d0cbe8f9c092c91d81585d4aabc4ee579ed927f8dfdb67a89113552fa/cppa3-0.43.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "66ec127604d76b238e7c67f63922b409", "sha256": "e2466718f1e922d3e5d797878211ffab7fdbf8cc43a739eb961dfd5862bedd93" }, "downloads": -1, "filename": "cppa3-0.5.3.tar.gz", "has_sig": false, "md5_digest": "66ec127604d76b238e7c67f63922b409", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 194938, "upload_time": "2016-08-26T12:00:47", "url": "https://files.pythonhosted.org/packages/68/49/6b60a9dbbaf03ee9c3fb0f045a52b30d4f8df2d4c700ee5d21852756c9ac/cppa3-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "f0845650d82ab847ed618a04130a2f83", "sha256": "995cd4a4a8e4a892d873581f10348b58ae6fe6a950d63049c1c68442c1604d4c" }, "downloads": -1, "filename": "cppa3-0.5.4.tar.gz", "has_sig": false, "md5_digest": "f0845650d82ab847ed618a04130a2f83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 196510, "upload_time": "2016-08-31T07:35:15", "url": "https://files.pythonhosted.org/packages/01/c6/556534cb5a55f80a21236dc32db138cdafb6c0fd0a9ee739824faa18d193/cppa3-0.5.4.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "b8dcf29b2a1371b2348cc9140ea80711", "sha256": "d9aa9432394908b291b21b1058e0528806fb46f5ff38c9c930a66088a57f8ddb" }, "downloads": -1, "filename": "cppa3-0.6.1.tar.gz", "has_sig": false, "md5_digest": "b8dcf29b2a1371b2348cc9140ea80711", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 196665, "upload_time": "2016-08-31T19:27:57", "url": "https://files.pythonhosted.org/packages/e1/ff/cc3b27b093af8d4b905cea417aad76c4bf14923d5400f435913c83567f38/cppa3-0.6.1.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "43080006cf36f88a282ba938c89b6c0a", "sha256": "6b119e90e716ef094a36748b00c9c1b49dfe2e13b7dba87b9665142d972d1691" }, "downloads": -1, "filename": "cppa3-0.7.1.tar.gz", "has_sig": false, "md5_digest": "43080006cf36f88a282ba938c89b6c0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178063, "upload_time": "2016-09-20T16:17:34", "url": "https://files.pythonhosted.org/packages/81/98/a53adea34e6c17f12809437309cdcc3e5c4f5a0d4253748673b3ead4ce96/cppa3-0.7.1.tar.gz" } ], "0.7.6": [ { "comment_text": "", "digests": { "md5": "33dbef57b39b1e758c86af5d9c92aba5", "sha256": "a5622155f4d943a6c8e0672c747dd25cf863f5d0052b3dece9cfef0c4b731121" }, "downloads": -1, "filename": "cppa3-0.7.6.tar.gz", "has_sig": false, "md5_digest": "33dbef57b39b1e758c86af5d9c92aba5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 179331, "upload_time": "2016-09-21T14:30:57", "url": "https://files.pythonhosted.org/packages/b4/a6/bdbb0f66ac44092e59fde3f8d3685c884655f28eabc2d7fb6bdca64642d8/cppa3-0.7.6.tar.gz" } ], "0.7.8": [ { "comment_text": "", "digests": { "md5": "c9dfd202643fc95d73385a7c25bd6105", "sha256": "53c0bef6fae94d3488fcbae0a749d4a4561c3b0c8441deedfbe25f94d8926680" }, "downloads": -1, "filename": "cppa3-0.7.8.tar.gz", "has_sig": false, "md5_digest": "c9dfd202643fc95d73385a7c25bd6105", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 179337, "upload_time": "2016-09-21T14:40:48", "url": "https://files.pythonhosted.org/packages/d8/47/81b22f9b3e13238e2a354fd5d5401471349d024d4f8193bc3a92307e70f5/cppa3-0.7.8.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "503fc7a1c054bd1b642d559548872fa7", "sha256": "0d49e15673b0d4fc449c3050ce74f7f9ad5fc0d199f6b911c045bc46f27ce558" }, "downloads": -1, "filename": "cppa3-0.8.2.tar.gz", "has_sig": false, "md5_digest": "503fc7a1c054bd1b642d559548872fa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 242108, "upload_time": "2016-10-02T18:08:49", "url": "https://files.pythonhosted.org/packages/0d/96/8088471dc9c8d97281a87498ea50487041dabdbe94f5d97a84e558b95077/cppa3-0.8.2.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "7619b50b0b80341ca93944c6347731f1", "sha256": "a6c203a9d21de542ecd2eb542b07d1067dd000623789c323a07936f58d36e8dc" }, "downloads": -1, "filename": "cppa3-0.9.1.tar.gz", "has_sig": false, "md5_digest": "7619b50b0b80341ca93944c6347731f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 242190, "upload_time": "2016-10-06T14:53:25", "url": "https://files.pythonhosted.org/packages/22/ae/990bd1eb74382baf8044d6dfdb2e5ed154af2b0744facc07436415a44fc2/cppa3-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6bf252a3d9c3165041749b9e89dd5bfb", "sha256": "32a611cb7c59c9d954f83cb3d6f8ecd113adb646bc8f2947ec60fe847963454c" }, "downloads": -1, "filename": "cppa3-0.43.tar.gz", "has_sig": false, "md5_digest": "6bf252a3d9c3165041749b9e89dd5bfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 570294, "upload_time": "2018-12-27T15:17:56", "url": "https://files.pythonhosted.org/packages/cd/17/e70d0cbe8f9c092c91d81585d4aabc4ee579ed927f8dfdb67a89113552fa/cppa3-0.43.tar.gz" } ] }