Skip to content

API Reference

Complete Python API documentation for PyBGPFlux.

Core Classes

BGPStream

The main class for creating and iterating through BGP streams.

from pybgpflux import BGPStreamConfig, BGPStream
import datetime

config = BGPStreamConfig(
    start_time=datetime.datetime(2010, 9, 1, 0, 0),
    end_time=datetime.datetime(2010, 9, 1, 2, 0),
    collectors=["route-views.wide"],
)

stream = BGPStream.from_config(config)
for elem in stream:
    print(elem)

Configuration Classes

  • BGPStreamConfig: Main configuration for historical BGP streams
  • LiveStreamConfig: Configuration for live RIS Live streams
  • FilterOptions: Filtering options for BGP elements
from pybgpflux import BGPStreamConfig, FilterOptions

config = BGPStreamConfig(
    start_time=...,
    end_time=...,
    collectors=["route-views.wide"],
    filters=FilterOptions(peer_asn=2497),
)

BGPElement

The data structure representing individual BGP messages.

# Access element data
elem.type        # "R", "A", or "W"
elem.time        # Unix timestamp
elem.collector   # Collector name
elem.peer_asn    # BGP peer AS number
elem.peer_address # BGP peer IP
elem.fields      # Dictionary with prefix, as-path, etc.

Module Structure

pybgpflux/
├── __init__.py              # Main exports
├── bgpstream.py             # BGPStream class
├── bgpstreamconfig.py       # Configuration classes
├── bgpelement.py            # BGPElement NamedTuple
├── broker                   # Broker implementations
├── parser                   # Parser implementations
├── rislive.py               # RIS Live streaming
├── utils.py                 # Utility functions
└── cli.py                   # CLI interface