منصوبے کے بارے میں

Dynoxide ایک DynamoDB ایمولیٹر ہے جو Rust میں نافذ کیا گیا ہے اور SQLite اس کی اسٹوریج لیئر ہے۔ اسے مقامی ڈیولپمنٹ، ٹیسٹنگ اور CI کے لیے DynamoDB Local کے ہلکے متبادل کے طور پر پیش کیا گیا ہے، اور اسے کئی طریقوں سے استعمال کیا جا سکتا ہے: ایک اسٹینڈ-alone HTTP سرور کے طور پر جو DynamoDB کے موافق API فراہم کرتا ہے، کوڈنگ ایجنٹس کے لیے MCP (Model Context Protocol) سرور کے طور پر، Rust اور iOS ایپلیکیشنز کے لیے قابلِ ایمبیڈ لائبریری کے طور پر، اور براؤزر میں استعمال کے لیے WebAssembly میں کمپائل شدہ۔ انسٹالیشن اور چلانے کے اختیارات میں npx (npx dynoxide --port 8000)، ایک npm dev dependency، ایک Docker امیج (ghcr.io/nubo-db/dynoxide) جو amazon/dynamodb-local کے ڈراپ-in متبادل کے طور پر ہے، نیز Homebrew، Cargo اور پہلے سے بنی binaries شامل ہیں۔ کوئی بھی AWS SDK یا DynamoDB کلائنٹ مقامی endpoint کی طرف اشارہ کیا جا سکتا ہے۔ ایک --log quiet فلیگ stderr پر معلوماتی اسٹارٹ اپ اور شٹ ڈاؤن پیغامات کو دبا دیتا ہے۔ README میں DynamoDB Local اور LocalStack کے مقابلے بینچ مارک موازنے شامل ہیں جن میں کولڈ اسٹارٹ اپ، GetItem latency، PutItem throughput، ٹیسٹ-suite کے رن ٹائمز، ڈاؤن لوڈ اور ڈسک پر سائز، اور idle میموری شامل ہیں۔ یہ بھی نوٹ کیا گیا ہے کہ پروجیکٹ کو Parity Suite کے ذریعے حقیقی DynamoDB کے خلاف مسلسل تصدیق کیا جاتا ہے، جو ایک عوامی DynamoDB conformance suite ہے، اور pinned snapshot کے بجائے live standings شائع کی جاتی ہیں؛ README ظاہر کرتا ہے کہ Dynoxide اور Parity Suite کا ایک ہی maintainer ہے۔ WebAssembly بلڈ کو الگ سے اسکور کیا جاتا ہے اور فی الحال دیگر targets کے مقابلے زیادہ operations چھوڑ دیتا ہے۔ معاون فعالیت میں tables، items، query اور scan، batches، transactions، PartiQL، streams، TTL اور tags شامل ہیں، ساتھ GSI اور LSI سپورٹ، expression syntax، اور DynamoDB کے موافق pagination، validation اور error codes۔ دستاویزی حدود میں غیر نافذ شدہ cloud-only operations (backups اور point-in-time restore، global tables، Kinesis streaming، resource policies، capacity management)، ConsistentRead کا قبول کیا جانا مگر بے اثر ہونا کیونکہ SQLite strongly consistent ہے، streams کا ایک ہی shard ظاہر کرنا جس میں paging parameters نظر انداز ہوتے ہیں، اور transaction-contention errors کا ایمولیٹ نہ ہونا شامل ہیں۔ پروجیکٹ واضح طور پر production استعمال کے بجائے مقامی ڈیولپمنٹ، ٹیسٹنگ اور CI کے لیے ہے۔ دستاویزات میں انسٹالیشن، HTTP سرور، Testcontainers کا استعمال، MCP سرور، DynamoDB Streams، table filtering اور anonymisation کے ساتھ ایک import CLI، WebAssembly، library embedding اور feature flags، compatibility، versioning اور releasing شامل ہیں۔ README ایک crate version (صرف Rust لائبریری) کو ایک product version سے ممتاز کرتا ہے جو binary، npm packages، container images، browser engine اور GitHub Action کا احاطہ کرتا ہے۔ Dynoxide MIT اور Apache 2.0 کے تحت dual-licensed ہے، ایک clean-room Rust implementation ہے، اور dynalite کو اپنی API semantics اور validation logic پر اثر کے طور پر تسلیم کرتا ہے۔ یہ بیان کرتا ہے کہ اس کا Amazon سے کوئی تعلق، توثیق یا اسپانسرشپ نہیں ہے۔