![PyPI Downloads](https://static.pepy.tech/badge/bgpy-pkg) [![PyPI version](https://badge.fury.io/py/bgpy_pkg.svg)](https://badge.fury.io/py/bgpy_pkg) ![PyPy](https://img.shields.io/badge/PyPy-7.3.17-blue) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/bgpy_pkg)](https://pypi.org/project/bgpy_pkg/) ![Tests](https://github.com/jfuruness/bgpy/actions/workflows/tests.yml/badge.svg) ![Linux](https://img.shields.io/badge/os-Linux-blue.svg) ![macOS Intel](https://img.shields.io/badge/os-macOS_Intel-lightgrey.svg) ![macOS ARM](https://img.shields.io/badge/os-macOS_ARM-lightgrey.svg) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Checked with mypy](https://img.shields.io/badge/mypy-checked-2A6DBA.svg)](http://mypy-lang.org/) [![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/) [![Pylint](https://img.shields.io/badge/linting-pylint-yellowgreen)](https://github.com/pylint-dev/pylint/tree/main) [![try/except style: tryceratops](https://img.shields.io/badge/try%2Fexcept%20style-tryceratops%20%F0%9F%A6%96%E2%9C%A8-black)](https://github.com/guilatrova/tryceratops) ### If you like the repo, it would be awesome if you could add a star to it! It really helps out the visibility. Also for any questions we'd love to hear from you at jfuruness@gmail.com Welcome to BGPy! One of the worlds leading Python BGP security simulators. You're in good company; this simulator has been used by teams all around the world, including NIST. BGPy is also [peer-reviewed research](https://dl.acm.org/doi/fullHtml/10.1145/3607505.3607509) and has been featured in [several publications](https://github.com/jfuruness/bgpy/wiki/Citations-and-Use-Cases), with many more ongoing. With BGPy, you can simulate the entire internet topology on your laptop. You can program your own security policies & attacks, use the topology for custom analysis, use real-world ROV data, etc. BGPy also comes with a custom test suite that allows for easy testing of security protocols. We support [more than 20 policies](https://github.com/jfuruness/bgpy_pkg/wiki/Routing-Policies) including ROV, ASPA, and ASRA. If you're looking for an in depth tutorial as to the features, and how to use BGPy, I highly recommend the [tutorial](https://github.com/jfuruness/bgpy/wiki/Tutorial). If you're just looking to run/visualize attack/defense scenarios without programming, I recommend checking out the front-end for this tool: [BGPSimulator.com](https://www.bgpsimulator.com) If you're looking to cite BGPy or check out the use cases, you can find that [here](https://github.com/jfuruness/bgpy/wiki/Citations-and-Use-Cases). If you end up citing BGPy please let us know and we'll add you to the list :) ##### Table of Contents * [Tutorial](https://github.com/jfuruness/bgpy/wiki/Tutorial) * [Citations and Use Cases](https://github.com/jfuruness/bgpy/wiki/Citations-and-Use-Cases) * [Installation](https://github.com/jfuruness/bgpy/wiki/Installation) * [Testing](https://github.com/jfuruness/bgpy/wiki/Testing) * [Development/Contributing](https://github.com/jfuruness/bgpy/wiki/Development-Contributing) * [History](https://github.com/jfuruness/bgpy/wiki/History) * [Credits](https://github.com/jfuruness/bgpy/wiki/Credits) * [License](https://github.com/jfuruness/bgpy/blob/master/LICENSE) * [FAQ](https://github.com/jfuruness/bgpy/wiki/FAQ)