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

Uploaded Source

Built Distribution

churchtools-0.3.3-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: churchtools-0.3.3.tar.gz
  • Upload date:
  • Size: 27.7 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.3.tar.gz
Algorithm Hash digest
SHA256 85390de8e3f8989ffaa0b79eb53042a7cac835081efa28fdbaff314ab39fd9cb
MD5 c911140fbe3f535eff1837df8bbaa461
BLAKE2b-256 700718a90178b4bd814978de3a361451fbf1cf2d354dd783d7c72d085652b4fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: churchtools-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 36.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 278776fa099f392376d356ae4d099c1b02050bef5e4442f15843e47ee33fec1f
MD5 980217608c8c2dd8ab29304df57a0c06
BLAKE2b-256 9ad681db11ba0536587c4f45a7e084efcafcdb33e26c600185374b2d31a99117

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