Skip to main content

A library for the ChurchTools API

Project description

pychurchtools

This is a python wrapper for the ChurchTools API. The API from ChurchTools is provided using the Swagger toolset.

Note: This library is WIP. Some endpoints are not implemented at all and the others are only partly implemented.

Installation

To install from PyPI, you can use "pip install churchtools". Type "pip uninstall churchtools" to remove the library.

Dependencies:

  • pydantic
  • requests

Usage

Authentication

Via a cookie

Login to churchtools in your browser and copy the cookie. The cookie object looks something like this:

cookie = {
  'ChurchTools_ct_<church_name>': 'some_random_text',
}

Pass this object to the init function of the ChurchTools class or set the field cookie in the ChurchTools object.

Via REST API

The ChurchTools class provides a method login to log you in and set the cookie automatically.

ct.login('your_email', 'your_password')

Example

You can execute the following in a python script to test the functionality.

from churchtools import ChurchTools

c = ChurchTools('https://<church_name>.church.tools')
c.login('your_email', 'your_password')

events = c.events.list()
print('Upcoming event:', events[0].__repr__())
print(events[0].dict())
print()

me = c.general.whoami()
print('Logged in as:', me.__repr__())
print()

my_events = c.person.events(me.id)
print('Your next events:')
[print(f'- {e.__repr__()}') for e in my_events]

Notes

  • Set the debugging field from 0 - 2 for none to many debug messages.
  • Times are in UTC

Tests

  • Create a CT instance here: https://ccp.church.tools/demo
  • Set the environment variables CHURCHTOOLS_URL, CHURCHTOOLS_USER & CHURCHTOOLS_PASSWORD
  • Run pytest

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

churchtools-0.3.1.tar.gz (27.1 kB view details)

Uploaded Source

Built Distribution

churchtools-0.3.1-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

Details for the file churchtools-0.3.1.tar.gz.

File metadata

  • Download URL: churchtools-0.3.1.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for churchtools-0.3.1.tar.gz
Algorithm Hash digest
SHA256 08d79255d7a1f72f82f2283a79b65ada6019aa0173aef2cc279692fa0d38abba
MD5 0d15e6acdfbce8c114034f343ff06e65
BLAKE2b-256 db9f3aebb50ffd63b099e4140bdbd0be334ec78e01f7a57ebdcc3f5b87d4434a

See more details on using hashes here.

File details

Details for the file churchtools-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: churchtools-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 35.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for churchtools-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3dc131cdf636dc984f3ca4bfdc6de42e1ad8c0b47386074f84c429e1950c2cf4
MD5 2a0cdb3e11117f916b3f498f750eb457
BLAKE2b-256 8124f497fbba22728f5762bb6faf189554d61bb7452876e17b2b89a964dd29e0

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