PySimpleSOAP


NamePySimpleSOAP JSON
Version 1.16.2 PyPI version JSON
download
home_pagehttps://github.com/pysimplesoap/pysimplesoap
SummaryPython simple and lightweight SOAP Library (master branch)
upload_time2017-12-03 17:09:17
maintainer
docs_urlNone
authorMariano Reingart
requires_python
licenseLGPL 3.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            PySimpleSOAP / soap2py
======================

Python simple and lightweight SOAP library for client and server
webservices interfaces, aimed to be as small and easy as possible,
supporting most common functionality. Initially it was inspired by `PHP
Soap Extension <http://php.net/manual/en/book.soap.php>`__ (mimicking
its functionality, simplicity and ease of use), with many advanced
features added.

**Supports Python 3** (same codebase, no need to run 2to3)

Goals
-----

-  Simple: originally less than 200LOC client/server concrete
   implementation for easy maintainability and enhancements.
-  Flexible: adapted to several SOAP dialects/servers (Java Axis, .Net,
   WCF, JBoss, "jetty"), with the possibility of fine-tuning XML request
   and responses
-  Pythonic: no artifacts, no class generation, no special types, RPC
   calls parameters and return values are simple python structures
   (dicts, list, etc.)
-  Dynamic: no definition (WSDL) required, dynamic generation and
   parsing supported (cached in a pickle file for performance,
   supporting fixing broken WSDL)
-  Easy: simple xml manipulation, including basic serialization and raw
   object-like access to SOAP messages
-  Extensible: supports several HTTP wrappers (httplib2, pycurl,
   urllib2) for special transport needs over SSL and proxy (ISA)
-  WSGI compliant: server dispatcher can be integrated to other python
   frameworks (web2py, django, etc.)
-  Backwards compatible: stable API, no breaking changes between
   releases
-  Lightweight: low memory footprint and fast processing (an order of
   magnitude in some situations, relative to other implementations)

History
-------

