mirror of
https://github.com/browser-use/browser-use.git
synced 2025-02-18 01:18:20 +03:00
Full credit due to @jhachirag7 on this, I've set them as the commit author. They also opened #602 but it looks like it has some indentation issue (fixed here) and a few spurious commits and removed files; I only mean to make it as easy as possible for maintainers to get this merged. I (mike@mbaynton.com) have tested that with this fix it is possible to run against AWS Bedrock + Sonnet 3.5 v2. Fixes #580
Codebase Structure
The code structure inspired by https://github.com/Netflix/dispatch.
Very good structure on how to make a scalable codebase is also in this repo.
Just a brief document about how we should structure our backend codebase.
Code Structure
src/
/<service name>/
models.py
services.py
prompts.py
views.py
utils.py
routers.py
/_<subservice name>/
Service.py
Always a single file, except if it becomes too long - more than ~500 lines, split it into _subservices
Views.py
Always split the views into two parts
# All
...
# Requests
...
# Responses
...
If too long → split into multiple files
Prompts.py
Single file; if too long → split into multiple files (one prompt per file or so)
Routers.py
Never split into more than one file