|
1 | | -# Bedrock Python |
2 | | - |
3 | | -**Production-grade Python libraries and tools for engineers.** |
4 | | - |
5 | | -Bedrock Python is a collection of carefully crafted open-source projects that form the infrastructure layer of modern backend services — from database foundations to message queues, from Redis clients to AI-powered developer tools. |
6 | | - |
7 | 1 | --- |
8 | | - |
9 | | -## Libraries |
10 | | - |
11 | | -Reusable packages published to PyPI. |
12 | | - |
13 | | -| Library | Description | |
14 | | -|---|---| |
15 | | -| [sqlalchemy-foundation-kit](https://github.com/bedrock-python/sqlalchemy-foundation-kit) | SQLAlchemy async session management and base models | |
16 | | -| [redis-client-kit](https://github.com/bedrock-python/redis-client-kit) | Redis client with Pydantic and OpenTelemetry support | |
17 | | -| [aiokafka-foundation-kit](https://github.com/bedrock-python/aiokafka-foundation-kit) | asyncio Kafka producer/consumer foundations | |
18 | | -| [omni-box](https://github.com/bedrock-python/omni-box) | Transactional Outbox / Inbox implementation | |
19 | | -| [idempotency-kit](https://github.com/bedrock-python/idempotency-kit) | Idempotency keys for HTTP and message handlers | |
20 | | -| [alembic-gauntlet](https://github.com/bedrock-python/alembic-gauntlet) | Alembic migration testing (stairway tests) | |
21 | | -| [pg-partsmith](https://github.com/bedrock-python/pg-partsmith) | PostgreSQL table partitioning helpers | |
22 | | -| [deadline-budget](https://github.com/bedrock-python/deadline-budget) | Deadline and budget propagation for async tasks | |
23 | | - |
24 | | -[See all libraries →](libraries/index.md) |
25 | | - |
| 2 | +title: Bedrock Python |
| 3 | +description: Production-grade Python libraries and developer tools for the infrastructure layer of modern backend services. |
| 4 | +hide: |
| 5 | + - navigation |
| 6 | + - toc |
26 | 7 | --- |
27 | 8 |
|
28 | | -## Tools |
29 | | - |
30 | | -Standalone developer tools. Install and run — no integration into your codebase required. |
31 | | - |
32 | | -| Tool | Description | |
33 | | -|---|---| |
34 | | -| [mr-review](https://github.com/bedrock-python/mr-review) | AI-powered merge request review for GitLab, GitHub, Gitea, and more | |
35 | | -| [mattermind](https://github.com/bedrock-python/mattermind) | Ask natural-language questions about your Mattermost workspace | |
36 | | - |
37 | | -[See all tools →](tools/index.md) |
38 | | - |
39 | | ---- |
40 | | - |
41 | | -## Blog |
42 | | - |
43 | | -Release notes, design decisions, and deep dives into each project. |
| 9 | +# Bedrock Python |
44 | 10 |
|
45 | | -- [Latest posts](blog/index.md) |
46 | | -- [Browse by category](blog/category/index.md) |
47 | | -- [Archive](blog/archive/index.md) |
| 11 | +<style> |
| 12 | + /* Landing page — hide the page H1 (we render our own hero) and the edit button. */ |
| 13 | + .md-content__button { display: none !important; } |
| 14 | + .md-content__inner > h1:first-of-type { display: none; } |
| 15 | + .md-main__inner { margin-top: 0; } |
| 16 | +</style> |
| 17 | + |
| 18 | +<section class="bdr-hero" markdown="0"> |
| 19 | + <div class="bdr-hero__eyebrow">The Bedrock Python ecosystem</div> |
| 20 | + <h1 class="bdr-hero__title">Foundations for serious Python services.</h1> |
| 21 | + <p class="bdr-hero__lede"> |
| 22 | + A focused set of open-source libraries and developer tools — Postgres, Redis, Kafka, |
| 23 | + Outbox, idempotency, partitioning, migrations, AI-powered code review — built for |
| 24 | + the same production stack, versioned together, tested together. |
| 25 | + </p> |
| 26 | + <div class="bdr-hero__actions"> |
| 27 | + <a class="bdr-btn bdr-btn--primary" href="libraries/">Browse libraries →</a> |
| 28 | + <a class="bdr-btn bdr-btn--ghost" href="blog/">Read the blog</a> |
| 29 | + </div> |
| 30 | +</section> |
| 31 | + |
| 32 | +<section class="bdr-featured" markdown="0"> |
| 33 | + <div class="bdr-featured__visual"></div> |
| 34 | + <div> |
| 35 | + <div class="bdr-featured__eyebrow">Featured · Tools</div> |
| 36 | + <h2 class="bdr-featured__title"> |
| 37 | + <a href="blog/posts/2026-05-28-introducing-mr-review/">Introducing mr-review: AI-powered merge request reviews</a> |
| 38 | + </h2> |
| 39 | + <p class="bdr-featured__lede"> |
| 40 | + A new CLI tool that runs locally and walks through merge-request diffs the way a |
| 41 | + thorough engineer would — staged review with brief, dispatch, polish and post phases, |
| 42 | + plus presets for thorough, security, style, and performance. |
| 43 | + </p> |
| 44 | + <div class="bdr-featured__meta"> |
| 45 | + <span>May 28, 2026</span> |
| 46 | + <span>·</span> |
| 47 | + <span>Tools</span> |
| 48 | + </div> |
| 49 | + </div> |
| 50 | +</section> |
| 51 | + |
| 52 | +<section markdown="0"> |
| 53 | + <div class="bdr-section-head"> |
| 54 | + <h2 class="bdr-section-head__title">Latest from the blog</h2> |
| 55 | + <a class="bdr-section-head__link" href="blog/">See all posts →</a> |
| 56 | + </div> |
| 57 | + |
| 58 | + <div class="bdr-grid"> |
| 59 | + <a class="bdr-card" href="blog/posts/2026-05-30-welcome/"> |
| 60 | + <div class="bdr-card__visual bdr-card__visual--meta"></div> |
| 61 | + <div class="bdr-card__eyebrow">Meta</div> |
| 62 | + <h3 class="bdr-card__title">Welcome to the Bedrock Python Blog</h3> |
| 63 | + <p class="bdr-card__lede"> |
| 64 | + An introduction to the ecosystem — what Bedrock Python is, the libraries that |
| 65 | + form the foundation, reliability, and testing layers, and what you can expect. |
| 66 | + </p> |
| 67 | + <div class="bdr-card__meta">May 30, 2026</div> |
| 68 | + </a> |
| 69 | + |
| 70 | + <a class="bdr-card" href="blog/posts/2026-05-28-introducing-mr-review/"> |
| 71 | + <div class="bdr-card__visual bdr-card__visual--tools"></div> |
| 72 | + <div class="bdr-card__eyebrow">Tools</div> |
| 73 | + <h3 class="bdr-card__title">Introducing mr-review</h3> |
| 74 | + <p class="bdr-card__lede"> |
| 75 | + A new CLI tool that runs locally and uses an LLM to walk through a merge |
| 76 | + request diff the way a thorough engineer would. |
| 77 | + </p> |
| 78 | + <div class="bdr-card__meta">May 28, 2026</div> |
| 79 | + </a> |
| 80 | + |
| 81 | + <a class="bdr-card" href="blog/posts/2026-05-15-transactional-outbox-with-omni-box/"> |
| 82 | + <div class="bdr-card__visual bdr-card__visual--libraries"></div> |
| 83 | + <div class="bdr-card__eyebrow">Libraries · Design</div> |
| 84 | + <h3 class="bdr-card__title">The Transactional Outbox pattern in Python</h3> |
| 85 | + <p class="bdr-card__lede"> |
| 86 | + How <code>omni-box</code> solves the classic dual-write problem between Postgres |
| 87 | + and Kafka using the Transactional Outbox pattern, plus the Inbox side for |
| 88 | + idempotent consumers. |
| 89 | + </p> |
| 90 | + <div class="bdr-card__meta">May 15, 2026</div> |
| 91 | + </a> |
| 92 | + </div> |
| 93 | +</section> |
| 94 | + |
| 95 | +<section markdown="0"> |
| 96 | + <div class="bdr-section-head"> |
| 97 | + <h2 class="bdr-section-head__title">Libraries</h2> |
| 98 | + <a class="bdr-section-head__link" href="libraries/">All libraries →</a> |
| 99 | + </div> |
| 100 | + |
| 101 | + <div class="bdr-list"> |
| 102 | + <a class="bdr-list__item" href="https://bedrock-python.github.io/sqlalchemy-foundation-kit/"> |
| 103 | + <p class="bdr-list__name">sqlalchemy-foundation-kit</p> |
| 104 | + <p class="bdr-list__desc">Async SQLAlchemy session management, base ORM models, Unit of Work.</p> |
| 105 | + </a> |
| 106 | + <a class="bdr-list__item" href="https://bedrock-python.github.io/redis-client-kit/"> |
| 107 | + <p class="bdr-list__name">redis-client-kit</p> |
| 108 | + <p class="bdr-list__desc">Redis client with optional Pydantic serialization and OpenTelemetry spans.</p> |
| 109 | + </a> |
| 110 | + <a class="bdr-list__item" href="https://bedrock-python.github.io/aiokafka-foundation-kit/"> |
| 111 | + <p class="bdr-list__name">aiokafka-foundation-kit</p> |
| 112 | + <p class="bdr-list__desc">asyncio Kafka producer / consumer foundations with structured logging.</p> |
| 113 | + </a> |
| 114 | + <a class="bdr-list__item" href="https://bedrock-python.github.io/omni-box/"> |
| 115 | + <p class="bdr-list__name">omni-box</p> |
| 116 | + <p class="bdr-list__desc">Transactional Outbox and Inbox patterns for SQLAlchemy + Kafka stacks.</p> |
| 117 | + </a> |
| 118 | + <a class="bdr-list__item" href="https://bedrock-python.github.io/idempotency-kit/"> |
| 119 | + <p class="bdr-list__name">idempotency-kit</p> |
| 120 | + <p class="bdr-list__desc">Idempotency key guards for HTTP endpoints and Kafka consumers.</p> |
| 121 | + </a> |
| 122 | + <a class="bdr-list__item" href="https://bedrock-python.github.io/alembic-gauntlet/"> |
| 123 | + <p class="bdr-list__name">alembic-gauntlet</p> |
| 124 | + <p class="bdr-list__desc">Stairway migration testing — every upgrade and downgrade, against a real DB.</p> |
| 125 | + </a> |
| 126 | + <a class="bdr-list__item" href="https://bedrock-python.github.io/pg-partsmith/"> |
| 127 | + <p class="bdr-list__name">pg-partsmith</p> |
| 128 | + <p class="bdr-list__desc">PostgreSQL declarative table partitioning helpers for SQLAlchemy projects.</p> |
| 129 | + </a> |
| 130 | + <a class="bdr-list__item" href="https://bedrock-python.github.io/deadline-budget/"> |
| 131 | + <p class="bdr-list__name">deadline-budget</p> |
| 132 | + <p class="bdr-list__desc">Deadline and budget propagation for async task chains.</p> |
| 133 | + </a> |
| 134 | + </div> |
| 135 | +</section> |
| 136 | + |
| 137 | +<section markdown="0"> |
| 138 | + <div class="bdr-section-head"> |
| 139 | + <h2 class="bdr-section-head__title">Tools</h2> |
| 140 | + <a class="bdr-section-head__link" href="tools/">All tools →</a> |
| 141 | + </div> |
| 142 | + |
| 143 | + <div class="bdr-list"> |
| 144 | + <a class="bdr-list__item" href="https://bedrock-python.github.io/mr-review/"> |
| 145 | + <p class="bdr-list__name">mr-review</p> |
| 146 | + <p class="bdr-list__desc">AI-powered merge request review for GitLab, GitHub, Gitea, and more.</p> |
| 147 | + </a> |
| 148 | + <a class="bdr-list__item" href="https://bedrock-python.github.io/mattermind/"> |
| 149 | + <p class="bdr-list__name">mattermind</p> |
| 150 | + <p class="bdr-list__desc">Ask natural-language questions about your Mattermost workspace.</p> |
| 151 | + </a> |
| 152 | + </div> |
| 153 | +</section> |
0 commit comments