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

Contributing

Linting

poetry install
pre-commit install --install-hooks
pre-commit run --all

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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

churchtools-0.5.4-py3-none-any.whl (42.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: churchtools-0.5.4.tar.gz
  • Upload date:
  • Size: 31.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for churchtools-0.5.4.tar.gz
Algorithm Hash digest
SHA256 6ee67d70b046e2c78b7683ffd30195b016913fb9fb239543a2302424347860db
MD5 935ae6449606f1b5f2943441af8c89d4
BLAKE2b-256 0b91bcf200cd127edd6422b462183fbbe8ce135d3b4ff35e502f2ae289822957

See more details on using hashes here.

File details

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

File metadata

  • Download URL: churchtools-0.5.4-py3-none-any.whl
  • Upload date:
  • Size: 42.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for churchtools-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b5379d14b4d7b2c030605ddf3c93e5e03c882d9528ff24d44290fbc35eb488a6
MD5 49d7b87b535dc4a311ec83e02de3a072
BLAKE2b-256 6eb7faea4ce0db0cf9d3f22171a577f8dc26744ac84b136bafc3ff10800aceac

See more details on using hashes here.

Supported by

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