Skip to content

Commit cb81d7e

Browse files
Berik AshimovBerik Ashimov
authored andcommitted
chore: move org to Hawk-API — update repository URLs
1 parent 899db9a commit cb81d7e

11 files changed

Lines changed: 69 additions & 23 deletions

File tree

.claude/PLUGIN_ROADMAP.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# HawkAPI plugin roadmap
2+
3+
Saved 2026-05-16. 12 plugins shipped: `hawkapi`, `hawkapi-sentry`, `hawkapi-otel`, `hawkapi-cache`, `hawkapi-mcp`, `hawkapi-auth`, `hawkapi-mail`, `hawkapi-sqlalchemy`, `hawkapi-celery`, `hawkapi-websockets`, `hawkapi-storage`, `hawkapi-admin`.
4+
5+
## Backlog
6+
7+
### Security / prod-infra
8+
- `hawkapi-ratelimit` — token bucket + sliding window, Redis backend
9+
- `hawkapi-csrf` — CSRF for form-flows (pairs with admin)
10+
- `hawkapi-monitoring` — Prometheus metrics endpoint (separate from OTel)
11+
12+
### API ergonomics
13+
- `hawkapi-pagination` — cursor + offset, `Page[T]` helper
14+
- `hawkapi-i18n` — gettext + Accept-Language + lazy strings
15+
- `hawkapi-sse` — Server-Sent Events (separate from websockets)
16+
17+
### Infrastructure integrations
18+
- `hawkapi-redis` — generic Redis client with DI + healthcheck
19+
- `hawkapi-mongo` — Motor wrapper + sessions in DI
20+
- `hawkapi-clickhouse` — async ClickHouse client
21+
- `hawkapi-kafka` — aiokafka consumer/producer DI
22+
- `hawkapi-search` — Meilisearch / Typesense / Elasticsearch abstraction
23+
24+
### Service patterns
25+
- `hawkapi-webhook` — outbound webhooks (retry, HMAC signing, dead-letter)
26+
- `hawkapi-cron` — simple in-process scheduler (no Celery dep)
27+
- `hawkapi-events` — outbox pattern + domain event bus
28+
- `hawkapi-cli` — manage.py-style CLI (db migrate / reset, shell, run jobs)
29+
30+
### Payments / billing
31+
- `hawkapi-payments` — Stripe + PayPal wrappers with webhook handling
32+
33+
## Top-3 to ship next
34+
35+
`hawkapi-ratelimit`, `hawkapi-cron`, `hawkapi-pagination` — highest-leverage gaps for any production API.
36+
37+
## Per-plugin checklist (locked in from prior sessions)
38+
39+
- Author identity: `Berik Ashimov <bash@Beriks-MacBook-Pro.local>`, no Co-Authored-By
40+
- ZERO mentions of Claude / Anthropic / OpenAI / assistant anywhere — grep before push
41+
- Module-level singleton registry (TestClient does not set `scope["app"]`)
42+
- `pyright` strict + `reportUnknown* = false`; relax `reportGeneralTypeIssues` for SDK-heavy code
43+
- `ruff` ignore list: `S101, S110, B008, SIM105, SIM108, SIM113`
44+
- Release workflow first run always fails (PyPI trusted publisher not yet configured); rerun + clean failed deployment after user confirms setup

.claude/worktrees/agent-a24d2354

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 4c591c96efd2e06eae9d3a7211f46521262420e7

.claude/worktrees/agent-ae80961c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 4c591c96efd2e06eae9d3a7211f46521262420e7

CHANGELOG.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -208,11 +208,11 @@ Initial release.
208208
- Health endpoint (`/healthz`), request timeout, graceful shutdown.
209209
- `py.typed`, pyright-strict clean, MkDocs site.
210210

