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

flybrain-sdk ایک alpha-stage (0.4) Python SDK ہے جو چھوٹے connectome simulations چلانے اور انہیں گیمز، آڈیو ڈیموز اور تجربات میں شامل کرنے کے لیے بنایا گیا ہے۔ یہ جان بوجھ کر CPU-first رکھا گیا ہے: اس کا ریفرنس بیک اینڈ float64 edge lists پر مبنی ایک NumPy leaky integrate-and-fire (LIF) رن ٹائم ہے، لہذا اس میں GPU یا CUDA سیٹ اپ کی ضرورت نہیں ہے۔ صرف Python 3.9+ اور NumPy رن ٹائم ضروریات ہیں، اور پیکج کو امپورٹ کرنا یا بنڈل شدہ toy model کو لوڈ کرنا آف لائن کام کرتا ہے۔ Core API: ایک سیشن FlyBrain.load("toy", backend="cpu") سے شروع ہوتا ہے، جو بنڈل شدہ ڈیٹا، مقامی ماڈل JSON پاتھ، یا ایک Connectome آبجیکٹ قبول کرتا ہے۔ وہاں سے، stimulate(name, strength, duration_ms) اگلے ٹک کے لیے ایک محدود کرنٹ پلس شیڈول کرتا ہے، step(n) simulation کے n فکسڈ ٹکس کو آگے بڑھاتا ہے اور ایک immutable فائنل اسٹیٹ واپس کرتا ہے، اور action() وقت کو آگے بڑھائے بغیر آزاد موٹر شدتوں (motor intensities) کو پڑھتا ہے۔ save()/restore() ایک چیک پوائنٹ لکھتے اور دوبارہ لوڈ کرتے ہیں جس میں ماڈل، کنفیگ، ڈائنامکس اور زیر التواء stimuli شامل ہوتے ہیں؛ advance(duration_ms=...) ایک دورانیہ پر مبنی ورژن فراہم کرتا ہے۔ ٹوائے سینسری چینلز food, looming_left, looming_right اور touch ہیں؛ موٹر چینلز walk, turn_left, turn_right اور jump ہیں، جن میں سے ہر ایک 0 اور 1 کے درمیان ہے اور انہیں احتمالات یا پیمائش شدہ ویلو سٹی کے بجائے heuristic کنٹرول ویلیوز کے طور پر بیان کیا گیا ہے۔ گیم موومنٹ اور رینڈرنگ ہوسٹ ایپلی کیشن پر چھوڑ دی گئی ہے۔ Backends: صرف cpu نافذ ہے۔ wasm اور cuda کے نام ریزروڈ انٹرفیس کے طور پر موجود ہیں جو BackendUnavailableError پیدا کرتے ہیں؛ پروجیکٹ واضح کرتا ہے کہ CUDA اور WASM نافذ شدہ رن ٹائمز نہیں ہیں۔ Models: بنڈل شدہ آف لائن ڈیمو ایک ہاتھ سے تیار کردہ 12-نیورون سرکٹ ہے۔ ایک علیحدہ تقریباً 3.8 MB کا MaleCNS ماڈل (male-cns-escape-v1) 313 حقیقی سورس نیورونز اور 20,607 اناٹومیکل ایجز کو واضح طور پر فرض کردہ LIF پیرامیٹرز کے ساتھ چلاتا ہے، جس کی دستاویز ایک ماڈل کارڈ میں موجود ہے۔ ایک آف لائن کیٹلاگ کو list_models() اور model_info() کے ذریعے دیکھا جا سکتا ہے؛ fetch_model() ایک واضح نیٹ ورک ریکویسٹ کرتا ہے، اثاثوں کو مقامی طور پر کیش کرتا ہے اور فائل پاتھز واپس کرتا ہے۔ CLI کے متبادل میں "python -m flybrain models list|info|download" شامل ہیں۔ حیاتیاتی ماڈلز کے لیے واضح download=True فلیگ کی ضرورت ہوتی ہے۔ وہیل (wheel) میں کوئی بڑا ماڈل شامل نہیں ہے، اور خام Feather/NPY اثاثوں کو ابھی تک براہ راست FlyBrain.load() میں پاس نہیں کیا جا سکتا۔ Readouts and interventions: صارفین نیورون پاپولیشنز (مثلاً cell_type کے ذریعے) منتخب کر سکتے ہیں، rates_hz جیسے فیلڈز کا مشاہدہ کر سکتے ہیں، گروپس کو کسٹم ریڈ آؤٹ نام دے سکتے ہیں، منتخب خلیوں کو مخصوص ایمپلی ٹیوڈ، دورانیہ اور یونٹس کے کرنٹ سے چلا سکتے ہیں، اور ایک intervention لیئر کے ذریعے گروپس کو خاموش (silence) کر سکتے ہیں جسے بعد میں ریلیز کیا جا سکتا ہے۔ open_circuit مثال اور MaleCNS ری پروڈکشن گائیڈ اس ورک فلو کو ظاہر کرتے ہیں۔ Demo kits and browser tools: ایک Session لوپ تبدیل可能な فیچر انکوڈرز، ریٹ ریڈ آؤٹس اور ماحول کے ساتھ ساتھ چیک پوائنٹس اور تصدیق شدہ فیڈ بیک ری پلے کو سپورٹ کرتا ہے۔ "python examples/demo_session.py dodge" اور "... tones" ریکارڈنگز، چیک پوائنٹس اور اسٹینڈ الون پلے بیک HTML تیار کرتے ہیں، جبکہ tones ٹیمپلیٹ WAV بھی ایکسپورٹ کرتا ہے۔ ایک براؤزر سرکٹ لیب لائیو چلتی ہے، جس سے وزیٹرز ٹوائے یا حقیقی خلیوں کو اسٹیمولیٹ کر سکتے ہیں، آؤٹ پٹس کو خاموش کر سکتے ہیں، ریٹس کا معائنہ کر سکتے ہیں اور ایک ایڈیٹیبل HTML ڈیمو ڈاؤن لوڈ کر سکتے ہیں؛ گیلری ویورز ریکارڈ شدہ Python رنز کو ری پلے کرتے ہیں۔ ریپوزٹری میں ایک TypeScript CPU رن ٹائم پیکج بھی موجود ہے۔ Installation and build: یہ پیکج PyPI پر شائع نہیں ہے، اس لیے انسٹالیشن GitHub سے (pip install "flybrain-sdk @ git+https://github.com/freeman-1984-coder/flybrain-sdk.git") یا کلون کے ذریعے pip install -e . سے کی جاتی ہے، اختیاری طور پر pytest کے لیے dev extra کے ساتھ۔ ڈسٹری بیوشن آرٹفیکٹس python -m build کے ذریعے تیار کیے جاتے ہیں اور twine check سے چیک کیے جاتے ہیں۔ Scope and honesty notes: مصنفین اس SDK کو تجربات کے لیے پلمبنگ کے طور پر بیان کرتے ہیں، نہ کہ مکھی کی تصدیق شدہ نقل (emulation) کے طور پر: صرف وائرنگ سے فزیولوجیکل پیرامیٹرز، ریسیپٹر اثرات، سینسری انکوڈنگ، موٹر ڈی کوڈنگ، جسم یا سیکھنے کا تعین نہیں ہوتا، اور ڈیمو میں کوئی پلاسٹیسیٹی، مورفولوجی، حقیقت پسندانہ بصارت یا اخذ کردہ حیاتیاتی رویہ نہیں ہے۔ پورے دماغ کی ریئل ٹائم CPU کارکردگی ابھی تک قائم نہیں کی گئی ہے۔ کوڈ اور اصل ٹوائے ڈیٹا MIT-لائسنسڈ ہیں؛ تھرڈ پارٹی ڈیٹا سیٹس اپنے لائسنس اور حوالہ جات کی ضروریات برقرار رکھتے ہیں۔ پروجیکٹ بیان کرتا ہے کہ یہ Janelia, FlyWire, Google یا ڈیٹا سیٹ کے مصنفین سے آزاد ہے اور ان سے وابستہ نہیں ہے۔ تعاون کے شعبوں میں لائسنس اور انٹیگریٹی میٹا ڈیٹا کے ساتھ ورژن شدہ ماڈل ذرائع، FlyWire امپورٹرز، Godot/Unity اڈاپٹرز اور ریفرنس ڈائنامکس کا WASM پورٹ شامل ہیں۔