Welcome to Cally

Cally is a package intended to be the foundation for your Internal Developer Platform.

It aims to be a robust, flexible, and opinionated starting point for your team to get started building your own internal tooling. Without the need to learn all the nuances of building a structured configuration based command line tool, and with a focus on making the CDK for Terraform operate in a more pythonic manner.

Cally in three points:

  • flexible, layered, and opinonated configuration

  • extendible by design, with a strong focus on convention over configuration

  • built-in testing framework, to promote rapid iteration

Cally is not intended to be run directly, but rather included as a dependency in your internal projects tooling. Cally takes advantage of Python’s namespaces to dynamically load in commands/resources/stacks/defaults from your project at runtime.

pyproject.toml
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[project]
name = "minimal-idp"
version = "0.1.0"
dependencies = ["cally"]
requires-python = ">=3.8"
authors = [
  {name = "Example Org"},
]
description = "Example Cally Extension"

[tool.setuptools.packages.find]
include=["cally.*"]

This is an example of minimal structure (reference from our minimal example.)

├── cally
│   └── idp
│       ├── commands
│          └── example.py
│       ├── defaults.py
│       └── stacks
│           └── example.py
├── cally.yaml
├── pyproject.toml
├── README.md
└── tests
    ├── __init__.py
    ├── testdata
       └── example.json
    └── test_minimal.py

Documentation

This part of the documentation guides you through all of the library’s usage patterns.

API Reference

This contains the information on a specific function, class, or method.

Miscellaneous Pages