SDKs overview
Church Calendar offers Software Development Kits (SDKs) and client libraries to facilitate programmatic interaction with its platform. These tools abstract the underlying RESTful API, allowing developers to integrate calendar management, event scheduling, and resource booking capabilities into custom applications with language-specific constructs. The SDKs are designed to simplify tasks such as creating events, managing user permissions, and retrieving calendar data, adhering to common API design principles documented in the Church Calendar API reference.
The primary goal of providing SDKs is to reduce the development overhead associated with direct HTTP requests and JSON parsing, enabling developers to focus on application logic. SDKs typically handle authentication, request formatting, and response parsing, offering a more streamlined development experience. For example, common authentication methods like OAuth 2.0 are often integrated directly into SDKs, simplifying token management as described in the OAuth 2.0 specification.
Official SDKs by language
Church Calendar provides official SDKs for several popular programming languages, ensuring broad compatibility for developers building integrations. These SDKs are maintained by the Church Calendar team and are the recommended approach for interacting with the API due to their stability and comprehensive feature support. Each SDK is designed to reflect the API's capabilities in an idiomatic way for its respective language.
| Language | Package Name | Installation Command | Maturity | Documentation |
|---|---|---|---|---|
| Python | churchcalendar-sdk-python |
pip install churchcalendar-sdk-python |
Stable | Python SDK documentation |
| JavaScript (Node.js/Browser) | @churchcalendar/js-sdk |
npm install @churchcalendar/js-sdk |
Stable | JavaScript SDK guide |
| PHP | churchcalendar/php-sdk |
composer require churchcalendar/php-sdk |
Stable | PHP SDK reference |
| Ruby | churchcalendar-ruby |
gem install churchcalendar-ruby |
Beta | Ruby SDK developer guide |
Installation
Installing Church Calendar SDKs typically involves using the standard package manager for your chosen programming language. This section provides general installation instructions for the officially supported SDKs.
Python
The Python SDK can be installed using pip, the Python package installer. Ensure you have a compatible Python version (3.7+) installed.
pip install churchcalendar-sdk-python
For more detailed Python installation steps, refer to the Church Calendar Python SDK installation guide.
JavaScript (Node.js/Browser)
The JavaScript SDK is available via npm and can be used in Node.js environments or bundled for browser-side applications. It requires Node.js version 12 or higher.
npm install @churchcalendar/js-sdk
For usage with specific JavaScript frameworks or browser environments, consult the JavaScript SDK setup instructions.
PHP
The PHP SDK is distributed through Composer, the dependency manager for PHP. Ensure Composer is installed and accessible in your project.
composer require churchcalendar/php-sdk
Further details on PHP environment requirements and Composer usage can be found in the PHP SDK getting started guide.
Ruby
The Ruby SDK is available as a RubyGem. You can install it using the gem command-line utility.
gem install churchcalendar-ruby
For information on integrating the Ruby SDK into Rails applications or other Ruby projects, see the Ruby SDK integration documentation.
Quickstart example
This quickstart example demonstrates how to fetch upcoming events using the Church Calendar Python SDK. This example assumes you have an API key and have successfully installed the Python SDK as described in the Python SDK installation guide.
import os
from datetime import datetime, timedelta
from churchcalendar_sdk import ChurchCalendarClient
# Initialize the client with your API key
# It's recommended to store your API key in an environment variable
api_key = os.environ.get("CHURCH_CALENDAR_API_KEY")
if not api_key:
raise ValueError("CHURCH_CALENDAR_API_KEY environment variable not set")
client = ChurchCalendarClient(api_key=api_key)
def get_upcoming_events(days_ahead=7):
"""Fetches events scheduled within the next 'days_ahead' from today."""
today = datetime.now()
end_date = today + timedelta(days=days_ahead)
try:
# Fetch events from the API
# Parameters might include start_date, end_date, calendar_id, etc.
events = client.events.list(
start_date=today.isoformat(),
end_date=end_date.isoformat(),
# Optionally specify a calendar_id, e.g., calendar_id="main-church"
)
print(f"Upcoming events for the next {days_ahead} days:")
if events:
for event in events:
print(f" - {event.get('title')} on {event.get('start_time')}")
else:
print(" No events found.")
except Exception as e:
print(f"An error occurred: {e}")
if __name__ == "__main__":
get_upcoming_events(days_ahead=14)
This snippet demonstrates basic client initialization, making a request to list events, and iterating through the results. For more complex operations, such as creating events, managing attendees, or interacting with facility bookings, refer to the comprehensive Church Calendar Python SDK documentation.
Community libraries
Beyond the official SDKs, the Church Calendar developer community may contribute client libraries and tools that extend functionality or provide integrations for less common languages or frameworks. These community-driven projects are typically hosted on platforms like GitHub and are developed independently of Church Calendar. While they can offer valuable alternatives or specialized utilities, their maintenance and support levels can vary.
Developers interested in community libraries should evaluate them based on factors such as:
- Active maintenance: Check the project's commit history and issue tracker.
- Documentation quality: Ensure there are clear instructions and examples.
- Community support: Look for active discussions or forums.
- Licensing: Understand the terms under which the library is distributed.
As of May 2026, prominent community libraries include:
- ChurchCalendar.NET: A C# client library for .NET applications, providing strongly-typed access to the Church Calendar API. It aims to simplify integration for developers working within the Microsoft ecosystem. This project is available on GitHub for ChurchCalendar.NET.
- Go-ChurchCalendar: A GoLang client for developers building backend services or microservices in Go. It focuses on performance and concurrency, typical for Go applications. More information can be found on the Go-ChurchCalendar GitHub repository.
Before using any community-contributed library, it is advisable to review its source code and ensure it aligns with your project's security and stability requirements. For direct API interactions not covered by an official SDK or a trusted community library, developers can always use standard HTTP client libraries available in their language of choice to interact with the Church Calendar REST API directly, following the guidance on HTTP status codes and response formats.