bottle.auth_basicをデコレータとして使うとBASIC認証をかけられる。
v0.12以上が必要。
hello.py
# -*- coding: utf-8 -*-
import bottle
# BASIC認証のユーザ名とパスワード
USERNAME = "user"
PASSWORD = "pass"
def check(username, password):
    u"""
    BASIC認証のユーザ名とパスワードをチェック
    @bottle.auth_basic(check)で適用
    """
    return username == USERNAME and password == PASSWORD
@bottle.route("/hello")
@bottle.auth_basic(check)
def hello():
    return "hello"
    
if __name__ == '__main__':
    bottle.run(host='localhost', port=8080, debug=True)
実行
$ python hello.py