Skip to main content

gweasysoap

A small, pythonic helper library on top of the auto-generated gwsoap GroupWise SOAP client. It hides the request/context boilerplate and gives you simple methods for logging in, reading folders and items, sending mail, and creating appointments.

Installation

pip install gweasysoap

This pulls in gwsoap>=1.0.3.

Quick start

from gweasysoap import GWEasySoap

# Use it as a context manager so the session is always logged out.
with GWEasySoap.connect_trusted_app(
    "https://gw.example.com:7191/soap", "jdoe", "MyApp", "trusted-key"
) as gw:
    print("Logged in as", gw.user_name, gw.user_email)

    mailbox = gw.get_mailbox()
    for item in gw.get_folder_items(mailbox.id, count=20):
        print(item.subject)

    gw.send_mail(
        subject="Hello",
        body_text="Sent from gweasysoap",
        recipients=[{"display_name": "Jane", "email": "jane@example.com"}],
    )

Logging in

# Username / password
gw = GWEasySoap.connect(endpoint, "jdoe", "secret")

# Trusted application key (impersonate a specific user)
gw = GWEasySoap.connect_trusted_app(endpoint, "jdoe", "MyApp", "trusted-key")

# Trusted application key, first usable mailbox on the post office
gw = GWEasySoap.connect_any_user(endpoint, "MyApp", "trusted-key")

Each connect* factory raises GWEasySoapError on failure. The matching instance methods (login, login_trusted_app, login_with_any_user) return a boolean instead, if you prefer to manage the instance yourself.

Constructor options: application (the name reported to GroupWise), debug, and verify_ssl.

What you can do

  • Users / mailboxes – get_user_list, get_user_mailboxes
  • Proxies – get_proxy_list, create_proxy_access
  • Address book – get_system_address_book, get_address_book_entries
  • Folders – get_mailbox, get_trash_folder, get_calendar, get_system_folder, get_folder_list, get_shared_folder_by_name
  • Items – get_items, get_folder_items, get_calendar_items, get_item, get_full_item, get_body, remove_item
  • Mail – send_mail
  • Appointments – create_appointment, create_appointment_in_folder, add_category
  • Session – whoami, user_name, user_email, logout

License

MIT

Metadata

Release files for gweasysoap 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gweasysoap 0.1.3
File Size Uploaded
gweasysoap-0.1.3.tar.gz 11.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gweasysoap 0.1.3
File Interpreter ABI Platform
gweasysoap-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 20.4 kB

Release files / gweasysoap-0.1.3.tar.gz

Download URL gweasysoap-0.1.3.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
eae7d331d1f0e0ded9e9f2e8436f2bb3742317817049b45370dae6470ddcda42
BLAKE2b-256 checksum
How to use checksums
07871e11336836d425ce97658dad7e664ec381c6160712a6be85b5526f8d575d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / gweasysoap-0.1.3-py3-none-any.whl

Download URL gweasysoap-0.1.3-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
58d27f5e6f40ea66840ad360d0b5742f16d812b9cd30fa789974cd041719400a
BLAKE2b-256 checksum
How to use checksums
de2a6ac3ffe54b5b42305b71b72a70995b2fa959a90f64ec61afb40691c31c2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release history Release notifications | RSS feed

0.1.4

2 release files

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page