211-
[0.1.7]: https://github.com/ashimov/HawkAPI/compare/v0.1.6...v0.1.7
212-
[0.1.6]: https://github.com/ashimov/HawkAPI/compare/v0.1.5...v0.1.6
213-
[0.1.5]: https://github.com/ashimov/HawkAPI/compare/v0.1.4...v0.1.5
214-
[0.1.4]: https://github.com/ashimov/HawkAPI/compare/v0.1.3...v0.1.4
215-
[0.1.3]: https://github.com/ashimov/HawkAPI/compare/v0.1.2...v0.1.3
216-
[0.1.2]: https://github.com/ashimov/HawkAPI/compare/v0.1.1...v0.1.2
217-
[0.1.1]: https://github.com/ashimov/HawkAPI/compare/v0.1.0...v0.1.1
218-
[0.1.0]: https://github.com/ashimov/HawkAPI/releases/tag/v0.1.0
211+
[0.1.7]: https://github.com/Hawk-API/HawkAPI/compare/v0.1.6...v0.1.7
212+
[0.1.6]: https://github.com/Hawk-API/HawkAPI/compare/v0.1.5...v0.1.6
213+
[0.1.5]: https://github.com/Hawk-API/HawkAPI/compare/v0.1.4...v0.1.5
214+
[0.1.4]: https://github.com/Hawk-API/HawkAPI/compare/v0.1.3...v0.1.4
215+
[0.1.3]: https://github.com/Hawk-API/HawkAPI/compare/v0.1.2...v0.1.3
216+
[0.1.2]: https://github.com/Hawk-API/HawkAPI/compare/v0.1.1...v0.1.2
217+
[0.1.1]: https://github.com/Hawk-API/HawkAPI/compare/v0.1.0...v0.1.1
218+
[0.1.0]: https://github.com/Hawk-API/HawkAPI/releases/tag/v0.1.0

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
</p>
88

99
<p align="center">
10-
<a href="https://github.com/ashimov/HawkAPI/actions"><img src="https://github.com/ashimov/HawkAPI/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
10+
<a href="https://github.com/Hawk-API/HawkAPI/actions"><img src="https://github.com/Hawk-API/HawkAPI/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
1111
<a href="https://pypi.org/project/hawkapi/"><img src="https://img.shields.io/pypi/v/hawkapi.svg" alt="PyPI"></a>
1212
<a href="https://pypi.org/project/hawkapi/"><img src="https://img.shields.io/pypi/pyversions/hawkapi.svg" alt="Python"></a>
13-
<a href="https://github.com/ashimov/HawkAPI/blob/main/LICENSE"><img src="https://img.shields.io/github/license/ashimov/HawkAPI.svg" alt="License"></a>
14-
<a href="https://github.com/ashimov/HawkAPI"><img src="https://img.shields.io/badge/coverage-95%25-brightgreen.svg" alt="Coverage"></a>
13+
<a href="https://github.com/Hawk-API/HawkAPI/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Hawk-API/HawkAPI.svg" alt="License"></a>
14+
<a href="https://github.com/Hawk-API/HawkAPI"><img src="https://img.shields.io/badge/coverage-95%25-brightgreen.svg" alt="Coverage"></a>
1515
<a href="https://hawkapi.ashimov.com"><img src="https://img.shields.io/badge/docs-hawkapi.ashimov.com-blue.svg" alt="Docs"></a>
1616
<a href="https://pypi.org/project/hawkapi/"><img src="https://img.shields.io/pypi/dm/hawkapi.svg" alt="Downloads"></a>
1717
<a href="benchmarks/competitive/RESULTS.md"><img src="https://img.shields.io/badge/benchmarks-6%2F6%20%F0%9F%8F%86-brightgreen.svg" alt="Benchmarks"></a>
@@ -1158,7 +1158,7 @@ python benchmarks/bench_vs_fastapi.py
11581158
## Development
11591159

