#   Copyright 2019 EveryUP Srl
#
#   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  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.

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

# Distribution / packaging
.Python
env/
.idea
db.sqlite3
.vscode
wheelhouse/

.installed.cfg


# 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


# Django stuff:
*.log

#uwsgi
*.pid

# Sphinx documentation
docs/_build/

# PyBuilder
target/

#MacOS files
.DS_Store

#Bower
static/bower_components

#npm
static/node_modules

#migrations
projecthandler/migrations/
descriptorhandler/migrations/
instancehandler/migrations
sdnctrlhandler/migrations
authosm/migrations
userhandler/migrations
packagehandler/migrations
netslicehandler/migrations
vimhandler/migrations
wimhandler/migrations

#Deb package
deb_dist/
dists/
debian/osm-lightui.install
pool/

