Skip to content
This repository was archived by the owner on Jun 22, 2025. It is now read-only.
This repository was archived by the owner on Jun 22, 2025. It is now read-only.

Passing a non default instance of bottle.Bottle to eel.start() does not work #572

@Sentinent

Description

@Sentinent

Eel version
0.14.0

Describe the bug
eel.start() uses bottle.route() to add eel routes, which only adds routes to the default Bottle application. Thus, if a non default instance of bottle.Bottle is passed into eel.start(), the passed in instance will not have eel routes, and will not work properly.
Current implementation

To Reproduce

import bottle
import eel

app = bottle.Bottle()
@app.route('/custom')
def some_route():
    return 'Hello World!'
eel.init('web')
eel.start('index.html', port=0, app=app)

The webserver will 404 on any of the eel routes (/eel.js, /eel, any files in web, etc).

Expected behavior
Eel will start the bottle server with the routes needed for eel to work.

Additional context
Original issue #211 was fixed by #212, but #229 caused a regression of the original issue.

More discussion in PR #573

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions