New SyNET code base
Clone or download


  1. Install Z3 from master, see

  2. Install network graph library dependency first

pip install -e
# Or from a local clone
pip install -e .
  1. Install python dependencies
pip install -r requirements.txt

An Example use of NetComplete

The example at synet/examples/ shows how to use NetComplete to synthesize Provider/Customer peering policies.


python synet/examples/ outdir

Running NSDI Experiements

Running BGP experiements


Running OSPF

python synet/drivers/ --help


python synet/drivers/  -p [NUMBER OF PATHs generated per iteration] -r [NUMBER OF REQS] -f [TOPO FILE NAME.graphml]
python synet/drivers/ -r 20 -p 100 -f topos/topozoo/AttMpls.graphml

Running Tests

Commonly used nosetests options:

  • Timing each test case: --with-timer
  • Running specific tests with tags -a tag=value
  • Running specific test case nosetests FILE_PATH:TESTCLASS or nosetests FILE_PATH:TESTCLASS.TESTCASE

Running fast tests: nosetests --with-timer -a speed=fast test/

Running slow tests: nosetests --with-timer -a speed=slow test/

Running all tests (fast and slow) nosetests --with-timer test