Client initially developed for AFIP (Argentina's IRS) web services:
electronic invoice, tax bonus, insurance, foreign trade, agriculture,
customs, etc. (http://code.google.com/p/pyafipws/wiki/ProjectSummary)

Now it has been extended to support other webservices like Currency
Exchange Control and TrazaMed (National Traceability of Medical Drugs
Program)

Also, includes Server side support (a generic dispatcher, in order to be
exposed from web2py service framework, adaptable to other webservers,
including examples for standalone WSGI and django)

Source Code originally available on
`GoogleCode <https://code.google.com/p/pysimplesoap>`__

Changelog
---------

Recent changes (2014/2015):

-  Plug-in system to support for WSSE (Web-Services Security extensions)
-  WSSE UsernameToken, UsernameDigestToken and BinaryTokenSignature
   support
-  Pythonic XML Security Library basic implementation (canonicalization,
   SHA1 hashing and RSA signing / verification using X509 digital
   certificates)
-  Improved SOAP Fault details
-  Several fixes (basic python3 support, CDATA, )
-  [Breaking] Fixed bugs that occur when dealing with WSDL's that
   contain nested complex types. Such WSDL's are commonly generated by
   .NET WCF services that have been developed using "contract first"
   style where developers define classes with a full inheritance
   hierarchy that are implicitly converted to WCF soap services. See
   Issue #42 (https://github.com/pysimplesoap/pysimplesoap/issues/42).

Ongoing efforts:

-  Unit Tests update & clean up (removing old tests, better framework,
   fixing non-deterministic results, etc.)
-  WSDL advanced support (unifying nested elements structure dialects)
-  Python3 support for WSSE XMLSec (M2Crypto alternatives?)
-  Source code refactoring to improve readability and maintainability
-  Improving interop with .NET WCF services

Previous contributed features (circa 2013, forked and merged back):

-  Corrected support for multiple SOAP ports/bindings
-  Support for both ``import`` and ``include`` stanzas in WSDL
-  Support for a WSDL base directory to deal with relative pathnames in
   import/include stanzas
-  Somewhat saner tracing/logging (traces now go to log.debug(), which
   you can handle per module)
-  Somewhat more readable logic (by removing a bunch of helpers to a
   separate file)

Testing
-------

Using Python 2.7+:

::

    python -m unittest discover

Using older Python versions:

::

    python -m unittest tests/suite.py

Code coverage:

::

    sudo pip install coverage
    coverage run tests/suite.py
    coverage report -m
    coverage html

Support
-------

For community support, please fell free to fill an
`issue <https://github.com/pysimplesoap/pysimplesoap/issues/new>`__ or
send an email to
`soap@python.org <https://mail.python.org/mailman/listinfo/soap>`__.
Please do not add comment to wiki pages if you have technical questions.

For priority commercial technical support, you can contact `Mariano
Reingart <mailto:reingart@gmail.com>`__ (project creator and main
maintainer, see `AUTHORS <AUTHORS.md>`__ for more info).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pysimplesoap/pysimplesoap",
    "name": "PySimpleSOAP",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Mariano Reingart",
    "author_email": "reingart@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/5f/ec/d320a12196d104819fd1f1c47db15ebd8a5cbaf0226091b339a312efefd4/PySimpleSOAP-1.16.2.tar.gz",
    "platform": "",
    "description": "PySimpleSOAP / soap2py\n======================\n\nPython simple and lightweight SOAP library for client and server\nwebservices interfaces, aimed to be as small and easy as possible,\nsupporting most common functionality. Initially it was inspired by `PHP\nSoap Extension <http://php.net/manual/en/book.soap.php>`__ (mimicking\nits functionality, simplicity and ease of use), with many advanced\nfeatures added.\n\n**Supports Python 3** (same codebase, no need to run 2to3)\n\nGoals\n-----\n\n-  Simple: originally less than 200LOC client/server concrete\n   implementation for easy maintainability and enhancements.\n-  Flexible: adapted to several SOAP dialects/servers (Java Axis, .Net,\n   WCF, JBoss, \"jetty\"), with the possibility of fine-tuning XML request\n   and responses\n-  Pythonic: no artifacts, no class generation, no special types, RPC\n   calls parameters and return values are simple python structures\n   (dicts, list, etc.)\n-  Dynamic: no definition (WSDL) required, dynamic generation and\n   parsing supported (cached in a pickle file for performance,\n   supporting fixing broken WSDL)\n-  Easy: simple xml manipulation, including basic serialization and raw\n   object-like access to SOAP messages\n-  Extensible: supports several HTTP wrappers (httplib2, pycurl,\n   urllib2) for special transport needs over SSL and proxy (ISA)\n-  WSGI compliant: server dispatcher can be integrated to other python\n   frameworks (web2py, django, etc.)\n-  Backwards compatible: stable API, no breaking changes between\n   releases\n-  Lightweight: low memory footprint and fast processing (an order of\n   magnitude in some situations, relative to other implementations)\n\nHistory\n-------\n\nClient initially developed for AFIP (Argentina's IRS) web services:\nelectronic invoice, tax bonus, insurance, foreign trade, agriculture,\ncustoms, etc. (http://code.google.com/p/pyafipws/wiki/ProjectSummary)\n\nNow it has been extended to support other webservices like Currency\nExchange Control and TrazaMed (National Traceability of Medical Drugs\nProgram)\n\nAlso, includes Server side support (a generic dispatcher, in order to be\nexposed from web2py service framework, adaptable to other webservers,\nincluding examples for standalone WSGI and django)\n\nSource Code originally available on\n`GoogleCode <https://code.google.com/p/pysimplesoap>`__\n\nChangelog\n---------\n\nRecent changes (2014/2015):\n\n-  Plug-in system to support for WSSE (Web-Services Security extensions)\n-  WSSE UsernameToken, UsernameDigestToken and BinaryTokenSignature\n   support\n-  Pythonic XML Security Library basic implementation (canonicalization,\n   SHA1 hashing and RSA signing / verification using X509 digital\n   certificates)\n-  Improved SOAP Fault details\n-  Several fixes (basic python3 support, CDATA, )\n-  [Breaking] Fixed bugs that occur when dealing with WSDL's that\n   contain nested complex types. Such WSDL's are commonly generated by\n   .NET WCF services that have been developed using \"contract first\"\n   style where developers define classes with a full inheritance\n   hierarchy that are implicitly converted to WCF soap services. See\n   Issue #42 (https://github.com/pysimplesoap/pysimplesoap/issues/42).\n\nOngoing efforts:\n\n-  Unit Tests update & clean up (removing old tests, better framework,\n   fixing non-deterministic results, etc.)\n-  WSDL advanced support (unifying nested elements structure dialects)\n-  Python3 support for WSSE XMLSec (M2Crypto alternatives?)\n-  Source code refactoring to improve readability and maintainability\n-  Improving interop with .NET WCF services\n\nPrevious contributed features (circa 2013, forked and merged back):\n\n-  Corrected support for multiple SOAP ports/bindings\n-  Support for both ``import`` and ``include`` stanzas in WSDL\n-  Support for a WSDL base directory to deal with relative pathnames in\n   import/include stanzas\n-  Somewhat saner tracing/logging (traces now go to log.debug(), which\n   you can handle per module)\n-  Somewhat more readable logic (by removing a bunch of helpers to a\n   separate file)\n\nTesting\n-------\n\nUsing Python 2.7+:\n\n::\n\n    python -m unittest discover\n\nUsing older Python versions:\n\n::\n\n    python -m unittest tests/suite.py\n\nCode coverage:\n\n::\n\n    sudo pip install coverage\n    coverage run tests/suite.py\n    coverage report -m\n    coverage html\n\nSupport\n-------\n\nFor community support, please fell free to fill an\n`issue <https://github.com/pysimplesoap/pysimplesoap/issues/new>`__ or\nsend an email to\n`soap@python.org <https://mail.python.org/mailman/listinfo/soap>`__.\nPlease do not add comment to wiki pages if you have technical questions.\n\nFor priority commercial technical support, you can contact `Mariano\nReingart <mailto:reingart@gmail.com>`__ (project creator and main\nmaintainer, see `AUTHORS <AUTHORS.md>`__ for more info).\n",
    "bugtrack_url": null,
    "license": "LGPL 3.0",
    "summary": "Python simple and lightweight SOAP Library (master branch)",
    "version": "1.16.2",
    "project_urls": {
        "Homepage": "https://github.com/pysimplesoap/pysimplesoap"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5fecd320a12196d104819fd1f1c47db15ebd8a5cbaf0226091b339a312efefd4",
                "md5": "fb94af7a7b2aeca176963b3e33ee9acc",
                "sha256": "b1bbf4d0d0adff9b652197d61aa1b76731ad618849e27d28fe5cb250916d67e1"
            },
            "downloads": -1,
            "filename": "PySimpleSOAP-1.16.2.tar.gz",
            "has_sig": false,
            "md5_digest": "fb94af7a7b2aeca176963b3e33ee9acc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 44273,
            "upload_time": "2017-12-03T17:09:17",
            "upload_time_iso_8601": "2017-12-03T17:09:17.179204Z",
            "url": "https://files.pythonhosted.org/packages/5f/ec/d320a12196d104819fd1f1c47db15ebd8a5cbaf0226091b339a312efefd4/PySimpleSOAP-1.16.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2017-12-03 17:09:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pysimplesoap",
    "github_project": "pysimplesoap",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pysimplesoap"
}
        
Elapsed time: 0.31931s