Source: https://seerepo.com/r/saltstack/salt/built
Markdown source: https://seerepo.com/r/saltstack/salt/built.md
Description: salt is a Python repo built with tornado and AIOHTTP. It signs people in with cryptography and bcrypt. It has 1,064,745 written lines, with 2,106 test files.

# What is salt built with?

salt is a Python repo built with tornado and AIOHTTP. It signs people in with cryptography and bcrypt, makes its content with markdown-it-py, jinja2, lxml, markupsafe, and xmltodict, validates its data with jsonschema, is tested with flaky, pytest-benchmark, pytest-httpserver, pytest-subtests, trustme, and 3 more, deploys with apache-libcloud, opentelemetry-api, opentelemetry-exporter-prometheus, psutil, OpenTelemetry, and 2 more, and uses pymssql and pyzmq. It has 1,064,745 written lines, with 2,106 test files.

Read on November 8, 2026, at commit 944a95d.

Repository: https://github.com/saltstack/salt

## Backend

### Data

- **pymssql**
- **[pyzmq](https://seerepo.com/uses/pyzmq)**: 6 files

### Sign-in

- **[cryptography](https://seerepo.com/uses/cryptography)**: 12 files
- **[bcrypt](https://seerepo.com/uses/bcrypt)**: 6 files

## Support

### The base

- **[tornado](https://seerepo.com/uses/tornado)**: 18 files
- **[AIOHTTP](https://seerepo.com/uses/aiohttp)**: 1 file

### Content

- **[markdown-it-py](https://seerepo.com/uses/markdown-it-py)**
- **[jinja2](https://seerepo.com/uses/jinja2)**: 10 files
- **[lxml](https://seerepo.com/uses/lxml)**: 2 files
- **[markupsafe](https://seerepo.com/uses/markupsafe)**: 2 files
- **[xmltodict](https://seerepo.com/uses/xmltodict)**: 1 file

### Validation

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

### Testing

- **flaky**
- **pytest-benchmark**
- **pytest-httpserver**
- **pytest-subtests**
- **trustme**
- **Pytest**: 1,614 files
- **mock**: 1 file
- **pytest-timeout**: 1 file

### Deploy

- **apache-libcloud**
- **[opentelemetry-api](https://seerepo.com/uses/opentelemetry-api)**
- **opentelemetry-exporter-prometheus**
- **[psutil](https://seerepo.com/uses/psutil)**: 16 files
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 2 files
- **[opentelemetry-sdk](https://seerepo.com/uses/opentelemetry-sdk)**: 2 files
- **[docker](https://seerepo.com/uses/docker)**: 1 file

### Tools

- **build**
- **cython**
- **gitpython**
- **pycparser**
- **setuptools-scm**
- **twine**
- **wheel**
- **packaging**: 3 files
- **pip**: 2 files
- **Setuptools**: 2 files
- **virtualenv**: 1 file

### Other

- **cffi**
- **contextvars**
- **filelock**
- **frozenlist**
- **importlib-metadata**
- **jaraco.context**
- **multidict**
- **pyasn1**
- **python-gnupg**
- **pythonnet**
- **pyyaml**
- **attrs**: 24 files
- **pywin32**: 17 files
- **requests**: 9 files
- **msgpack**: 4 files
- **python-dateutil**: 4 files
- **certifi**: 2 files
- **distro**: 2 files
- **idna**: 2 files
- **looseversion**: 2 files
- **pyopenssl**: 2 files
- **setproctitle**: 2 files
- **xxhash**: 2 files
- **charset-normalizer**: 1 file
- **croniter**: 1 file
- **jmespath**: 1 file
- **more-itertools**: 1 file
- **pycryptodomex**: 1 file
- **truststore**: 1 file
- **urllib3**: 1 file
- **zipp**: 1 file

## Other repos with a similar stack

- [ray-project/ray](https://seerepo.com/r/ray-project/ray/built): pyzmq, tornado, AIOHTTP, cryptography, markdown-it-py, jinja2, lxml, markupsafe, xmltodict, jsonschema, opentelemetry-exporter-prometheus, psutil, OpenTelemetry, docker · [Compare](https://seerepo.com/compare/ray-project/ray/vs/saltstack/salt)
- [apache/superset](https://seerepo.com/r/apache/superset/built): pymssql, pyzmq, tornado, AIOHTTP, cryptography, bcrypt, markdown-it-py, jinja2, markupsafe, jsonschema, psutil, OpenTelemetry, docker · [Compare](https://seerepo.com/compare/apache/superset/vs/saltstack/salt)
- [onyx-dot-app/onyx](https://seerepo.com/r/onyx-dot-app/onyx/built): pyzmq, tornado, AIOHTTP, cryptography, markdown-it-py, jinja2, lxml, markupsafe, psutil, OpenTelemetry, docker · [Compare](https://seerepo.com/compare/onyx-dot-app/onyx/vs/saltstack/salt)
- [run-llama/llama_index](https://seerepo.com/r/run-llama/llama_index/built): pyzmq, tornado, AIOHTTP, cryptography, jinja2, lxml, markupsafe, jsonschema, psutil, OpenTelemetry · [Compare](https://seerepo.com/compare/run-llama/llama_index/vs/saltstack/salt)
- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): pymssql, AIOHTTP, cryptography, markdown-it-py, jinja2, jsonschema, psutil, docker · [Compare](https://seerepo.com/compare/saltstack/salt/vs/Significant-Gravitas/AutoGPT)
- [Aider-AI/aider](https://seerepo.com/r/Aider-AI/aider/built): tornado, AIOHTTP, cryptography, markdown-it-py, jinja2, markupsafe, jsonschema, psutil · [Compare](https://seerepo.com/compare/Aider-AI/aider/vs/saltstack/salt)

## Frequently asked questions

### What language is salt written in?

salt is written in Python, with 1,064,745 written lines.

### What framework does salt use?

salt is built with tornado and AIOHTTP.

### What does salt sign people in with?

salt signs people in with cryptography and bcrypt.

### What services does salt use?

salt uses pymssql and pyzmq.

### Does salt have tests?

Yes. salt has 2,106 test files and is tested with flaky, pytest-benchmark, pytest-httpserver, pytest-subtests, trustme, Pytest, mock, and pytest-timeout.

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

The ones that share most of its stack: ray-project/ray, apache/superset, 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.
