• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

eterna2 / kest / 24306422601
92%

Build:
DEFAULT BRANCH: main
Ran 12 Apr 2026 12:10PM UTC
Jobs 1
Files 55
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Apr 2026 12:09PM UTC coverage: 91.503% (+0.1%) from 91.385%
24306422601

push

github

web-flow
Eliminate GIL re-acquisition in sign_entry by porting LocalEd25519Provider to Rust (#35)

* perf(kest-core/rust): eliminate GIL re-acquisition in sign_entry

Implemented RustNativeIdentityProvider and RustEd25519Provider to allow
for a GIL-free signing path in the Rust backend.

- Added ed25519-dalek and rand dependencies.
- Implemented RustNativeIdentityProvider in src/lib.rs.
- Refactored sign_entry to detect native provider and use a single
  py.allow_threads block for both canonicalization and signing.
- Added RustEd25519Provider Python wrapper for high-performance use.
- Updated documentation and verified with tests.

Co-authored-by: eterna2 <1248825+eterna2@users.noreply.github.com>

* perf(kest-core/rust): eliminate GIL re-acquisition in sign_entry (Final)

Implemented RustNativeIdentityProvider and RustEd25519Provider to allow
for a GIL-free signing path in the Rust backend.

- Added ed25519-dalek and rand dependencies.
- Implemented RustNativeIdentityProvider in src/lib.rs with subclass support.
- Updated JWS header construction in Rust to include 'kid'.
- Refactored sign_entry to detect native provider and use a single
  py.allow_threads block for both canonicalization and signing.
- Added RustEd25519Provider Python wrapper inheriting from native class.
- Updated documentation and verified with tests.

Co-authored-by: eterna2 <1248825+eterna2@users.noreply.github.com>

* fix(kest-core/rust): fix RustEd25519Provider init and clean up rebase artifacts

- Fix RustEd25519Provider.__init__ to call super().__init__(private_key_bytes, principal)
  so the PyO3 Rust struct is properly initialized with the SigningKey.
  Jules had left 'pass' which caused AttributeError on first use.
- Move RustNativeIdentityProvider import to top of local.py (absolute import rule).
- Update async_wrapper comment to accurately describe asyncio.to_thread usage
  (bounded executor from #10 was intentionally reverted by this PR).
- Add LEARNINGS.md T-10: documents PyO3 su... (continued)

2983 of 3260 relevant lines covered (91.5%)

0.92 hits per line

Coverage Regressions

Lines Coverage ∆ File
32
75.88
-0.09% engine.py
8
83.94
0.12% decorators.py
3
77.05
0.0% __init__.py
2
96.15
-3.85% identity/providers/local.py
1
97.78
0.05% _core_py_test.py
1
66.67
-8.33% identity/base.py
1
95.83
0.0% identity/__init__.py
Jobs
ID Job ID Ran Files Coverage
1 24306422601.1 12 Apr 2026 12:10PM UTC 55
91.5
GitHub Action Run
Source Files on build 24306422601
  • Tree
  • List 55
  • Changed 10
  • Source Changed 0
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24306422601
  • 8a73173a on github
  • Prev Build on main (#24296652952)
  • Next Build on main (#24306641125)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc