<jupyter_start><jupyter_text>continuous-buildHi friend! You've found the continuous build example notebook, provided in [this Github repository](https://www.github.com/binder-examples/continuous-build) and the container it builds. For complete documentation, we will direct you to the [repo2docker](https://repo2docker.readthedocs.io/en/latest/deploy.html) pages, on ReadTheDocs. This NotebookThis notebook is a very simple dummy example to show how the `requirements.txt` served in the repository root is used to install dependencies to the container, allowing you to see some fabulous pokemon ascii in the sections below. This is all made possible by [repo2docker](https://www.github.com/jupyter/repo2docker), and you are encouraged to provide your notebooks with this software to ensure reproducible use, and mitigate the hassle of installing dependencies.If you want to get help, or request an example, please let us know on the continuous-build [issues board](https://www.github.com/binder-examples/continuous-build/issues) or the [repo2docker](https://www.github.com/jupyter/repo2docker/issues) issues board, depending on your issue.<jupyter_code># Here is a dependency in our requirements.txt, pokemon!
import pokemon
# What is your Pokemon avatar?
from pokemon.skills import get_avatar
avatar = get_avatar('dinosaur')<jupyter_output>@@@@@@@@@@@@.?%..%%.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@%*.........****.*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@?.+S%?%.+++++.....++?.*..+@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@.......%...**+.++..%+.+##.#@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@,.%......%...S....?+%SSSS+S.@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@SS*..+***..........*+?+S+?.S@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@:+*..,,,:::*S+......*.++++.*@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@%S@,,,:::#.:%........+++++@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@S,,,::::.?..*........++++,@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@,,::::,,::::**....+%*.+++,@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@.S,@+,:::::::*:*.....%++S@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@.:::::.*...*..S++@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@,:::,@.%+++++S+@@@@@@@@@@@@@@@@@@.*..?@@@@
@@@@@@@@@@@@@@@@@@,:::,@@@@@@@@@@@@@@@@@@@@@@@@@@@+....++@@@
@@@@@@@@@@@@@@@S..,::::S%*@@@@@@@@@@@@@@@@@@@@+...++++++++++
@@@@@@@@:.,,,,:+::::::::*%+:*,,#@@@@@@@@@@@@@+....+.#S.S+...
@@@@@@@,,,:.,,:,::::::,:[...]<jupyter_text>How does this function work? 1. Name ConversionFirst we convert the trainer name into a number<jupyter_code>from pokemon.skills import get_trainer

# The name of the trainer (me) is dinosaur
name = 'dinosaur'

# Here is the number for the trainer
trainer = get_trainer(name)
print('%s is trainer number %s' %(name, trainer))<jupyter_output>dinosaur is trainer number 89518204<jupyter_text>2. Catch em' AllWe then catch a complete list of Pokemon, and derive a unique index into it using the trainer identification number.<jupyter_code>from pokemon.skills import catch_em_all

# Then we get a complete 
pokemons = catch_em_all()

# The IDs are numbers between 1 and the max
number_pokemons = len(pokemons)

pid = str(trainer % number_pokemons)
print('The pid of trainer %s is %s' %(name, pid))<jupyter_output>The pid of trainer dinosaur is 286<jupyter_text>3. Catch Away!We then retrieve the pokemon, including the ascii and complete metadata about the pokemon.<jupyter_code>from pokemon.skills import get_pokemon
import json # for pretty printing

# Here is the complete pokemon
pokemon = get_pokemon(pid=pid,pokemons=pokemons)

# And this is the avatar printed to the screen, with the addition of the name
avatar = pokemon[pid]["ascii"]

# Let's remove the avatar string (it's long and ugly) and print the remaining data, followed by the avatar!
del pokemon[pid]['ascii']
print(json.dumps(pokemon, indent=4, sort_keys=True))<jupyter_output>{
    "286": {
        "abilities": [
            "effect spore",
            "poison heal",
            "technician"
        ],
        "height": 1.19,
        "id": 286,
        "japanese": "Kinogassa",
        "link": "http://pokemondb.net/pokedex/breloom",
        "name": "Breloom",
        "type": [
            "grass",
            "fighting"
        ],
        "weight": 86.4
    }
}<jupyter_text>And here is our Pokemon, who we now know to be "Breloom," the grass fighter! :D<jupyter_code>print(avatar)<jupyter_output>@@@@@@@@@@@@.?%..%%.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@%*.........****.*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@?.+S%?%.+++++.....++?.*..+@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@.......%...**+.++..%+.+##.#@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@,.%......%...S....?+%SSSS+S.@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@SS*..+***..........*+?+S+?.S@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@:+*..,,,:::*S+......*.++++.*@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@%S@,,,:::#.:%........+++++@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@S,,,::::.?..*........++++,@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@,,::::,,::::**....+%*.+++,@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@.S,@+,:::::::*:*.....%++S@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@.:::::.*...*..S++@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@,:::,@.%+++++S+@@@@@@@@@@@@@@@@@@.*..?@@@@
@@@@@@@@@@@@@@@@@@,:::,@@@@@@@@@@@@@@@@@@@@@@@@@@@+....++@@@
@@@@@@@@@@@@@@@S..,::::S%*@@@@@@@@@@@@@@@@@@@@+...++++++++++
@@@@@@@@:.,,,,:+::::::::*%+:*,,#@@@@@@@@@@@@@+....+.#S.S+...
@@@@@@@,,,:.,,:,::::::,:[...]
{'fraction_non_alphanumeric': 0.41871366960435025, 'fraction_numerical': 0.0063753984624039, 'mean_word_length': 4.760259179265659, 'pattern_counts': {'":': 9, '<': 16, '<?xml version=': 0, '>': 16, 'https://': 5, 'lorem ipsum': 0, 'www.': 4, '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': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '221324', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 2157, 'n_tokens_neox': 2044, 'n_words': 388, 'path': 'example.ipynb', 'repo_name': 'NGenetzky/continuous-build', 'size': '5333'}