Skip to content

Latest commit

 

History

History
158 lines (123 loc) · 7.83 KB

README.md

File metadata and controls

158 lines (123 loc) · 7.83 KB

Network Sketcher

Network Sketcher makes network design and configuration management faster, more accurate, and easier. Simply create your first rough sketch and it will automatically generate L1L2L3 network diagrams and management tables. Network components are integrated into one master file, so when you update the management table (device file), all related network diagrams and management tables are automatically updated as well.

  • Automatic generation of each configuration document by metadatization of network configuration information
  • Automated synchronization between documents
  • Minimize maintenance and training load by automatic generation of common formats
  • Facilitate automatic analysis, AI utilization, and inter-system collaboration by metadatization of configuration information.
  • Template support for equipment configuration image

image

DEMO

demo_video_NS2.0_free2.mp4

New Features

Limitations

  • IPv4 only. IPv6 is not supported.
  • Importing CML yaml files is only supported in L1 and L3(IP addresses of physical interfaces of ios, asa, iosxr, and csr1k).

Requirement

  • Network Sketcher supports cross-platform. Works with Windows, Mac OS, and Linux.
  • Python ver 3.x
  • Software that can edit .pptx and .xlsx files
    • Microsoft Powerpoint and Excel are best
    • Google Slides and Spreadsheets import/export functionality is available. Excel functions display will show an error, but it works fine.
    • Libre Office and Softmaker office cannot be used.

Installation

git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher
python -m pip install -r requirements.txt
python network_sketcher.py

or

#Download via browser
https://github.com/cisco-open/network-sketcher/archive/refs/heads/main.zip

#Unzip the ZIP file and execute the following in the prompt of the folder
python -m pip install -r requirements.txt
python network_sketcher.py

Installation Supplement

  • Alternative to “python -m pip install -r requirements.txt”
python -m pip install tkinterdnd2
python -m pip install tkinterdnd2-universal
python -m pip install openpyxl
python -m pip install python-pptx
python -m pip install ipaddress
python -m pip install numpy
python -m pip install pyyaml
python -m pip install ciscoconfparse
  • Mac OS requires the following additional installation.
brew install tcl-tk
  • Linux requires the following additional installation.
sudo apt-get install python3-tk

User Guide

Lang Link
English Link
日本語 Link

How to create the exe file for Windows using pyinstaller

pyinstaller.exe [file path]/network_sketcher.py --onefile --collect-data tkinterdnd2 --noconsole --additional-hooks-dir  [file path] --clean

SAMPLE

Input ppt file (rough sketch)

image

Sample-rough-sketch.pptx

Output

Device table(Excel)

image

DEVICE.Sample.figure5.xlsx

L1 figure(PPT)

image

L1_DIAGRAM.AllAreasTag_Sample.figure5.pptx

L2 figure(PPT)

image

L2_DIAGRAM.PerArea_Sample.figure5.pptx

L3 figure(PPT)

image

L3_DIAGRAM.PerArea_Sample.figure5.pptx

Master file(Excel)

MASTER.Sample.figure5.xlsx

Author

  • Yusuke Ogawa
  • CCIE# 17583
  • Security Architect @ Cisco

License

SPDX-License-Identifier: Apache-2.0

Copyright 2023 Cisco Systems, Inc. and its affiliates

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.