> For the complete documentation index, see [llms.txt](https://docs.projectbit.ca/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.projectbit.ca/documentation/tools/pyton.md).

# Pyton

**PythonTools** enable an Agent to write and run python code.

### [​](https://docs.phidata.com/tools/python#example)Example <a href="#example" id="example"></a>

The following agent will write a python script that creates the fibonacci series, save it to a file, run it and return the result.

cookbook/tools/python\_tools.py

```python
from bitca.agent import Agent
from bitca.tools.python import PythonTools

agent = Agent(tools=[PythonTools()], show_tool_calls=True)
agent.print_response("Write a python script for fibonacci series and display the result till the 10th number")
```

### [​](https://docs.phidata.com/tools/python#toolkit-params)Toolkit Params <a href="#toolkit-params" id="toolkit-params"></a>

| Parameter      | Type   | Default | Description                                                                                             |
| -------------- | ------ | ------- | ------------------------------------------------------------------------------------------------------- |
| `base_dir`     | `Path` | `None`  | Specifies the base directory for operations. Default is None, indicating the current working directory. |
| `save_and_run` | `bool` | `True`  | If True, saves and runs the code. Useful for execution of scripts after saving.                         |
| `pip_install`  | `bool` | `False` | Enables pip installation of required packages before running the code.                                  |
| `run_code`     | `bool` | `False` | Determines whether the code should be executed.                                                         |
| `list_files`   | `bool` | `False` | If True, lists all files in the specified base directory.                                               |
| `run_files`    | `bool` | `False` | If True, runs the Python files found in the specified directory.                                        |
| `read_files`   | `bool` | `False` | If True, reads the contents of the files in the specified directory.                                    |
| `safe_globals` | `dict` | -       | Specifies a dictionary of global variables that are considered safe to use during the execution.        |
| `safe_locals`  | `dict` | -       | Specifies a dictionary of local variables that are considered safe to use during the execution.         |

### [​](https://docs.phidata.com/tools/python#toolkit-functions)Toolkit Functions <a href="#toolkit-functions" id="toolkit-functions"></a>

| Function                          | Description                                                                                                                                                                                                                                                            |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `save_to_file_and_run`            | This function saves Python code to a file called `file_name` and then runs it. If successful, returns the value of `variable_to_return` if provided otherwise returns a success message. If failed, returns an error message. Make sure the file\_name ends with `.py` |
| `run_python_file_return_variable` | This function runs code in a Python file. If successful, returns the value of `variable_to_return` if provided otherwise returns a success message. If failed, returns an error message.                                                                               |
| `read_file`                       | Reads the contents of the file `file_name` and returns the contents if successful.                                                                                                                                                                                     |
| `list_files`                      | Returns a list of files in the base directory                                                                                                                                                                                                                          |
| `run_python_code`                 | This function runs Python code in the current environment. If successful, returns the value of `variable_to_return` if provided otherwise returns a success message. If failed, returns an error message.                                                              |
| `pip_install_package`             | This function installs a package using pip in the current environment. If successful, returns a success message. If failed, returns an error message.                                                                                                                  |
