Source: https://seerepo.com/r/pjialin/py12306/built
Markdown source: https://seerepo.com/r/pjialin/py12306/built.md
Description: py12306 is a Python repo built with Flask and werkzeug. It signs people in with itsdangerous, pyjwt, and flask-jwt-extended. It has 5,106 written lines.

# What is py12306 built with?

py12306 is a Python repo built with Flask and werkzeug. It signs people in with itsdangerous, pyjwt, and flask-jwt-extended, makes its content with beautifulsoup4, bs4, jinja2, lxml, markupsafe, and 2 more, is tested with fake-useragent, and uses Redis. It has 5,106 written lines.

Read on November 8, 2026, at commit 52ccae8.

Repository: https://github.com/pjialin/py12306

## Frontend

### Styles

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

## Backend

### The base

- **[Flask](https://seerepo.com/uses/flask)**: 6 files

### Data

- **[Redis](https://seerepo.com/uses/redis)**: 3 files · [py12306/cluster/redis.py, line 4](https://github.com/pjialin/py12306/blob/52ccae8b206b828624f185bf8178e1057c6b5fb9/py12306/cluster/redis.py#L4)

### Sign-in

- **[itsdangerous](https://seerepo.com/uses/itsdangerous)**
- **[pyjwt](https://seerepo.com/uses/pyjwt)**
- **flask-jwt-extended**: 6 files

## Support

### The base

- **[werkzeug](https://seerepo.com/uses/werkzeug)**

### Content

- **[beautifulsoup4](https://seerepo.com/uses/beautifulsoup4)**
- **[bs4](https://seerepo.com/uses/bs4)**
- **[jinja2](https://seerepo.com/uses/jinja2)**
- **[lxml](https://seerepo.com/uses/lxml)**
- **[markupsafe](https://seerepo.com/uses/markupsafe)**
- **pypng**
- **requests-html**: 1 file

### Testing

- **fake-useragent**

### Tools

- **click**

### Other

- **appdirs**
- **certifi**
- **chardet**
- **cssselect**
- **idna**
- **pyee**
- **pyquery**
- **six**
- **tqdm**
- **urllib3**
- **w3lib**
- **websockets**
- **requests**: 3 files

## Other repos with a similar stack

- [apache/superset](https://seerepo.com/r/apache/superset/built): Flask, Redis, werkzeug, soupsieve, itsdangerous, pyjwt, flask-jwt-extended, beautifulsoup4, jinja2, markupsafe · [Compare](https://seerepo.com/compare/apache/superset/vs/pjialin/py12306)
- [ray-project/ray](https://seerepo.com/r/ray-project/ray/built): Flask, Redis, werkzeug, soupsieve, itsdangerous, pyjwt, beautifulsoup4, jinja2, lxml, markupsafe · [Compare](https://seerepo.com/compare/pjialin/py12306/vs/ray-project/ray)
- [onyx-dot-app/onyx](https://seerepo.com/r/onyx-dot-app/onyx/built): Flask, Redis, werkzeug, soupsieve, itsdangerous, pyjwt, beautifulsoup4, jinja2, lxml, markupsafe · [Compare](https://seerepo.com/compare/onyx-dot-app/onyx/vs/pjialin/py12306)
- [run-llama/llama_index](https://seerepo.com/r/run-llama/llama_index/built): Redis, soupsieve, pyjwt, beautifulsoup4, bs4, jinja2, lxml, markupsafe · [Compare](https://seerepo.com/compare/pjialin/py12306/vs/run-llama/llama_index)
- [HKUDS/Vibe-Trading](https://seerepo.com/r/HKUDS/Vibe-Trading/built): soupsieve, pyjwt, beautifulsoup4, bs4, jinja2, lxml, markupsafe · [Compare](https://seerepo.com/compare/HKUDS/Vibe-Trading/vs/pjialin/py12306)
- [hasura/graphql-engine](https://seerepo.com/r/hasura/graphql-engine/built): Flask, Redis, werkzeug, itsdangerous, pyjwt, jinja2, markupsafe · [Compare](https://seerepo.com/compare/hasura/graphql-engine/vs/pjialin/py12306)

## Frequently asked questions

### What language is py12306 written in?

py12306 is written in Python, with 5,106 written lines.

### What framework does py12306 use?

py12306 is built with Flask and werkzeug.

### What does py12306 sign people in with?

py12306 signs people in with itsdangerous, pyjwt, and flask-jwt-extended.

### What services does py12306 use?

py12306 uses Redis.

The proof: [py12306/cluster/redis.py, line 4](https://github.com/pjialin/py12306/blob/52ccae8b206b828624f185bf8178e1057c6b5fb9/py12306/cluster/redis.py#L4)

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

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

## 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.
