/pybatfish

Python client for Batfish

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

Got questions, feedback, or feature requests? Join our community on Slack!

pybatfish

pybatfish is a Python client for Batfish. Analytics It allows you to interactively explore or validate your network and embed validation in your automation pipeline.

Note: pybatfish APIs are undergoing revision, and some API names and parameters may change.

Getting started

There are two options for running pybatfish.

1. Allinone docker container

This container bundles Batfish and pybatfish. Use this option if you want to just play with example networks and Jupyter notebooks.

Instructions for running this container are here.

2. Python client

Use this option when you want to analyze your own networks and have access to a running Batfish service (via the Batfish docker container or directly from sources).

To install pybatfish, run pip install . from the top-level directory of the repository. (We recommend Python 3 as the Python runtime. While Python 2.7 is supported, it is nearing end of life.)

Once pybatfish is installed, you can run the example Jupyter notebooks:

pip install jupyter
cd jupyter_notebooks
jupyter notebooks

You can begin analyzing your own networks by modifying the examples and pointing them at your data.

Complete documentation of pybatfish APIs is here.