Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified brand/apparel/back-lockup-2400.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/apparel/chest-mark-1050.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions brand/build/projects.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"jwks-client": lambda: sym.key(_CX, _CY, R),
# utilities
"db-retry": lambda: sym.db_retry(_CX, _CY, R),
"sqlalchemy-inbox": lambda: sym.inbox(_CX, _CY, R),
"eof-fixer": lambda: sym.eof_fixer(_CX, _CY, R),
"semvertag": lambda: sym.tag(_CX, _CY, R),
"compose2pod": lambda: sym.pod(_CX, _CY, R),
Expand Down
20 changes: 20 additions & 0 deletions brand/build/symbols.py
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,26 @@ def outbox(cx: float, cy: float, r: float) -> str:
return base + out


def inbox(cx: float, cy: float, r: float) -> str:
"""sqlalchemy-inbox: an arrow dropping into a database cylinder marked with a check."""
cyl_cy = cy + 0.3 * r
h = 0.9
base = _cyl(cx, cyl_cy, r * 1.05, h)
top = cyl_cy - h / 2 * r * 1.05
shaft = (
f'<line x1="{cx}" y1="{cy - 1.05 * r:.1f}" x2="{cx}" y2="{top - 0.5 * r:.1f}" '
f'stroke="{GOLD}" stroke-width="{r * 0.2:.1f}"/>'
)
head = _ah(cx, top - 0.16 * r, math.pi / 2, r * 0.44)
by = cyl_cy + 0.12 * r
check = (
f'<polyline points="{cx - 0.24 * r:.1f},{by:.1f} {cx - 0.06 * r:.1f},{by + 0.18 * r:.1f} '
f'{cx + 0.26 * r:.1f},{by - 0.16 * r:.1f}" fill="none" stroke="{CREAM}" '
f'stroke-width="{r * 0.11:.1f}" stroke-linecap="round" stroke-linejoin="round"/>'
)
return base + shaft + head + check


def db_retry(cx: float, cy: float, r: float) -> str:
"""db-retry: a database cylinder inside a two-head clockwise retry circle."""
rad = 0.92 * r
Expand Down
Binary file modified brand/org/apple-touch-icon-180.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/org/avatar-1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/org/avatar-circle-1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/org/boosty-cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/org/social-card-green.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/org/social-card.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/org/social-square-green.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/org/social-square.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/chat-app/lockup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/chat-app/mark-1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/chat-app/mark-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/compose2pod/lockup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/compose2pod/mark-1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/compose2pod/mark-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/db-retry/lockup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/db-retry/mark-1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/db-retry/mark-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/eof-fixer/lockup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/eof-fixer/mark-1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/eof-fixer/mark-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/fastapi-sqlalchemy-template/lockup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/fastapi-sqlalchemy-template/mark-1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/fastapi-sqlalchemy-template/mark-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified brand/projects/faststream-concurrent-aiokafka/lockup.png
Binary file modified brand/projects/faststream-concurrent-aiokafka/mark-1024.png
Binary file modified brand/projects/faststream-concurrent-aiokafka/mark-512.png
Binary file modified brand/projects/faststream-outbox/lockup.png
Binary file modified brand/projects/faststream-outbox/mark-1024.png
Binary file modified brand/projects/faststream-outbox/mark-512.png
Binary file modified brand/projects/faststream-outbox/social-card.png
Binary file modified brand/projects/faststream-redis-timers/lockup.png
Binary file modified brand/projects/faststream-redis-timers/mark-1024.png
Binary file modified brand/projects/faststream-redis-timers/mark-512.png
Binary file modified brand/projects/faststream-redis-timers/social-card.png
Binary file modified brand/projects/httpware/lockup.png
Binary file modified brand/projects/httpware/mark-1024.png
Binary file modified brand/projects/httpware/mark-512.png
Binary file modified brand/projects/httpware/social-card.png
Binary file modified brand/projects/jwks-client/lockup.png
Binary file modified brand/projects/jwks-client/mark-1024.png
Binary file modified brand/projects/jwks-client/mark-512.png
Binary file modified brand/projects/lite-bootstrap/lockup.png
Binary file modified brand/projects/lite-bootstrap/mark-1024.png
Binary file modified brand/projects/lite-bootstrap/mark-512.png
Binary file modified brand/projects/lite-bootstrap/social-card.png
Binary file modified brand/projects/litestar-sqlalchemy-template/lockup.png
Binary file modified brand/projects/litestar-sqlalchemy-template/mark-1024.png
Binary file modified brand/projects/litestar-sqlalchemy-template/mark-512.png
Binary file modified brand/projects/modern-di-aiogram/lockup.png
Binary file modified brand/projects/modern-di-aiogram/mark-1024.png
Binary file modified brand/projects/modern-di-aiogram/mark-512.png
Binary file modified brand/projects/modern-di-aiohttp/lockup.png
Binary file modified brand/projects/modern-di-aiohttp/mark-1024.png
Binary file modified brand/projects/modern-di-aiohttp/mark-512.png
Binary file modified brand/projects/modern-di-arq/lockup.png
Binary file modified brand/projects/modern-di-arq/mark-1024.png
Binary file modified brand/projects/modern-di-arq/mark-512.png
Binary file modified brand/projects/modern-di-celery/lockup.png
Binary file modified brand/projects/modern-di-celery/mark-1024.png
Binary file modified brand/projects/modern-di-celery/mark-512.png
Binary file modified brand/projects/modern-di-fastapi/lockup.png
Binary file modified brand/projects/modern-di-fastapi/mark-1024.png
Binary file modified brand/projects/modern-di-fastapi/mark-512.png
Binary file modified brand/projects/modern-di-faststream/lockup.png
Binary file modified brand/projects/modern-di-faststream/mark-1024.png
Binary file modified brand/projects/modern-di-faststream/mark-512.png
Binary file modified brand/projects/modern-di-flask/lockup.png
Binary file modified brand/projects/modern-di-flask/mark-1024.png
Binary file modified brand/projects/modern-di-flask/mark-512.png
Binary file modified brand/projects/modern-di-grpc/lockup.png
Binary file modified brand/projects/modern-di-grpc/mark-1024.png
Binary file modified brand/projects/modern-di-grpc/mark-512.png
Binary file modified brand/projects/modern-di-litestar/lockup.png
Binary file modified brand/projects/modern-di-litestar/mark-1024.png
Binary file modified brand/projects/modern-di-litestar/mark-512.png
Binary file modified brand/projects/modern-di-pytest/lockup.png
Binary file modified brand/projects/modern-di-pytest/mark-1024.png
Binary file modified brand/projects/modern-di-pytest/mark-512.png
Binary file modified brand/projects/modern-di-starlette/lockup.png
Binary file modified brand/projects/modern-di-starlette/mark-1024.png
Binary file modified brand/projects/modern-di-starlette/mark-512.png
Binary file modified brand/projects/modern-di-taskiq/lockup.png
Binary file modified brand/projects/modern-di-taskiq/mark-1024.png
Binary file modified brand/projects/modern-di-taskiq/mark-512.png
Binary file modified brand/projects/modern-di-typer/lockup.png
Binary file modified brand/projects/modern-di-typer/mark-1024.png
Binary file modified brand/projects/modern-di-typer/mark-512.png
Binary file modified brand/projects/modern-di/lockup.png
Binary file modified brand/projects/modern-di/mark-1024.png
Binary file modified brand/projects/modern-di/mark-512.png
Binary file modified brand/projects/modern-di/social-card.png
Binary file modified brand/projects/release-scope/lockup.png
Binary file modified brand/projects/release-scope/mark-1024.png
Binary file modified brand/projects/release-scope/mark-512.png
Binary file modified brand/projects/semvertag/lockup.png
Binary file modified brand/projects/semvertag/mark-1024.png
Binary file modified brand/projects/semvertag/mark-512.png
Binary file modified brand/projects/semvertag/social-card.png
1 change: 1 addition & 0 deletions brand/projects/sqlalchemy-inbox/lockup-dark.svg
1 change: 1 addition & 0 deletions brand/projects/sqlalchemy-inbox/lockup-light.svg
Binary file added brand/projects/sqlalchemy-inbox/lockup.png
Binary file added brand/projects/sqlalchemy-inbox/mark-1024.png
Binary file added brand/projects/sqlalchemy-inbox/mark-512.png
1 change: 1 addition & 0 deletions brand/projects/sqlalchemy-inbox/mark.svg
Binary file modified brand/projects/that-depends/lockup.png
Binary file modified brand/projects/that-depends/mark-1024.png
Binary file modified brand/projects/that-depends/mark-512.png
Binary file modified brand/projects/that-depends/social-card.png
1 change: 1 addition & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ If you'd like help applying this stack to your own services, see [services](serv
- [`db-retry`](https://github.com/modern-python/db-retry): Retry helpers for PostgreSQL / SQLAlchemy database operations
- [`eof-fixer`](https://github.com/modern-python/eof-fixer): CLI tool that ensures text files end with exactly one newline
- [`release-scope`](https://github.com/modern-python/release-scope): Collect what sits between production and the default branch across GitLab services: tags, MRs, Jira keys, failed jobs
- [`sqlalchemy-inbox`](https://github.com/modern-python/sqlalchemy-inbox): Transactional inbox ledger for SQLAlchemy asyncio on PostgreSQL
- [`semvertag`](https://github.com/modern-python/semvertag): Auto-tag GitHub & GitLab repos with semantic version tags from CI

<p class="mp-tagline">Built with <a href="https://github.com/astral-sh/uv">uv</a>,
Expand Down
1 change: 1 addition & 0 deletions profile/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ Start new projects on [`modern-di`](https://github.com/modern-python/modern-di).
| [`db-retry`](https://github.com/modern-python/db-retry) | Retry helpers for PostgreSQL / SQLAlchemy database operations | [![Stars](https://img.shields.io/github/stars/modern-python/db-retry)](https://github.com/modern-python/db-retry/stargazers) | [![Downloads](https://static.pepy.tech/badge/db-retry/month)](https://pepy.tech/projects/db-retry) |
| [`eof-fixer`](https://github.com/modern-python/eof-fixer) | CLI tool that ensures text files end with exactly one newline | [![Stars](https://img.shields.io/github/stars/modern-python/eof-fixer)](https://github.com/modern-python/eof-fixer/stargazers) | [![Downloads](https://static.pepy.tech/badge/eof-fixer/month)](https://pepy.tech/projects/eof-fixer) |
| [`release-scope`](https://github.com/modern-python/release-scope) | Collect what sits between production and the default branch across GitLab services: tags, MRs, Jira keys, failed jobs | [![Stars](https://img.shields.io/github/stars/modern-python/release-scope)](https://github.com/modern-python/release-scope/stargazers) | [![Downloads](https://static.pepy.tech/badge/release-scope/month)](https://pepy.tech/projects/release-scope) |
| [`sqlalchemy-inbox`](https://github.com/modern-python/sqlalchemy-inbox) | Transactional inbox ledger for SQLAlchemy asyncio on PostgreSQL | [![Stars](https://img.shields.io/github/stars/modern-python/sqlalchemy-inbox)](https://github.com/modern-python/sqlalchemy-inbox/stargazers) | [![Downloads](https://static.pepy.tech/badge/sqlalchemy-inbox/month)](https://pepy.tech/projects/sqlalchemy-inbox) |
| [`semvertag`](https://github.com/modern-python/semvertag) | Auto-tag GitHub & GitLab repos with semantic version tags from CI | [![Stars](https://img.shields.io/github/stars/modern-python/semvertag)](https://github.com/modern-python/semvertag/stargazers) | [![Downloads](https://static.pepy.tech/badge/semvertag/month)](https://pepy.tech/projects/semvertag) |

### Support
Expand Down
1 change: 1 addition & 0 deletions tests/test_projects.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ def test_project_frame_parses_and_uses_tokens() -> None:
"faststream-concurrent-aiokafka",
"faststream-outbox",
"db-retry",
"sqlalchemy-inbox",
"eof-fixer",
"semvertag",
"modern-di-arq",
Expand Down
Loading