<jupyter_start><jupyter_text>Kale base exampleThis notebook presents a minimal example to show how Kale can convert a Notebook to a pipeline applying Notebook annotations.Variables that are constant throughout the Notebook are transformed into pipeline parameters, so that the pipeline can be re-run with different initializations. Code cells are divided into pipeline steps by mean of notebook tags. You can look at the annotations by inspecting the Notebook source, or by installing the Kale jupyter extension (see [github.com/kubeflow-kale/kale](https://github.com/kubeflow-kale/kale))<jupyter_code>import random
CANDIES = 20
def get_handful(left):
    if left == 0:
        print("There are no candies left! I want to cry :(")
        return 0
    c = random.randint(1, left)
    print("I got %s candies!" % c)
    return c
print("Let's put in a bag %s candies and have three kids get a handful of them each" % CANDIES)
# kid1 gets a handful, without looking in the bad!
kid1 = get_handful(CANDIES)
kid2 = get_handful(CANDIES - kid1)
kid3 = get_handful(CANDIES - kid1 - kid2)<jupyter_output>There are no candies left! I want to cry :(
{'fraction_non_alphanumeric': 0.07205623901581722, 'fraction_numerical': 0.01054481546572935, 'mean_word_length': 4.372641509433962, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '119161', 'license': 'Apache-2.0', 'n_tokens_mistral': 353, 'n_tokens_neox': 339, 'n_words': 148, 'path': 'examples/base/candies_sharing.ipynb', 'repo_name': 'noushi/kale', 'size': '1138'}