# Building the App Locally

### Running in Python

The app requires python 3.6 or higher.  Check what [version python you have](https://note.nkmk.me/en/python-sys-platform-version-info/) on your machine using your command prompt tool.&#x20;

FYI, Macs come with python 2.7 installed.  If you run `python --version` you may get 2.7 even if you have newer versions installed. [Here's how to manage python on your Mac](https://docs.python-guide.org/starting/install3/osx/).

#### Create your python environment

Let's fast track you. In order to avoid installing every package used by the app, you can use `pipenv`.&#x20;

First, [install](https://pipenv.pypa.io/en/latest/#install-pipenv-today) pipenv.

[Here](https://pipenv-fork.readthedocs.io/en/latest/basics.html#example-pipenv-workflow)'s a guide to walking through that process.&#x20;

### Running in Docker

We have also "containerized" the app, which means the app can run with a tool called Docker without you needing to install anything (other than docker) on your machine.&#x20;

The benefit of using Docker is keeping your python environment clean.  Python is a [tricky tool to manage](https://snarky.ca/why-you-should-use-python-m-pip/) on your local machine and most python-based applications require python packages.  Docker installs these packages in the container and then builds and runs the container on your machine.&#x20;

[Here's a basic installation guide for docker.](https://docs.docker.com/install/)&#x20;

For guidance on running the app on your own machine please see [Getting Started: Run Locally](https://codeforphilly.github.io/chime/getting-started/run-locally.html).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://code-for-philly.gitbook.io/chime/open-source/making-your-own-chime-app/building-the-app-locally.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
