Skip to main content

Simple, unofficial library with some example scripts to access data from the Spond API.

Project description

Spond

spond logo

Simple, unofficial library with some example scripts to access data from the Spond API.

[!WARNING] Notice breaking changes from versions =< 0.99 to versions >= 1.0

Install

pip install spond

Usage

You need a username and password from Spond

Example code

import asyncio
from spond import spond

username = 'my@mail.invalid'
password = 'Pa55worD'
group_id = 'C9DC791FFE63D7914D6952BE10D97B46'  # fake 

async def main():
    s = spond.Spond(username=username, password=password)
    group = await s.get_group(group_id)
    print(group['name'])
    await s.clientsession.close()

asyncio.run(main())

Key methods

get_groups()

Get details of all your group memberships and all members of those groups.

get_events([group_id, subgroup_id, include_scheduled, max_end, min_end, max_start, min_start, max_events])

Get details of events, limited to 100 by default. Optional parameters allow filtering by start and end datetimes, group and subgroup; more events to be returned; inclusion of 'scheduled' events.

get_person()

Get a member's details.

get_messages(max_chats=100)

Get chats, limited to 100 by default. Optional parameter allows more events to be returned.

send_message(text, user=None, group_uid=None, chat_id=None)

Send a message with content text. Either specify an existing chat_id, or both user and group_uid for a new chat.

get_event_attendance_xlsx()

Get Excel attendance report for a single event, available via the web client.

change_response()

Change a member's response for an event (e.g. accept/decline)

Example scripts

The following scripts are included as examples. Some of the scripts might require additional packages to be installed (csv, ical etc).

Rename the file config.py.sample to config.py and add your username and password to the file before running the samples.

ical.py

Generates an ics-file of upcoming events.

groups.py

Generates a json-file for each group you are a member of.

attendance.py <-f from_date> <-t to_date> [-a]

Generates a csv-file for each event between from_date and to_date with attendance status of all organizers. The optional parameter -a also includes all members that has been invited.

transactions.py

Generates a csv-file for transactions / payments appeared in Spond Club > Finance > Payments.

AsyncIO

Asyncio might seem intimidating in the beginning, but for basic stuff, it is quite easy to follow the examples above, and just remeber to prefix functions that use the API with async def ... and to await all API-calls and all calls to said functions.

This article will give a nice introduction to both why, when and how to use asyncio in projects.

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-1.1.0.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

spond-1.1.0-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file spond-1.1.0.tar.gz.

File metadata

  • Download URL: spond-1.1.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for spond-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9eeb930ac808533106cc02e3a8779c05b30efc9c4a68c8304c4b4816f0bff3c3
MD5 2c39703eebd6bf39a621823a645077fd
BLAKE2b-256 c2d5b684190fed6988e50cac595d75af1276adeaef654d0b117923a497c3267f

See more details on using hashes here.

File details

Details for the file spond-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: spond-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for spond-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65143538b833083ed195b7916fbae49971bd3d370158f9312dab4af2f71acbdc
MD5 329dc4248c60588077601535d8eb9b3f
BLAKE2b-256 7b321a3b2db4664e7f8800a6da878a7e2bf60b217335d2e71beea895156ca79e

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