Skip to main content

Unofficial class abstraction layer for the `spond` library package.

Project description

Spond-classes

About

Spond is a team/group-oriented events system.

The unofficial Python spond library package gets data from the Spond API and returns dict objects.

This unofficial Python spond-classes library package parses those dict objects to create Pydantic class instances.

Partial, read-only implementation.

Install

Install from PyPI, e.g:

pip install spond-classes

Or if you're using Poetry:

poetry add spond-classes

Note that spond is required for practical use, but not a technical dependency, so needs to be installed separately.

Example code

Adapting the example code in Spond README:

import asyncio
from spond.spond import Spond
from spond_classes import Group

# fake credentials and ids
USERNAME = 'my@mail.invalid'
PASSWORD = 'Pa55worD'
GROUP_ID = 'G1'
SUBGROUP_ID = 'SG1'

async def main():
    s = Spond(username=USERNAME, password=PASSWORD)
    group_data = await s.get_group(GROUP_ID)
    await s.clientsession.close()

    # Now we can create a class instance ...
    group = Group(**group_data)

    # ... use class attributes instead of dict keys ...
    print(group.name)

    # ... access subordinate instances and their attributes ...
    for member in group.members:
        print(f"{member.full_name} is in the {group.name} group")

    # ... and use some helper methods
    subgroup = group.subgroup_by_id(SUBGROUP_ID)
    for member in group.members_by_subgroup(subgroup):
        print(f"{member.full_name} is in the {subgroup.name} subgroup")

asyncio.run(main())

Documentation

Full API documentation is published at https://elliot-100.github.io/Spond-classes/ and is also included as HTML in the package source docs folder.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spond_classes-0.13.1.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

spond_classes-0.13.1-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file spond_classes-0.13.1.tar.gz.

File metadata

  • Download URL: spond_classes-0.13.1.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.3 Linux/5.15.167.4-microsoft-standard-WSL2

File hashes

Hashes for spond_classes-0.13.1.tar.gz
Algorithm Hash digest
SHA256 8bdfb610c53b2ca41c1ab352c132319063b884b784dc8803285f04a07b6951d9
MD5 d7126495500a4491c9e7959af1a08629
BLAKE2b-256 ea3a686b0669744b7b994d2648fa7f959c4e13ab12fce3a81ef09f4753c4159f

See more details on using hashes here.

File details

Details for the file spond_classes-0.13.1-py3-none-any.whl.

File metadata

  • Download URL: spond_classes-0.13.1-py3-none-any.whl
  • Upload date:
  • Size: 22.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.3 Linux/5.15.167.4-microsoft-standard-WSL2

File hashes

Hashes for spond_classes-0.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 310debaa84634ba4d93bfd4f139d7a10fa96fc670cffd97cdb5abe1ca621f635
MD5 ec072493cb509d162050d254ba310e31
BLAKE2b-256 f2ee91ada8f1c17d179fb4384b87bcf14ec3a4e12d6d94bb442851fb88abcea3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page