11601160
```bash
1161-
git clone https://github.com/ashimov/HawkAPI.git
1161+
git clone https://github.com/Hawk-API/HawkAPI.git
11621162
cd HawkAPI
11631163
pip install -e ".[dev]"
11641164

@@ -1181,14 +1181,14 @@ Add this badge to your project's README — the version auto-refreshes from PyPI
11811181
**Markdown:**
11821182

11831183
```markdown
1184-
[![Hawk](https://img.shields.io/pypi/v/hawkapi?label=Hawk&color=D97706&style=flat&logo=data:image/svg%2Bxml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEyOC4wMDAwMDBwdCIgaGVpZ2h0PSIxMjguMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCAxMjguMDAwMDAwIDEyOC4wMDAwMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwxMjguMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJub25lIj4gPHBhdGggZD0iTTExMjMgMTEzNSBjLTM0OCAtNTUgLTU3MCAtMTQzIC03MTMgLTI4NSBsLTc1IC03NSA1MiAtMyBjNjIgLTQgOTkgMTEgMjA3IDgwIDE4OSAxMjEgMzM1IDE2OCA1NDkgMTc2IGwxMzcgNSAwIDU4IGMwIDU5IDAgNTkgLTM3IDU4IC0yMSAtMSAtNzUgLTcgLTEyMCAtMTR6Ii8+IDxwYXRoIGQ9Ik0xMTEwIDk3OCBjLTEzMiAtMjMgLTE2MiAtMzggLTc1IC0zOCA3NCAwIDY4IC02IC0zNSAtMzMgLTgzIC0yMiAtODMgLTIyIC05NCAtNjggLTE3IC02NCAtNTAgLTEwNSAtMTE0IC0xNDIgLTU2IC0zMSAtNTYgLTMxIC0yMiAtMzggMTkgLTQgNjIgLTEzIDk0IC0xOSBsNjAgLTEyIC04MCAtNzUgLTc5IC03NCA4NSA2NCBjMTEzIDg1IDI0NSAxNzAgMzQ3IDIyNCBsODMgNDUgMCA5NCBjMCAxMTEgMTQgMTA0IC0xNzAgNzJ6Ii8+IDxwYXRoIGQ9Ik03OTEgODg2IGMtMjAgLTcgLTM4IC0yMiAtNDMgLTM2IC0xMyAtMzYgLTM4IC02MCAtNjMgLTYwIC0xMiAwIC0zNyAtNSAtNTUgLTExIC0zMyAtMTIgLTMzIC0xMiAtOSAtMjUgNjUgLTM2IDE2NCAtNCAxOTggNjUgNDIgODMgMzggOTEgLTI4IDY3eiIvPiA8cGF0aCBkPSJNMTE2NSA2NjcgYy0xODQgLTEwNyAtMzAzIC0xODcgLTQ1MCAtMzA1IC03NSAtNjAgLTI0NSAtMjE2IC0yNDUgLTIyNSAwIC0yIDcxIDQzIDE1NyAxMDAgMjUyIDE2NiA0MjIgMjU2IDU4MyAzMDggMzAgOSA1OSAyMSA2MyAyNSA0IDQgNyA0MSA1IDg0IGwtMyA3NiAtMTEwIC02M3oiLz4gPHBhdGggZD0iTTMwNyA3MDEgYy03OSAtNDEgLTEwMCAtMTc3IC00MyAtMjc2IGwyOSAtNDkgMTQgMzkgYzE2IDQ4IDQ0IDc5IDEwMyAxMTcgNDkgMzEgMTk3IDgyIDI3MyA5MyAyNyA0IDQ1IDExIDQwIDE1IC04IDcgLTI4NiA2NSAtMzUxIDczIC0xOSAyIC00NyAtMyAtNjUgLTEyeiBtNTQgLTMyIGMtMTMgLTExIC0yNyAtMTcgLTMwIC0xMyAtMyAzIDUgMTQgMTggMjUgMTMgMTEgMjcgMTcgMzAgMTMgMyAtMyAtNSAtMTQgLTE4IC0yNXoiLz4gPHBhdGggZD0iTTEyMjUgNDkzIGMtMjMwIC04OSAtMzg0IC0xNjIgLTQ0MCAtMjA4IC0yMCAtMTcgLTIwIC0xNyAwIC05IDE1MCA1OCAzMTMgMTAzIDQ1OCAxMjggMzcgNyAzNyA3IDM3IDU2IDAgNTUgMSA1NCAtNTUgMzN6Ii8+IDxwYXRoIGQ9Ik00MzUgNDgwIGMtMTIgLTUgMTEgLTYgNTUgLTMgNDEgMyA3NyA3IDc5IDkgOSA4IC0xMTUgMiAtMTM0IC02eiIvPiA8L2c+IDwvc3ZnPg==)](https://github.com/ashimov/HawkAPI)
1184+
[![Hawk](https://img.shields.io/pypi/v/hawkapi?label=Hawk&color=D97706&style=flat&logo=data:image/svg%2Bxml;base64,PHN2ZyB2ZXJzaW9uPSIxLjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEyOC4wMDAwMDBwdCIgaGVpZ2h0PSIxMjguMDAwMDAwcHQiIHZpZXdCb3g9IjAgMCAxMjguMDAwMDAwIDEyOC4wMDAwMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPiA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwxMjguMDAwMDAwKSBzY2FsZSgwLjEwMDAwMCwtMC4xMDAwMDApIiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJub25lIj4gPHBhdGggZD0iTTExMjMgMTEzNSBjLTM0OCAtNTUgLTU3MCAtMTQzIC03MTMgLTI4NSBsLTc1IC03NSA1MiAtMyBjNjIgLTQgOTkgMTEgMjA3IDgwIDE4OSAxMjEgMzM1IDE2OCA1NDkgMTc2IGwxMzcgNSAwIDU4IGMwIDU5IDAgNTkgLTM3IDU4IC0yMSAtMSAtNzUgLTcgLTEyMCAtMTR6Ii8+IDxwYXRoIGQ9Ik0xMTEwIDk3OCBjLTEzMiAtMjMgLTE2MiAtMzggLTc1IC0zOCA3NCAwIDY4IC02IC0zNSAtMzMgLTgzIC0yMiAtODMgLTIyIC05NCAtNjggLTE3IC02NCAtNTAgLTEwNSAtMTE0IC0xNDIgLTU2IC0zMSAtNTYgLTMxIC0yMiAtMzggMTkgLTQgNjIgLTEzIDk0IC0xOSBsNjAgLTEyIC04MCAtNzUgLTc5IC03NCA4NSA2NCBjMTEzIDg1IDI0NSAxNzAgMzQ3IDIyNCBsODMgNDUgMCA5NCBjMCAxMTEgMTQgMTA0IC0xNzAgNzJ6Ii8+IDxwYXRoIGQ9Ik03OTEgODg2IGMtMjAgLTcgLTM4IC0yMiAtNDMgLTM2IC0xMyAtMzYgLTM4IC02MCAtNjMgLTYwIC0xMiAwIC0zNyAtNSAtNTUgLTExIC0zMyAtMTIgLTMzIC0xMiAtOSAtMjUgNjUgLTM2IDE2NCAtNCAxOTggNjUgNDIgODMgMzggOTEgLTI4IDY3eiIvPiA8cGF0aCBkPSJNMTE2NSA2NjcgYy0xODQgLTEwNyAtMzAzIC0xODcgLTQ1MCAtMzA1IC03NSAtNjAgLTI0NSAtMjE2IC0yNDUgLTIyNSAwIC0yIDcxIDQzIDE1NyAxMDAgMjUyIDE2NiA0MjIgMjU2IDU4MyAzMDggMzAgOSA1OSAyMSA2MyAyNSA0IDQgNyA0MSA1IDg0IGwtMyA3NiAtMTEwIC02M3oiLz4gPHBhdGggZD0iTTMwNyA3MDEgYy03OSAtNDEgLTEwMCAtMTc3IC00MyAtMjc2IGwyOSAtNDkgMTQgMzkgYzE2IDQ4IDQ0IDc5IDEwMyAxMTcgNDkgMzEgMTk3IDgyIDI3MyA5MyAyNyA0IDQ1IDExIDQwIDE1IC04IDcgLTI4NiA2NSAtMzUxIDczIC0xOSAyIC00NyAtMyAtNjUgLTEyeiBtNTQgLTMyIGMtMTMgLTExIC0yNyAtMTcgLTMwIC0xMyAtMyAzIDUgMTQgMTggMjUgMTMgMTEgMjcgMTcgMzAgMTMgMyAtMyAtNSAtMTQgLTE4IC0yNXoiLz4gPHBhdGggZD0iTTEyMjUgNDkzIGMtMjMwIC04OSAtMzg0IC0xNjIgLTQ0MCAtMjA4IC0yMCAtMTcgLTIwIC0xNyAwIC05IDE1MCA1OCAzMTMgMTAzIDQ1OCAxMjggMzcgNyAzNyA3IDM3IDU2IDAgNTUgMSA1NCAtNTUgMzN6Ii8+IDxwYXRoIGQ9Ik00MzUgNDgwIGMtMTIgLTUgMTEgLTYgNTUgLTMgNDEgMyA3NyA3IDc5IDkgOSA4IC0xMTUgMiAtMTM0IC02eiIvPiA8L2c+IDwvc3ZnPg==)](https://github.com/Hawk-API/HawkAPI)
11851185
```
11861186

11871187
**reStructuredText:**
11881188

11891189
```rst
11901190
.. image:: https://img.shields.io/pypi/v/hawkapi?label=Hawk&color=D97706
1191-
:target: https://github.com/ashimov/HawkAPI
1191+
:target: https://github.com/Hawk-API/HawkAPI
11921192
:alt: Hawk
11931193
```
11941194

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ If a fix takes longer than 30 days we will keep you updated and credit you in th
3737

3838
In-scope:
3939

40-
- The `hawkapi` package on PyPI and the `ashimov/HawkAPI` repository
40+
- The `hawkapi` package on PyPI and the `Hawk-API/HawkAPI` repository
4141
- The official plugins `hawkapi-sentry`, `hawkapi-otel`
4242
- All CI workflows in this repository
4343

docs/getting-started/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ pip install "hawkapi[all]"
3030
## Development Install
3131

3232
```bash
33-
git clone https://github.com/ashimov/HawkAPI.git
33+
git clone https://github.com/Hawk-API/HawkAPI.git
3434
cd hawkapi
3535
pip install -e ".[dev]"
3636
```

docs/guide/benchmarks.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
HawkAPI competes head-to-head with the top Python ASGI frameworks on six
44
standardised scenarios. Numbers are regenerated automatically every Monday
55
and on every release — see the live
6-
[`benchmarks/competitive/RESULTS.md`](https://github.com/ashimov/HawkAPI/blob/main/benchmarks/competitive/RESULTS.md).
6+
[`benchmarks/competitive/RESULTS.md`](https://github.com/Hawk-API/HawkAPI/blob/main/benchmarks/competitive/RESULTS.md).
77

88
## Methodology
99

@@ -28,7 +28,7 @@ As of 2026-04-17 (first committed snapshot), HawkAPI leads throughput on
2828
within 11 % on that scenario.
2929

3030
See
31-
[`benchmarks/competitive/RESULTS.md`](https://github.com/ashimov/HawkAPI/blob/main/benchmarks/competitive/RESULTS.md)
31+
[`benchmarks/competitive/RESULTS.md`](https://github.com/Hawk-API/HawkAPI/blob/main/benchmarks/competitive/RESULTS.md)
3232
for the full throughput + p99 latency breakdown per run.
3333

3434
## Reproducing locally

docs/guide/security.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ HawkAPI provides authentication schemes that integrate with OpenAPI.
2121
For threat-model, OWASP API Top 10 compliance map, and responsible-disclosure
2222
policy see:
2323

24-
- [`SECURITY.md`](https://github.com/ashimov/HawkAPI/blob/main/SECURITY.md) — disclosure policy
24+
- [`SECURITY.md`](https://github.com/Hawk-API/HawkAPI/blob/main/SECURITY.md) — disclosure policy
2525
- [`docs/security/threat-model.md`](../security/threat-model.md) — STRIDE per subsystem
2626
- [`docs/security/owasp-api-top10-2023.md`](../security/owasp-api-top10-2023.md) — compliance map
2727
- `hawkapi doctor app:app` — lint 18 production-readiness rules

mkdocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
site_name: HawkAPI
22
site_description: High-performance Python web framework
33
site_url: https://hawkapi.ashimov.com
4-
repo_url: https://github.com/ashimov/HawkAPI
5-
repo_name: ashimov/HawkAPI
4+
repo_url: https://github.com/Hawk-API/HawkAPI
5+
repo_name: Hawk-API/HawkAPI
66

77
theme:
88
name: material

0 commit comments

Comments
 (0)