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
  • 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.2

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.2
File Size Uploaded
gweasysoap-0.1.2.tar.gz 11.6 kB Details

Built distribution (wheel)

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

Total release size: 20.1 kB

Release files / gweasysoap-0.1.2.tar.gz

Download URL gweasysoap-0.1.2.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
823d9034ca8bb3f568d4c2bab2729ec02de33663806f402078c551ce31219330
BLAKE2b-256 checksum
How to use checksums
c908a29fae81d530dda7336a3b6dd761cc490f55a1a8d6f33b2e540136d4f17a
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.2-py3-none-any.whl

Download URL gweasysoap-0.1.2-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8a3f4d40cff31dea3e8ed69dbdcb59729af0e3a1935a0462dc0d92e1cd59bcf
BLAKE2b-256 checksum
How to use checksums
04636616487164af8922076b343810aace7118b4208ad7d46d51f00014c469c7
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

0.1.3

2 release files

This release

0.1.2 This release

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