Fix Mappy Python Bindings Compilation Issues #14
Labels
No labels
api
architecture
auth
authentication
blocked
bug
bug
chore
ci/cd
ci/cd
codec-constraints
component:blitz
component:chatter
component:entertainment
component:foodchain
component:forgejo-client
component:gatekeeper
component:mappy
component:monads
component:spiffy
deduplication
dependencies
dependencies
documentation
documentation
enhancement
enhancement
feature
feature
fix
graphics
in-progress
lang:go
lang:python
lang:rust
lang:shell
lang:toml
lang:typescript
performance
priority:critical
priority:high
priority:low
priority:medium
ready
research
resolution
review
security
technical-debt
testing
tracking
tracking
vendor
video-encoding
workgroup
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kade/forgejo-client#14
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Mappy Python Bindings Compilation Fix
Current Status
Issues Identified
Root Cause
The mappy-core API methods take
Arc<Self>by value (consuming), but the Python bindings try to call them on shared references, causing ownership violations.Required Fixes
1. Fix Arc Ownership Issues
2. Fix String Type Issues
3. Fix Engine Method Calls
Specific Methods to Fix
Maplet Methods
insert()- Arc cloning requiredquery()- Arc cloning + string ownershipdelete()- Arc cloning + value ownershipcontains()- Arc cloninglen()- Arc cloningis_empty()- Arc cloningload_factor()- Arc cloningfind_slot_for_key()- Arc cloningEngine Methods
get()- Arc cloningexists()- Arc cloningset()- Arc cloningdelete()- Arc cloningexpire()- Arc cloningttl()- Arc cloningpersist()- Arc cloningstats()- Arc cloningmemory_usage()- Arc cloningflush()- Arc cloningclose()- Arc cloningfind_slot_for_key()- Arc cloningImpact
Files to Fix
services/mappy/mappy-python/src/lib.rs- Main Python bindingsTest Plan
cargo build --package mappy-pythonfrom mappy_core import MappyCacheNext Steps
Current Workaround
Forgejo-client search works with memory-only caching:
Labels
bug, high-priority, mappy, python-bindings, rust-ownership