# PyCharm
.idea
exportToHTML

# Emacs
*~
.#*

# Any vi swap files
*.swp

# Editors
*.bak
*.project
*.pydevproject

# Protobuf output files
voltha/**/*.desc
**/*_pb2.py
**/*_pb2_grpc.py

### Python template
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xmlcd
*.cover

# Virtualenv
venv
venv-darwin
venv-linux

# junit-coverage file
**/junit-coverage.xml