Book Development Kit Overview

An overview of the Book Development Kit (BDK).

What is the BDK?

The Book Development Kit (BDK) is a software toolkit for developing Books in Kognitos. A Book is a collection of operations - related, reusable automation tasks grouped together as one modular unit. Kognitos supports a wide range of automation capabilities and integrations through Books. While our Books cover many common automation use cases, there may be circumstances that require custom solutions or integrations. The BDK is useful for:

1. Custom Integrations

With the BDK, you can create operations that interact with third-party APIs, databases, and external services. If your organization uses tools or services not natively integrated with Kognitos, you can build a custom Book to integrate them directly into your automation workflows.

2. Extending Core Functionalities

Extend Kognitos’ features to support more complex scenarios beyond standard functionality. Whether you need to support advanced data manipulation or custom data validation, the BDK provides the tools to create Books that meet your unique requirements.


BDK Components

The BDK is comprised of the following software components:

Component

Description

1

BDK API

The core Python library for Book development.

2

BDK Book Template

A Python Cookiecutter template that simplifies the process of developing a new Book.

3

BDK Linter

A linting tool built as a Pylint plugin. It analyzes code throughout development to identify potential issues and ensures Books are implemented, documented, and annotated correctly.

4

BDK Poetry Plugin

A Python dependency management and packaging tool that uses Poetry. It manages dependencies, versioning, formatting, and documentation generation for a Book.

5

BDK Runtime

A runtime that connects a Book with the Kognitos platform. It is packaged as a Docker image that serves as the foundation for Book containers.


Book Development Lifecycle

The Book Development Lifecycle outlines the stages of software development for a new Book and how the BDK components interact throughout the process.

1. Planning

The planning phase is where the Book's functionality is defined. In this stage, you identify the external systems the Book will integrate with and outline the workflows or automation goals. This stage clarifies objectives and requirements, setting the foundation for development.

📝

Refer to our Planning Checklist to help you plan your project.

2. Development

The development phase is where the Book’s functionality is implemented using the BDK API and other tools:

  • The BDK Book Template provides starter code to streamline setup.
  • The BDK Linter enforces coding standards and identifies potential issues.
  • The BDK Poetry Plugin manages dependencies, versioning, and documentation.

3. Testing

The testing phase ensures that Books perform as intended. The BDK Book Template includes a testing framework for validating Book functionality.

4. Packaging & Deployment

In this stage, the Book is packaged and prepared for deployment. The code is packaged with the BDK Runtime using Docker and deployed externally.

5. Execution

Once deployed, the Book is ready to run in Kognitos, enabling you to extend your automations with custom workflows.

An overview of the Book Development Lifecycle

Resources

Example Books

Here are some examples of Books developed with the BDK: