modern-di-aiohttp public surfaces (settings + profile/docs listing) (… · modern-python/.github@e3a2a36 · GitHub
Skip to content

Commit e3a2a36

Browse files
lesnik512claude
andauthored
modern-di-aiohttp public surfaces (settings + profile/docs listing) (#33)
* docs: stage deferred modern-di-aiohttp public-surfaces bundle Ready-to-fire change (profile row + docs bullet + stack sentence + GitHub settings) with exact strings in the current post-#30 table format. Blocked until the repo is public / on PyPI; not merged until then. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: aiohttp repo settings applied; profile/docs listing still pending PyPI Repo went public before PyPI publish. Homepage + topics set (description already canonical). Profile row + docs listing held until the package is on PyPI to avoid advertising an uninstallable package / broken Downloads badge. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: list modern-di-aiohttp on profile README and docs site Add the DI-table row, docs DI bullet, and stack-sentence mention (after Starlette). Shipped ahead of PyPI per maintainer decision; the pepy Downloads badge will 404 until the package is published and pepy indexes it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: sort DI integrations alphabetically (profile, docs, MANIFEST) Order the Dependency injection integrations alphabetically across the profile table, docs DI list, and MANIFEST (modern-di first, that-depends last). aiohttp lands in its alphabetical slot; future integrations slot in without an insertion-point decision. No asset changes (render order is cosmetic). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 179c5ed commit e3a2a36

4 files changed

Lines changed: 118 additions & 8 deletions

File tree

brand/build/projects.py

Lines changed: 3 additions & 3 deletions

docs/index.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ production Python services. Use one piece or all of them — each is independent
6767
- **Wire your dependencies** with
6868
[`modern-di`](https://github.com/modern-python/modern-di) — typed, scoped
6969
dependency injection with one wiring shared across FastAPI, Litestar,
70-
Starlette, FastStream, and Typer.
70+
Starlette, aiohttp, FastStream, and Typer.
7171
([`that-depends`](https://github.com/modern-python/that-depends), its
7272
production-proven predecessor, is still maintained.)
7373
- **Call other services reliably** with
@@ -96,12 +96,13 @@ catalog below.
9696
## Dependency injection { #di }
9797

9898
- [`modern-di`](https://github.com/modern-python/modern-di) — powerful DI framework with scopes.
99+
- [`modern-di-aiohttp`](https://github.com/modern-python/modern-di-aiohttp)`modern-di` integration for aiohttp.
99100
- [`modern-di-fastapi`](https://github.com/modern-python/modern-di-fastapi)`modern-di` integration for FastAPI.
101+
- [`modern-di-faststream`](https://github.com/modern-python/modern-di-faststream)`modern-di` integration for FastStream.
100102
- [`modern-di-litestar`](https://github.com/modern-python/modern-di-litestar)`modern-di` integration for Litestar.
103+
- [`modern-di-pytest`](https://github.com/modern-python/modern-di-pytest)`modern-di` integration for pytest.
101104
- [`modern-di-starlette`](https://github.com/modern-python/modern-di-starlette)`modern-di` integration for Starlette.
102-
- [`modern-di-faststream`](https://github.com/modern-python/modern-di-faststream)`modern-di` integration for FastStream.
103105
- [`modern-di-typer`](https://github.com/modern-python/modern-di-typer)`modern-di` integration for Typer.
104-
- [`modern-di-pytest`](https://github.com/modern-python/modern-di-pytest)`modern-di` integration for pytest.
105106
- [`that-depends`](https://github.com/modern-python/that-depends) — predecessor DI framework, still actively maintained.
106107

107108
## Microservices, HTTP & messaging { #services }
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
summary: Ready-to-fire — add modern-di-aiohttp to the profile README, docs site, and its GitHub repo settings once the repo is public.
3+
---
4+
5+
# Change: modern-di-aiohttp public surfaces (deferred)
6+
7+
## Status
8+
9+
**Partially applied.** The repo went public before the package was published to
10+
PyPI. Progress so far:
11+
12+
- **GitHub repo settings — DONE.** Applied once the repo was public: description
13+
was already `modern-di integration for aiohttp`; homepage set to
14+
`https://modern-di.modern-python.org`; topics set to `python,
15+
dependency-injection, di, ioc-container, modern-di, aiohttp`. Verified via
16+
`gh repo view`.
17+
- **Profile README row + docs-site listing — DONE (shipped ahead of PyPI).**
18+
Maintainer chose to ship the listing now even though the package is not on
19+
PyPI yet (`/pypi/modern-di-aiohttp/json` → 404). Consequence: the pepy
20+
Downloads badge on the new profile row 404s until the package is published to
21+
PyPI and pepy indexes it — same self-healing lag pattern seen for
22+
`modern-di-starlette`. All other elements (repo link, Stars badge) resolve.
23+
- **DI section sorted alphabetically (folded in).** Per maintainer request, the
24+
Dependency injection integrations are now ordered alphabetically across the
25+
profile table, the docs DI list, and the `MANIFEST` (`modern-di` stays first,
26+
`that-depends` last). This supersedes the earlier "insert after Starlette"
27+
placement — `modern-di-aiohttp` now lands in its alphabetical slot. Future
28+
integrations slot in alphabetically, no insertion-point decision needed.
29+
30+
The brand mark and assets are already done and merged (bundle
31+
`2026-07-02.02-aiohttp-brand`, PR #31) — `brand/projects/modern-di-aiohttp/`
32+
exists on `main`.
33+
34+
## Precondition check (run first, all must pass)
35+
36+
```bash
37+
gh repo view modern-python/modern-di-aiohttp --json name # resolves
38+
curl -s -o /dev/null -w '%{http_code}' https://pypi.org/pypi/modern-di-aiohttp/json # 200
39+
```
40+
41+
## Edits
42+
43+
Canonical one-liner, used verbatim: **`modern-di integration for aiohttp`**
44+
(note lowercase `aiohttp`). Insert everywhere immediately **after**
45+
`modern-di-starlette` (order: fastapi -> litestar -> starlette -> aiohttp).
46+
47+
### 1. `profile/README.md` — Dependency injection table
48+
49+
Insert after the `modern-di-starlette` row. Match the current 4-column format
50+
(`| Project | What it is | Stars | Downloads |`, post-#30 — no PyPI/Context7):
51+
52+
```markdown
53+
| [`modern-di-aiohttp`](https://github.com/modern-python/modern-di-aiohttp) | modern-di integration for aiohttp | [![Stars](https://img.shields.io/github/stars/modern-python/modern-di-aiohttp)](https://github.com/modern-python/modern-di-aiohttp/stargazers) | [![Downloads](https://static.pepy.tech/badge/modern-di-aiohttp/month)](https://pepy.tech/projects/modern-di-aiohttp) |
54+
```
55+
56+
### 2. `docs/index.md` — DI list (`## Dependency injection { #di }`)
57+
58+
Insert after the `modern-di-starlette` bullet:
59+
60+
```markdown
61+
- [`modern-di-aiohttp`](https://github.com/modern-python/modern-di-aiohttp)`modern-di` integration for aiohttp.
62+
```
63+
64+
### 3. `docs/index.md` — "The stack" sentence
65+
66+
Add `aiohttp,` after `Starlette,`. Replace:
67+
68+
```
69+
dependency injection with one wiring shared across FastAPI, Litestar,
70+
Starlette, FastStream, and Typer.
71+
```
72+
73+
with:
74+
75+
```
76+
dependency injection with one wiring shared across FastAPI, Litestar,
77+
Starlette, aiohttp, FastStream, and Typer.
78+
```
79+
80+
### 4. GitHub repo settings (read-then-diff, apply only what's missing)
81+
82+
```bash
83+
gh repo view modern-python/modern-di-aiohttp --json description,homepageUrl,repositoryTopics
84+
gh repo edit modern-python/modern-di-aiohttp \
85+
--description "modern-di integration for aiohttp" \
86+
--homepage "https://modern-di.modern-python.org" \
87+
--add-topic python --add-topic dependency-injection --add-topic di \
88+
--add-topic ioc-container --add-topic modern-di --add-topic aiohttp
89+
```
90+
91+
## Verification (post-publish)
92+
93+
- `just check-planning` -> `planning: OK`; `just test` green (no code touched,
94+
but run the gate).
95+
- `grep -c modern-di-aiohttp profile/README.md` -> 1; `... docs/index.md` -> 1
96+
(the DI bullet; the stack sentence names "aiohttp", not the slug).
97+
- Badge/link resolve: `curl -sI` the Stars + Downloads badge URLs and the repo
98+
link return 200 (Downloads may lag until pepy indexes the new package — the
99+
same self-healing lag seen for modern-di-starlette; note it, do not block).
100+
- `gh repo view` reflects the intended description, homepage, and topics.
101+
- The `modern-di-aiohttp` README's brand images already resolve (assets on
102+
`main` since #31).
103+
104+
## Notes
105+
106+
Ship as one PR (this bundle finalized + the two file edits) once unblocked; the
107+
GitHub-settings step is out-of-repo and applied alongside. Independent of any
108+
other pending work.

profile/README.md

Lines changed: 3 additions & 2 deletions

0 commit comments

Comments
 (0)