Source: https://seerepo.com/r/neondatabase/neon/built
Markdown source: https://seerepo.com/r/neondatabase/neon/built.md
Description: neon is a Rust repo built with axum, tower, Tokio, werkzeug, and AIOHTTP. It stores its data in Postgres and moka.

# What is neon built with?

neon is a Rust repo built with axum, tower, Tokio, werkzeug, and AIOHTTP. It stores its data in Postgres and moka, signs people in with jsonwebtoken, hmac, ed25519-dalek, and pyjwt, stores files in AWS S3, watches its errors with Sentry, makes its content with jinja2 and parquet, is tested with pytest-rerunfailures, pytest-split, pytest-timeout, pytest-xdist, Pytest, and 1 more, deploys with opentelemetry-semantic-conventions, tracing, prometheus, tracing-subscriber, prometheus-client, and 8 more, and uses asyncpg, aws-sdk-s3, pg8000, psycopg2-binary, Redis, and 1 more. It has 379,885 written lines, with 281 test files.

Read on November 4, 2026, at commit fa50421.

Repository: https://github.com/neondatabase/neon

## Backend

### The base

- **[axum](https://seerepo.com/uses/axum)**: 32 files
- **tower**: 3 files

### Data

- **asyncpg**
- **aws-sdk-s3**
- **pg8000**
- **psycopg2-binary**
- **[Postgres](https://seerepo.com/uses/postgres)**: 53 files · [test_runner/bin/neon_local_create_deep_l0_stack.py, line 1](https://github.com/neondatabase/neon/blob/fa504217c61bbcaf5c512d75830564541f917f8f/test_runner/bin/neon_local_create_deep_l0_stack.py#L1)
- **moka**: 6 files
- **[Redis](https://seerepo.com/uses/redis)**: 5 files · [proxy/src/cancellation.rs, line 11](https://github.com/neondatabase/neon/blob/fa504217c61bbcaf5c512d75830564541f917f8f/proxy/src/cancellation.rs#L11)
- **clickhouse-connect**: 1 file

### Sign-in

- **jsonwebtoken**: 9 files
- **hmac**: 5 files
- **ed25519-dalek**: 2 files
- **pyjwt**: 2 files

### Services

- **[AWS S3](https://seerepo.com/uses/aws-s3)**: 2 files · [compute_tools/src/bin/fast_import.rs, line 143](https://github.com/neondatabase/neon/blob/fa504217c61bbcaf5c512d75830564541f917f8f/compute_tools/src/bin/fast_import.rs#L143)
- **[Sentry](https://seerepo.com/uses/sentry)**: 1 file · [libs/utils/src/sentry_init.rs, line 4](https://github.com/neondatabase/neon/blob/fa504217c61bbcaf5c512d75830564541f917f8f/libs/utils/src/sentry_init.rs#L4)

## Support

### The base

- **[Tokio](https://seerepo.com/uses/tokio)**: 298 files
- **werkzeug**: 12 files
- **[AIOHTTP](https://seerepo.com/uses/aiohttp)**: 1 file

### Content

- **jinja2**
- **parquet**: 1 file

### Testing

- **pytest-rerunfailures**
- **pytest-split**
- **pytest-timeout**
- **pytest-xdist**
- **Pytest**: 145 files
- **pytest-asyncio**: 1 file

### Deploy

- **opentelemetry-semantic-conventions**
- **[tracing](https://seerepo.com/uses/tracing)**: 285 files
- **prometheus**: 20 files
- **[tracing-subscriber](https://seerepo.com/uses/tracing-subscriber)**: 9 files
- **prometheus-client**: 6 files
- **env_logger**: 4 files
- **opentelemetry-otlp**: 4 files
- **tracing-opentelemetry**: 4 files
- **[psutil](https://seerepo.com/uses/psutil)**: 3 files
- **tracing-appender**: 3 files
- **[boto3](https://seerepo.com/uses/boto3)**: 2 files
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 2 files
- **[log](https://seerepo.com/uses/log)**: 1 file

### Tools

- **clap_builder**
- **clap**: 39 files
- **typing-extensions**: 11 files

### Other

- **anstream**
- **const-oid**
- **der**
- **deranged**
- **digest**
- **elliptic-curve**
- **form_urlencoded**
- **futures-channel**
- **futures-executor**
- **futures-io**
- **futures-sink**
- **getrandom**
- **half**
- **lazy_static**
- **nom**
- **num-bigint**
- **num-complex**
- **num-integer**
- **num-rational**
- **portable-atomic**
- **regex-automata**
- **regex-syntax**
- **rustls-pki-types**
- **rustls-webpki**
- **stable_deref_trait**
- **time**
- **anyhow**: 290 files
- **serde**: 145 files
- **tokio-util**: 139 files
- **futures**: 118 files
- **thiserror**: 107 files
- **bytes**: 100 files
- **serde_json**: 97 files
- **reqwest**: 57 files
- **rand**: 54 files
- **itertools**: 44 files
- **once_cell**: 43 files
- **chrono**: 40 files
- **scopeguard**: 39 files
- **http**: 37 files
- **Hyper**: 35 files
- **requests**: 32 files
- **url**: 31 files
- **nix**: 25 files
- **uuid**: 23 files
- **rustls**: 19 files
- **tonic**: 18 files
- **arc-swap**: 16 files
- **strum_macros**: 16 files
- **futures-util**: 15 files
- **parking_lot**: 14 files
- **regex**: 14 files
- **async-stream**: 13 files
- **base64**: 13 files
- **byteorder**: 12 files
- **http-body-util**: 12 files
- **tokio-stream**: 12 files
- **async-compression**: 11 files
- **hex**: 11 files
- **pem**: 11 files
- **tokio-rustls**: 11 files
- **toml_edit**: 10 files
- **sha2**: 9 files
- **smol_str**: 9 files
- **hyper-util**: 8 files
- **async-trait**: 6 files
- **indexmap**: 6 files
- **rustc-hash**: 6 files
- **serde_with**: 6 files
- **walkdir**: 6 files
- **smallvec**: 5 files
- **tikv-jemallocator**: 5 files
- **ahash**: 4 files
- **bincode**: 4 files
- **libc**: 4 files
- **rustls-pemfile**: 4 files
- **socket2**: 4 files
- **strum**: 4 files
- **zstandard**: 4 files
- **aws-config**: 3 files
- **const_format**: 3 files
- **itoa**: 3 files
- **num_cpus**: 3 files
- **rustls-native-certs**: 3 files
- **zeroize**: 3 files
- **aws-smithy-types**: 2 files
- **cron**: 2 files
- **either**: 2 files
- **flate2**: 2 files
- **ipnet**: 2 files
- **p256**: 2 files
- **procfs**: 2 files
- **serde_path_to_error**: 2 files
- **signal-hook**: 2 files
- **subtle**: 2 files
- **sysinfo**: 2 files
- **tar**: 2 files
- **tower-http**: 2 files
- **twox-hash**: 2 files
- **aws-credential-types**: 1 file
- **aws-sigv4**: 1 file
- **bstr**: 1 file
- **cfg-if**: 1 file
- **ecdsa**: 1 file
- **futures-core**: 1 file
- **h2**: 1 file
- **hashbrown**: 1 file
- **hdrhistogram**: 1 file
- **hostname**: 1 file
- **httpx**: 1 file
- **md5**: 1 file
- **memchr**: 1 file
- **native-tls**: 1 file
- **notify**: 1 file
- **num-traits**: 1 file
- **papaya**: 1 file
- **prost**: 1 file
- **prost-types**: 1 file
- **pyyaml**: 1 file
- **ring**: 1 file
- **rlimit**: 1 file
- **rsa**: 1 file
- **serde_repr**: 1 file
- **signature**: 1 file
- **spki**: 1 file
- **tempfile**: 1 file
- **toml**: 1 file
- **urlencoding**: 1 file
- **websockets**: 1 file
- **whoami**: 1 file
- **zstd**: 1 file

## Other repos with a similar stack

- [zed-industries/zed](https://seerepo.com/r/zed-industries/zed/built): axum, tower, aws-sdk-s3, Postgres, AWS S3, Tokio, jsonwebtoken, tracing, tracing-subscriber, env_logger, log · [Compare](https://seerepo.com/compare/neondatabase/neon/vs/zed-industries/zed)
- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): psycopg2-binary, Postgres, Redis, Sentry, AIOHTTP, pyjwt, jinja2, prometheus-client, psutil, boto3 · [Compare](https://seerepo.com/compare/neondatabase/neon/vs/Significant-Gravitas/AutoGPT)
- [vllm-project/vllm](https://seerepo.com/r/vllm-project/vllm/built): axum, tower, Tokio, AIOHTTP, jinja2, tracing, tracing-subscriber, prometheus-client, psutil, OpenTelemetry · [Compare](https://seerepo.com/compare/neondatabase/neon/vs/vllm-project/vllm)
- [openai/codex](https://seerepo.com/r/openai/codex/built): axum, tower, Sentry, Tokio, hmac, tracing, tracing-subscriber, tracing-appender, log · [Compare](https://seerepo.com/compare/neondatabase/neon/vs/openai/codex)
- [denoland/deno](https://seerepo.com/r/denoland/deno/built): tower, Tokio, hmac, ed25519-dalek, tracing, tracing-subscriber, env_logger, tracing-opentelemetry, log · [Compare](https://seerepo.com/compare/denoland/deno/vs/neondatabase/neon)
- [langgenius/dify](https://seerepo.com/r/langgenius/dify/built): psycopg2-binary, Postgres, Redis, Sentry, werkzeug, pyjwt, boto3 · [Compare](https://seerepo.com/compare/langgenius/dify/vs/neondatabase/neon)

## Frequently asked questions

### What language is neon written in?

neon is written in Rust, with 379,885 written lines.

### What framework does neon use?

neon is built with axum, tower, Tokio, werkzeug, and AIOHTTP.

### What database does neon use?

neon stores its data in Postgres and moka.

The proof: [test_runner/bin/neon_local_create_deep_l0_stack.py, line 1](https://github.com/neondatabase/neon/blob/fa504217c61bbcaf5c512d75830564541f917f8f/test_runner/bin/neon_local_create_deep_l0_stack.py#L1)

### What does neon sign people in with?

neon signs people in with jsonwebtoken, hmac, ed25519-dalek, and pyjwt.

### What services does neon use?

neon stores files in AWS S3, watches its errors with Sentry, and uses asyncpg, aws-sdk-s3, pg8000, psycopg2-binary, Redis, and clickhouse-connect.

The proof: [compute_tools/src/bin/fast_import.rs, line 143](https://github.com/neondatabase/neon/blob/fa504217c61bbcaf5c512d75830564541f917f8f/compute_tools/src/bin/fast_import.rs#L143)

### Does neon have tests?

Yes. neon has 281 test files and is tested with pytest-rerunfailures, pytest-split, pytest-timeout, pytest-xdist, Pytest, and pytest-asyncio.

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

The ones that share most of its stack: zed-industries/zed, Significant-Gravitas/AutoGPT, and vllm-project/vllm.

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