===================================================
ZimSOAP allows to access the [SOAP Zimbra API] through a programmatic,
data-type-aware interface high-level. It also handle authentification,
sessions, pre-authentication and delegated authentication.
Not all methods are covered, but you're welcome to wrap the ones you need and
pull-request !
If you are looking at a lower-level lib, you better look to [python-zimbra]
Allows accessing zimbraAdmin and zimbraAccount SOAP APIs
- handle authentification
- handle pre-authentification admin->admin and admin->Account
- presents the request results as nice Python objects
- all requests are tested with 8.0.4 and 8.0.5
[SOAP Zimbra API]:
http://files.zimbra.com/docs/soap_api/8.0.4/soap-docs-804/api-reference/index.html
[python-zimbra]:https://github.com/Zimbra-Community/python-zimbra/
Installing
----------
**Till [this PR](https://github.com/Zimbra-Community/python-zimbra/pull/16) is
worked out and released, requires a patched version of python-zimbra**.
Install it with :
pip install git+https://github.com/oasiswork/python-zimbra.git@utf-encoding-requests
Simple:
pip install zimsoap
Or if you fetch it from git:
./setup.py install
API
---
API is accessible through the ZimbraAdminClient() method. Example :
zc = ZimbraAdminClient('myserver.example.tld')
zc.login('username@domain.tld', 'mypassword')
print("Domains on that zimbra instance :")
for domain in zc.get_all_domains():
# Each domain is a zobject.Domain instance
print(' - %s' % domain.name)
You can also access raw SOAP methods:
zc = ZimbraAdminClient()
zc.login('username@domain.tld', 'mypassword')
xml_response = self.zc.GetAllDomainsRequest()
If you want up-to-date code example, look at unit tests...
Testing
-------
### Setting your environment for tests ###
#### Dependencies ####
The first time you want to run tests, you have to grab submodules:
$ git submodule update --init
The SOAP API tests are ran against a reference machine, so you have to grab,
provision and run it, thanks to vagrant, it's pretty straightforward (but a bit
of download time the first time) :
$ sudo apt-get install vagrant
$ cd zimsoap/tests/machines/
$ vagrant up 8.0.5
$ vagrant provision 8.0.5
You have several zimbra versions available as VMs for testing (see vagrant
status).
*Warning*: the test VM requires 2GB RAM to function properly.
### Testing ###
Make sure your vagrant vm is running `vagrant status`.
Code is covered by unit tests, you can run them (only Python needed):
$ python -m unittest discover
To run only some tests, for example :
$ python -m unittest test.test_zobjects
$ python -m unittest test.test_zobjects.ZObjectTests
$ python -m unittest test.test_zobjects.ZObjectTests.testDomainSelector
Metadata
Release files for zimsoap 0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zimsoap-0.3.tar.gz | 13.8 kB | Without provenance | Details for zimsoap-0.3.tar.gz |
Release files / zimsoap-0.3.tar.gz
| Download URL | zimsoap-0.3.tar.gz |
|---|---|
| Size | 13.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0473836ce43434f3f293566a2e6502be9f66711a12e0655361442b53b37e0194
|
|
BLAKE2b-256 checksum How to use checksums |
5c156c897a9980c1ca9c336d7efb59d33c4f0bb3bc3a9fc64a1cce5fe8f2314e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for zimsoap 0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.