Source: https://seerepo.com/r/seleniumbase/SeleniumBase/built
Markdown source: https://seerepo.com/r/seleniumbase/SeleniumBase/built.md
Description: SeleniumBase is a Python repo built with Express. It signs people in with pyotp and uses AI through mcp. It has 106,509 written lines, with 158 test files.

# What is SeleniumBase built with?

SeleniumBase is a Python repo built with Express. It signs people in with pyotp, uses AI through mcp, makes its content with jinja2, markdown, markdown-it-py, markupsafe, mdurl, and 3 more, is tested with parameterized, pytest-cov, pytest-html, pytest-metadata, pytest-rerunfailures, and 4 more, and deploys with execnet and psutil. It has 106,509 written lines, with 158 test files.

Read on November 10, 2026, at commit 40d8d8b.

Repository: https://github.com/seleniumbase/SeleniumBase

## Frontend (/)

### Styles

- **[mkdocs-material](https://seerepo.com/uses/mkdocs-material)**
- **[soupsieve](https://seerepo.com/uses/soupsieve)**

### Interface

- **cairocffi**
- **[Rich](https://seerepo.com/uses/rich)**: 2 files

## Backend (/)

### Sign-in

- **pyotp**: 1 file

### AI

- **[mcp](https://seerepo.com/uses/mcp)**: 1 file

## Support (/)

### Content

- **[jinja2](https://seerepo.com/uses/jinja2)**
- **[markdown](https://seerepo.com/uses/markdown)**
- **[markdown-it-py](https://seerepo.com/uses/markdown-it-py)**
- **[markupsafe](https://seerepo.com/uses/markupsafe)**
- **[mdurl](https://seerepo.com/uses/mdurl)**
- **mkdocs-material-extensions**
- **[pymdown-extensions](https://seerepo.com/uses/pymdown-extensions)**
- **[beautifulsoup4](https://seerepo.com/uses/beautifulsoup4)**: 1 file

### Testing

- **parameterized**
- **pytest-cov**
- **pytest-html**
- **pytest-metadata**
- **pytest-rerunfailures**
- **pytest-xdist**
- **Selenium**: 11 files
- **behave**: 5 files
- **Pytest**: 3 files

### Deploy

- **execnet**
- **[psutil](https://seerepo.com/uses/psutil)**: 2 files

### Tools

- **click**
- **coverage**
- **flake8**
- **ghp-import**
- **iniconfig**
- **mccabe**
- **mkdocs**
- **mkdocs-get-deps**
- **packaging**
- **pathspec**
- **pip**
- **pluggy**
- **pycodestyle**
- **pyflakes**
- **pyreadline3**
- **Setuptools**
- **typing-extensions**
- **wheel**
- **pygments**: 1 file

### Other

- **attrs**
- **Babel**
- **backrefs**
- **certifi**
- **charset-normalizer**
- **exceptiongroup**
- **h11**
- **idna**
- **outcome**
- **paginate**
- **parse**
- **platformdirs**
- **python-dateutil**
- **regex**
- **six**
- **sniffio**
- **sortedcontainers**
- **trio**
- **trio-websocket**
- **tzdata**
- **watchdog**
- **websocket-client**
- **wsproto**
- **colorama**: 20 files
- **fasteners**: 9 files
- **filelock**: 6 files
- **requests**: 5 files
- **pyautogui**: 3 files
- **urllib3**: 2 files
- **websockets**: 2 files
- **cssselect**: 1 file
- **pyyaml**: 1 file

## Backend (integrations/node_js)

### The base

- **[Express](https://seerepo.com/uses/express)**: 1 file · [in integrations/node_js/package.json](https://github.com/seleniumbase/SeleniumBase/blob/40d8d8b900da1494de741a7adcc7215778f4addb/integrations/node_js/package.json)

## Other repos with a similar stack

- [apache/superset](https://seerepo.com/r/apache/superset/built): Express, soupsieve, Rich, MCP, jinja2, markdown, markdown-it-py, markupsafe, mdurl, beautifulsoup4, execnet, psutil · [Compare](https://seerepo.com/compare/apache/superset/vs/seleniumbase/SeleniumBase)
- [onyx-dot-app/onyx](https://seerepo.com/r/onyx-dot-app/onyx/built): soupsieve, Rich, MCP, jinja2, markdown-it-py, markupsafe, mdurl, beautifulsoup4, execnet, psutil · [Compare](https://seerepo.com/compare/onyx-dot-app/onyx/vs/seleniumbase/SeleniumBase)
- [ray-project/ray](https://seerepo.com/r/ray-project/ray/built): soupsieve, Rich, jinja2, markdown, markdown-it-py, markupsafe, mdurl, beautifulsoup4, psutil · [Compare](https://seerepo.com/compare/ray-project/ray/vs/seleniumbase/SeleniumBase)
- [SeleniumHQ/selenium](https://seerepo.com/r/SeleniumHQ/selenium/built): Express, soupsieve, Rich, MCP, jinja2, markdown-it-py, markupsafe, mdurl, beautifulsoup4 · [Compare](https://seerepo.com/compare/seleniumbase/SeleniumBase/vs/SeleniumHQ/selenium)
- [vllm-project/vllm](https://seerepo.com/r/vllm-project/vllm/built): mkdocs-material, MCP, jinja2, markdown, markupsafe, mkdocs-material-extensions, pymdown-extensions, psutil · [Compare](https://seerepo.com/compare/seleniumbase/SeleniumBase/vs/vllm-project/vllm)
- [bojieli/ai-agent-book](https://seerepo.com/r/bojieli/ai-agent-book/built): Express, mkdocs-material, Rich, pyotp, MCP, markdown, beautifulsoup4, psutil · [Compare](https://seerepo.com/compare/bojieli/ai-agent-book/vs/seleniumbase/SeleniumBase)

## Frequently asked questions

### What language is SeleniumBase written in?

SeleniumBase is written in Python, with 106,509 written lines.

### What framework does SeleniumBase use?

SeleniumBase is built with Express.

The proof: [in integrations/node_js/package.json](https://github.com/seleniumbase/SeleniumBase/blob/40d8d8b900da1494de741a7adcc7215778f4addb/integrations/node_js/package.json)

### What does SeleniumBase sign people in with?

SeleniumBase signs people in with pyotp.

### Does SeleniumBase use AI?

Yes. SeleniumBase uses AI through mcp.

### Does SeleniumBase have tests?

Yes. SeleniumBase has 158 test files and is tested with parameterized, pytest-cov, pytest-html, pytest-metadata, pytest-rerunfailures, pytest-xdist, Selenium, behave, and Pytest.

### Which repos have a stack like SeleniumBase's?

The ones that share most of its stack: apache/superset, onyx-dot-app/onyx, and ray-project/ray.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
