Python Gateway αž“αŸ… InterSystems IRIS

αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž‚αžΊαž’αŸ†αž–αžΈ Python Gateway αžŠαŸ‚αž›αž‡αžΆαž‚αž˜αŸ’αžšαŸ„αž„αžŸαž αž‚αž˜αž“αŸαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαŸαž‘αž·αž€αžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™ InterSystems IRIS αŸ” αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžšαŸ€αž”αž…αŸ†αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž€αŸ’αž“αž»αž„ Python (αž”αžšαž·αž™αžΆαž€αžΆαžŸαž…αž˜αŸ’αž”αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž…αŸ’αžšαžΎαž“) αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž…αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ AI / ML αžŠαŸ‚αž›αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž› αž“αž·αž„αžœαž·αž—αžΆαž‚αžŠαŸ„αž™αž˜αž“αž»αžŸαŸ’αžŸαž™αž“αŸ’αžαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆ InterSystems IRIS αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αž’αŸ’αž“αž€αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž› InterSystems IRIS αž’αžΆαž…αžšαŸ€αž”αž…αŸ†αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Python αž’αŸ’αžœαžΎαž€αžΆαžšαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž–αžΈαžšαž•αŸ’αž›αžΌαžœαž”αŸ’αžšαž€αž”αžŠαŸ„αž™αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– αž“αž·αž„αž”αž„αŸ’αž€αžΎαžαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž†αŸ’αž›αžΆαžαžœαŸƒαŸ”

αž•αŸ‚αž“αž€αžΆαžš

  1. αžŸαŸαž…αž€αŸ’αžαžΈαžŽαŸ‚αž“αžΆαŸ†αŸ”
  2. αž§αž”αž€αžšαžŽαŸαŸ”
  3. αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„
  4. API αŸ”
  5. αž’αž“αŸ’αžαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ”
  6. αžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆ Jupyter αŸ”
  7. αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“αŸ”
  8. αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αŸ”
  9. αž€αž‰αŸ’αž…αž”αŸ‹αž§αž”αž€αžšαžŽαŸ M.L.

αžŸαŸαž…αž€αŸ’αžαžΈαžŽαŸ‚αž“αžΆαŸ†

Python αž‚αžΊαž‡αžΆαž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αž‚αŸ„αž›αž”αŸ†αžŽαž„αž‘αžΌαž‘αŸ…αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹ αžŠαŸ‚αž›αž•αŸ’αžαŸ„αžαž›αžΎαž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž•αž›αž·αžαž—αžΆαž–αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž€αžΆαžšαž’αžΆαž“αž€αžΌαžŠαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αžŸαŸŠαŸαžšαžΈαž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž—αžΆαžŸαžΆ Python αž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆ InterSystems IRIS αžαžŽαŸˆαžŠαŸ‚αž›αž€αžΆαžšαž•αŸ’αžαŸ„αžαžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž‚αžΊαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Python αž‡αžΆαž—αžΆαžŸαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αž’αž“αž»αžœαžαŸ’αžαž˜αŸ‰αžΌαžŠαŸ‚αž›αžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ”

αž€αžΆαžšαžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ (ML) αž‚αžΊαž‡αžΆαžαŸ’αž“αžΆαž€αŸ‹αž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž”αž‰αŸ’αž‰αžΆαžŸαž·αž”αŸ’αž”αž“αž·αž˜αž·αžαŸ’αž αž›αž€αŸ’αžαžŽαŸˆαžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸƒαž”αž‰αŸ’αž αžΆαž“αŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αžΆαžšαžšαŸ€αž“αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”

αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ αž“αž·αž„αž‚αŸ†αžšαžΌαž“αŸƒαž€αžΆαžšαžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž€αŸ†αž–αž»αž„αž€αŸ’αž›αžΆαž™αž‡αžΆαžšαžΏαž„αž‘αžΌαž‘αŸ…αŸ” αž˜αžΆαž“αž αŸαžαž»αž•αž›αž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αžΊαž€αžΎαžαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰ αž“αž·αž„αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αžΌαžœαž›αž‘αŸ’αž’αž•αž›αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αŸ” αžαžΎαž€αžΆαžšαž’αŸ’αžœαžΎαž…αž„αŸ’αž€αŸ„αž˜ αž¬αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž”αžŽαŸ’αžαžΆαž‰αžŸαžšαžŸαŸƒαž”αŸ’αžšαžŸαžΆαž‘αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌαžαžΆαž˜αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαžαŸ’αž˜αžΈαž˜αŸ‚αž“αž‘αŸ?

αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž˜αž·αž“αž˜αŸ‚αž“αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαž–αŸ’αžœαžαŸ’αž„αŸƒαž“αŸαŸ‡ αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαžšαžŸαŸαžšαž€αžΌαžŠαžšαžΆαž”αŸ‹αžšαž™αžšαžΆαž”αŸ‹αž–αžΆαž“αŸ‹αž”αž“αŸ’αž‘αžΆαžαŸ‹ αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‚αŸ†αžšαžΌαž˜αž½αž™αž“αŸ„αŸ‡αž‘αŸ αž αžΎαž™αž€αžΆαžšαž…αŸ†αžŽαžΆαž™αž›αžΎαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž αž“αž·αž„αž’αž“αž»αžœαžαŸ’αžαž‚αŸ†αžšαžΌαž€αžΆαž“αŸ‹αžαŸ‚αžαžΌαž…αž‘αŸ…αŸ—αŸ”

αž§αž”αž€αžšαžŽαŸαž€αŸ†αž–αž»αž„αžœαž·αžœαžŒαŸ’αž - αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž˜αž·αž“αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸ AI/ML αžαž˜αŸ’αžšαž„αŸ‹αž‘αž·αžŸ GUI αž–αŸαž‰αž›αŸαž‰ αžœαžŒαŸ’αžαž“αž—αžΆαž–αžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αžƒαžΎαž‰αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαŸ’αž“αžΆαž€αŸ‹αž•αŸ’αžŸαŸαž„αŸ—αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž–αŸαžαŸŒαž˜αžΆαž“αžŠαžΌαž…αž‡αžΆ BI (αž–αžΈαž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αžΌαžŠαžšαž αžΌαžαžŠαž›αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒ αž“αž·αž„αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαžΆαž˜ GUI) αž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αž•αž„αžŠαŸ‚αžšαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαž”αž„αŸ’αž€αžΎαž AI/ML αŸ” αž™αžΎαž„αž”αžΆαž“αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸƒαž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αžΌαžŠαžšαž½αž…αž αžΎαž™ αž αžΎαž™αžαŸ’αž„αŸƒαž“αŸαŸ‡αž™αžΎαž„αž”αŸ’αžšαžΎαž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹ αž“αž·αž„αž‚αŸ†αžšαžΌαž”αžŽαŸ’αžαž»αŸ‡αž”αžŽαŸ’αžαžΆαž›αŸ”

αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžŠαžΌαž…αž‡αžΆαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž‚αŸ†αžšαžΌαžŠαŸ‚αž›αž”αžΆαž“αž”αžŽαŸ’αžαž»αŸ‡αž”αžŽαŸ’αžαžΆαž›αž‡αžΆαž˜αž»αž“ αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αž‰αŸ’αž…αž”αŸ‹αž€αžΆαžšαž”αžŽαŸ’αžαž»αŸ‡αž”αžŽαŸ’αžαžΆαž›αž‚αŸ†αžšαžΌαž›αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αž€αŸαž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαžšαŸ€αž“αžαžΆαž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αž„αžŠαŸ‚αžšαŸ” αž—αžΆαž–αž‡αžΏαž“αž›αžΏαž“αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαŸ€αž“ machine learning αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αžΆαŸ†αž„αž’αŸ’αž“αž€αž‡αŸ†αž“αžΆαž‰ αž“αž·αž„αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αž‡αžΆαž‘αžΌαž‘αŸ…αŸ”

αž˜αŸ’αž™αŸ‰αžΆαž„αžœαž·αž‰αž‘αŸ€αž αž™αžΎαž„αž”αŸ’αžšαž˜αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž‘αžΎαž„αŸ” αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžœαŸαž‘αž·αž€αžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž„αŸ’αžšαž½αž”αž”αž„αŸ’αžšαž½αž˜αžŠαžΌαž…αž‡αžΆ InterSystems IRIS αž–αŸαžαŸŒαž˜αžΆαž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αž—αŸ’αž›αžΆαž˜αŸ— αž“αž·αž„αž”αŸ’αžšαžΎαž‡αžΆαž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΌαžŠαŸ‚αž›αžŸαž·αž€αŸ’αžŸαžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ”

αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž€αžΆαž“αŸ‹αž–αž–αž€ αž€αžΆαžšαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‚αž˜αŸ’αžšαŸ„αž„ AI/ML αž‚αžΊαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‡αžΆαž„αž–αŸαž›αžŽαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” αž™αžΎαž„αž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“αžŠαŸ‚αž›αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αžŠαŸ„αž™αžŸαžΆαžšαž—αžΆαž–αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αžŠαŸ„αž™αžœαŸαž‘αž·αž€αžΆαž–αž–αž€ αž™αžΎαž„αž’αžΆαž…αžŸαž“αŸ’αžŸαŸ†αžŸαŸ†αž…αŸƒαž–αŸαž›αžœαŸαž›αžΆαžŠαŸ‚αž›αžαŸ’αž‡αŸ‡αžαŸ’αž‡αžΆαž™αŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž…αž»αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž…αŸ†αž–αŸ„αŸ‡αž›αž‘αŸ’αž’αž•αž›? αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž’αŸ’αžœαžΈαŸ—αž€αžΆαž“αŸ‹αžαŸ‚αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αŸ” αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αž‚αŸ†αžšαžΌαžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ” αž€αžΆαžšβ€‹αž€αžŸαžΆαž„β€‹αž‚αŸ†αžšαžΌβ€‹αž›αŸ’αž’β€‹αž˜αž·αž“β€‹αž˜αŸ‚αž“β€‹αž‡αžΆβ€‹αž€αžΆαžšβ€‹αž„αžΆαž™β€‹αžŸαŸ’αžšαž½αž›β€‹αž“αŸ„αŸ‡β€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžαžΎβ€‹αž’αŸ’αžœαžΈβ€‹αž‘αŸ…β€‹αž‘αŸ€αž? αž€αžΆαžšαžšαž€αž”αŸ’αžšαžΆαž€αŸ‹αž…αŸ†αžŽαŸαž‰αž–αžΈαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‚αŸ†αžšαžΌαžŠαŸ„αž™αž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž€αŸαž‡αžΆαž€αž·αž…αŸ’αž…αž€αžΆαžšαž˜αž·αž“αžŸαŸ†αžαžΆαž“αŸ‹αžŠαŸ‚αžšαŸ” αž«αžŸαž‚αž›αŸ‹αž“αŸƒαž”αž‰αŸ’αž αžΆαž‚αžΊαž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαžœαž·αž—αžΆαž‚ αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž“αž·αž„αž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž™αžΎαž„αž”αžŽαŸ’αžαž»αŸ‡αž”αžŽαŸ’αžαžΆαž›αž‚αŸ†αžšαžΌαž˜αž½αž™ αž™αžΎαž„αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž’αŸ’αžœαžΎαžœαžΆαž“αŸ…αž›αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžšαŸ’αžαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž“αŸ’αž›αŸ‚αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ†αžšαžΌαžŠαŸ‚αž›αž”αžΆαž“αžŸαžΆαž„αžŸαž„αŸ‹αž‚αžΊαžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αžαžΎβ€‹αž‚αŸ†αžšαžΌβ€‹αžšαž€β€‹αžƒαžΎαž‰β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹αž€αŸ’αž›αŸ‚αž„β€‹αž”αž“αŸ’αž›αŸ†β€‹αž›αŸ’αž’β€‹αž”αŸ†αž•αž»αžβ€‹αž˜αž½αž™β€‹αžŽαžΆβ€‹αž”αžΎβ€‹αž™αžΎαž„β€‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšβ€‹αžœαžΆβ€‹αž˜αŸ’αžαž„β€‹αž€αŸ’αž“αž»αž„β€‹αž˜αž½αž™β€‹αžαŸ’αž„αŸƒ? αž’αŸ’αž“αž€αž”αŸ„αž€αž”αŸ’αžšαžΆαžŸαŸ‹αž”αžΆαž“αž‘αž»αž€αž›αž»αž™αž™αžΌαžšαž˜αž€αž αžΎαž™αŸ” αž™αžΎαž„αžαŸ’αžšαžΌαžœαž”αžŽαŸ’αžαž»αŸ‡αž”αžŽαŸ’αžαžΆαž›αž‚αŸ†αžšαžΌαž›αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžšαŸ’αž αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž€αŸαžαŸ’αžšαžΌαžœαž’αž“αž»αžœαžαŸ’αžαžœαžΆαž€αŸ’αž“αž»αž„αž–αŸαž›αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž›αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αžΌαž›αžαŸ’αž˜αžΈ αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αž™αžΎαž„αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαžΆαž˜αž€αžΆαžšαž–αŸ’αž™αžΆαž€αžšαžŽαŸαžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αžŠαŸ„αž™αž‚αŸ†αžšαžΌαŸ”

ML Toolkit αž‚αžΊαž‡αžΆαž€αž‰αŸ’αž…αž”αŸ‹αž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸ„αŸ‡αŸ– αž€αžΆαžšαž“αžΆαŸ†αž™αž€αž‚αŸ†αžšαžΌαžšαž½αž˜αž‚αŸ’αž“αžΆ αž“αž·αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‚αŸ†αžšαžΌαžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžΆαž“αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Python Gateway αž‚αžΊαž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒ ML Toolkit αž“αž·αž„αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž˜αž½αž™αž—αžΆαžŸαžΆ Python (αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„ R Gateway αžŠαŸ‚αž›αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒ ML Toolkit αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž˜αž½αž™αž—αžΆαžŸαžΆ R)αŸ”

αž”αŸ’αžšαž’αž”αŸ‹αž§αž”αž€αžšαžŽαŸ

αž˜αž»αž“αž–αŸαž›αž™αžΎαž„αž”αž“αŸ’αž αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αžšαŸ€αž”αžšαžΆαž”αŸ‹αž’αŸ†αž–αžΈαž§αž”αž€αžšαžŽαŸ αž“αž·αž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž–αŸαž›αž€αŸ’αžšαŸ„αž™αŸ”

αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ

  • Python αž‚αžΊβ€‹αž‡αžΆβ€‹αž—αžΆαžŸαžΆβ€‹αžŸαžšαžŸαŸαžšβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž€αž˜αŸ’αžšαž·αžβ€‹αžαŸ’αž–αžŸαŸ‹β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž‚αŸ„αž›β€‹αž”αŸ†αžŽαž„β€‹αž‘αžΌαž‘αŸ…αŸ” αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž…αž˜αŸ’αž”αž„αž“αŸƒαž—αžΆαžŸαžΆαž‚αžΊαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŠαŸαž’αŸ†αž“αŸƒαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž‚αžŽαž·αžαžœαž·αž‘αŸ’αž™αžΆ ML αž“αž·αž„ AI αŸ” αžŠαžΌαž… ObjectScript αžœαžΆαž‡αžΆαž—αžΆαžŸαžΆαžŠαŸ‚αž›αžαž˜αŸ’αžšαž„αŸ‹αž‘αž·αžŸαžœαžαŸ’αžαž» αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžαžΆαž˜αžœαž“αŸ’αž αž˜αž·αž“αž˜αŸ‚αž“αž‹αž·αžαž·αžœαž“αŸ’αžαž‘αŸαŸ” αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž‡αžΆαžœαžαŸ’αžαž»αž˜αž½αž™αŸ” αž’αžαŸ’αžαž”αž‘αž€αŸ’αžšαŸ„αž™αŸ—αž˜αž€αžŸαž“αŸ’αž˜αžαŸ‹αžαžΆαžŸαŸ’αž‚αžΆαž›αŸ‹αž—αžΆαžŸαžΆαžŠαŸ‚αž›αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžšαŸ€αž“αžαŸ’αž‰αž»αŸ†αžŸαžΌαž˜αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ αž―αž€αžŸαžΆαžš.
  • αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αŸ†αž αžΆαžαŸ‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„ αž€αŸ†αžŽαžαŸ‹ Python 3.6.7 64 αž”αŸŠαžΈαž.
  • IDE: αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαžΎ PyCharmαž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž‘αžΌαž‘αŸ… ΠΌΠ½ΠΎΠ³ΠΎ. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎ Atelier αž˜αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™ Eclipse αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ Python αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎ VS Code αž“αŸ„αŸ‡αž˜αžΆαž“αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Python αŸ”
  • αžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαŸ– αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ IDE αž’αŸ’αž“αž€αž’αžΆαž…αžŸαžšαžŸαŸαžš αž“αž·αž„αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαŸ” αž€αžΆαžšαž–αŸαž‰αž“αž·αž™αž˜αž”αŸ†αž•αž»αžαž“αŸƒαž–αž½αž€αž‚αŸαž‚αžΊ αž‡αž·αž”.

αž”αžŽαŸ’αžŽαžΆαž›αŸαž™

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αž‰αŸ’αž‡αžΈ (αžŠαŸ„αž™αž•αŸ’αž“αŸ‚αž€) αž“αŸƒαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŸαž·αž€αŸ’αžŸαžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ–

  • αžŽαž»αž€αžŒαžΈ - αž€αž‰αŸ’αž…αž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αžŽαž“αžΆαž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαŸ”
  • αž•αŸαž“αžŠαžΆαžŸ - αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžαŸ’αž–αžŸαŸ‹ αž“αž·αž„αž§αž”αž€αžšαžŽαŸαžœαž·αž—αžΆαž‚αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”
  • αž˜αŸ‰αžΆαžαŸ‹αž•αŸ’αž›αžΌαž›αžΈαž” - αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‚αŸ†αž“αžΌαžŸαžαžΆαž„αŸ”
  • αžŸαŸαž”αžΆαž“ - αž€αžΆαžšαž˜αžΎαž›αžƒαžΎαž‰αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎ matplotlib αŸ”
  • Sklearn - αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ”
  • XGBoost β€” αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž”αž„αŸ’αž€αžΎαž“αž‡αž˜αŸ’αžšαžΆαž›αŸ”
  • Gensim - NLP αŸ”
  • αž€αŸαžšαŸ‰αžΆαžŸ - αž”αžŽαŸ’αžαžΆαž‰αžŸαžšαžŸαŸƒαž”αŸ’αžšαžŸαžΆαž‘αŸ”
  • αž—αžΆαž–αžαžΆαž“αžαžΉαž„ αž‚αžΊαž‡αžΆαžœαŸαž‘αž·αž€αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž‚αŸ†αžšαžΌαžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αŸ”
  • αž—αžΈαž’αŸαžš αž‚αžΊαž‡αžΆαžœαŸαž‘αž·αž€αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž‚αŸ†αžšαžΌαžŸαž·αž€αŸ’αžŸαžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αžαŸ„αžαž›αžΎ Python αŸ”
  • αž“αžΈαž€αžΆ - PMML αž–αžΈαž˜αŸ‰αžΌαžŠαŸ‚αž›αž•αŸ’αžŸαŸαž„αŸ—αŸ”

αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ AI/ML αž’αŸ’αžœαžΎαž±αŸ’αž™αž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– αž“αž·αž„αž’αžΆαž…αžŸαž˜αŸ’αžšαž”αžαŸ’αž›αž½αž“αž”αžΆαž“αŸ” αž‡αžΆαž„αž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αžŸαž–αŸ’αžœαžαŸ’αž„αŸƒαž“αŸαŸ‡ αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž’αž“αž»αžœαžαŸ’αžαŸ” αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαž·αž€αŸ’αžŸαžΆαž’αŸ†αž–αžΈαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ AI/ML αž“αž·αž„αžšαž”αŸ€αž”αžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž’αžΆαž…αž‡αž½αž™αž±αŸ’αž™αžŸαŸ’αžαžΆαž”αŸαž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžšαžΈαž€αž…αž˜αŸ’αžšαžΎαž“αŸ”

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹

αž˜αžΆαž“αžœαž·αž’αžΈαž‡αžΆαž…αŸ’αžšαžΎαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Python GatewayαŸ–

  • αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ”
    • αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš Windows
    • Linux
    • αžšαž”αžŸαŸ‹ Mac
  • Dockers
    • αž”αŸ’αžšαžΎαžšαžΌαž”αž—αžΆαž–αž–αžΈ DockerHub
    • αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαžœαž·αž’αžΈαžŠαŸ†αž‘αžΎαž„αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΌαžŠαž”αŸ’αžšαž—αž–αŸ” αž€αž“αŸ’αž›αŸ‚αž„αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž‘αžΆαž‰αž™αž€αž€αžΌαžŠαž‚αžΊ αž‘αŸ†αž–αŸαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™. αžœαžΆβ€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž…αŸαž‰β€‹αž•αŸ’αžŸαžΆαž™β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αžŸαŸ’αžαž·αžšαž—αžΆαž–β€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αžŸαžΆαž€αž›αŸ’αž”αž„β€‹αžŠαŸ„αž™β€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž…αžΆαž”αŸ‹β€‹αž™αž€β€‹αž€αŸ†αžŽαŸ‚β€‹αž…αž»αž„αž€αŸ’αžšαŸ„αž™β€‹αž”αŸ†αž•αž»αžβ€‹αŸ” αž“αŸ…αž–αŸαž›αž“αŸαŸ‡αžœαžΆαž‚αžΊ 0.8 αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΌαžš αŸ— αž‘αŸ…αžœαžΆαž“αžΉαž„αž˜αžΆαž“αžαŸ’αž˜αžΈαŸ” αž€αž»αŸ†αž€αŸ’αž›αžΌαž“/αž‘αžΆαž‰αž™αž€αžƒαŸ’αž›αžΆαŸ†αž„ αž‘αžΆαž‰αž™αž€αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαŸ”

αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αžŠαŸ†αž‘αžΎαž„ Python Gateway αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžŠαŸ†αž”αžΌαž„ (αžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš) αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαžŠαŸ†αž‘αžΎαž„ Python αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž€αžΆαžšβ€‹αž“αŸαŸ‡:

  1. αžŠαŸ†αž‘αžΎαž„ Python 3.6.7 64 αž”αŸŠαžΈαž. αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αžŠαŸ†αž‘αžΎαž„ Python αž“αŸ…αž€αŸ’αž“αž»αž„αžαžαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ”
  2. αžŠαŸ†αž‘αžΎαž„αž˜αŸ‰αžΌαžŒαž»αž› dill: pip install dill.
  3. αž‘αžΆαž‰αž™αž€αž€αžΌαžŠ ObjectScript (ឧ. do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)) αž‘αŸ…αžαŸ†αž”αž“αŸ‹αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž˜αžΆαž“αž•αž›αž·αžαž•αž›αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αž„αŸ‹αž”αžΆαž“αžαŸ†αž”αž“αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž‚αžΆαŸ†αž‘αŸ’αžšαž•αž›αž·αžαž•αž› αžŸαžΌαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ– write ##class(%EnsembleMgr).EnableNamespace($Namespace, 1).
  4. αž‘αžΈαž€αž“αŸ’αž›αŸ‚αž„ αž αŸ…αž…αŸαž‰ DLL/SO/DYLIB αž‘αŸ…αžαž bin αž§αž‘αžΆαž αžšαžŽαŸ InterSystems IRIS αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž―αž€αžŸαžΆαžšαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž›αžΌαžœαžŠαŸ‚αž›αžαŸ’αžšαž‘αž”αŸ‹αžŠαŸ„αž™ write ##class(isc.py.Callout).GetLib().

αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš Windows

  1. αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž”αžšαž·αžŸαŸ’αžαžΆαž“αž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž› PYTHONHOME αž…αž„αŸ’αž’αž»αž›αž‘αŸ… Python 3.6.7 αŸ”
  2. αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αžΊ PATH αž˜αžΆαž“αž’αžαŸαžš PYTHONHOME (αž¬αžαžαžŠαŸ‚αž›αžœαžΆαž…αž„αŸ’αž’αž»αž›αž‘αŸ…) αŸ”

αž›αžΈαž“αž»αž… (αžŠαŸαž”αŸ€αž“/αž’αŸŠαžΌαž”αŸŠαž»αž“αž‘αžΌ)

  1. αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž”αžšαž·αžŸαŸ’αžαžΆαž“αž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž›αž¬αž’αžαŸ‹ PATH αž˜αžΆαž“ /usr/lib ΠΈ /usr/lib/x86_64-linux-gnu. αž”αŸ’αžšαžΎαž―αž€αžŸαžΆαžš /etc/environment αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“αŸ”
  2. αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αžΆαž“αž€αŸ†αž αž»αžŸ undefined symbol: _Py_TrueStruct αž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ PythonLib. αž•αž„αžŠαŸ‚αžšαž“αŸ…αž€αŸ’αž“αž»αž„ αž’αžΆαž“ αž˜αžΆαž“αž•αŸ’αž“αŸ‚αž€αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαŸ”

αžšαž”αžŸαŸ‹ Mac

  1. αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž˜αžΆαž“αžαŸ‚ python 3.6.7 αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž–αžΈ python.org. αž–αž·αž“αž·αžαŸ’αž™αž’αžαŸαžš PATH.

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“ αžŸαžΌαž˜αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž•αž›αž·αžαž•αž› InterSystems αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αžΎαž„αžœαž·αž‰αŸ”

Dockers

αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž»αž„αž˜αžΆαž“αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ–

  • αž™αž½αžšαžαžΆαž˜αžαŸ’αž›αž½αž“
  • αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž·αž—αžΆαž–
  • αž’αŸŠαžΈαžŸαžΌαž‘αž„αŸ‹
  • αž–αž“αŸ’αž›αžΊ
  • αž—αžΆαž–αž˜αž·αž“αž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž›

αžŸαžΌαž˜αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžšαžΏαž„αž“αŸαŸ‡ αžŸαŸŠαŸαžšαžΈαž“αŸƒαž’αžαŸ’αžαž”αž‘ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαŸ’αžαžΈαž–αžΈαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Docker αž‡αžΆαž˜αž½αž™αž•αž›αž·αžαž•αž› InterSystemsαŸ”

αžšαžΆαž›αŸ‹αž€αžΆαžšαžŸαŸ’αžαžΆαž”αž“αžΆ Python Gateway αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž‚αžΊαž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αž»αž„αžαžΊαž“αŸαžšαŸ” 2019.4.

αžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹

αžšαžαŸ‹αŸ– docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latestαžŠαžΎαž˜αŸ’αž”αžΈαž‘αžΆαž‰αž™αž€ αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Python Gateway αž‡αžΆαž˜αž½αž™ InterSystems IRIS Community EditionαŸ” αž’αžŸαŸ‹αž αžΎαž™αŸ”

αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž–αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž—αžΆαž– docker αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ root αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αŸ– docker build --force-rm --tag intersystemscommunity/irispy:latest ..
αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αžšαžΌαž”αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžšαžΌαž”αž—αžΆαž– store/intersystems/iris-community:2019.4.0.383.0αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž’αŸ’αž“αž€αž’αžΆαž…αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžœαžΆαž”αžΆαž“αžŠαŸ„αž™αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αžαŸαžš IMAGE.
αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžΆαž„αžŸαž„αŸ‹αž–αžΈ InterSystems IRIS αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ– `docker build --build-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy:latest'αŸ”

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαžΌαž”αž—αžΆαž– dockerαŸ–

docker run -d 
  -p 52773:52773 
  -v /<HOST-DIR-WITH-iris.key>/:/mount 
  --name irispy 
  intersystemscommunity/irispy:latest 
  --key /mount/iris.key

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎαžšαžΌαž”αž—αžΆαž–αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ InterSystems IRIS Community Edition αž’αŸ’αž“αž€αž’αžΆαž…αž‘αž»αž€αžŸαŸ„αŸ”

αž™αŸ„αž”αž›αŸ‹

  • αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„ isc.py.test.Process αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžšαžΌαž”αž—αžΆαž–αž˜αž½αž™αž…αŸ†αž“αž½αž“αž‘αŸ…αž€αŸ’αž“αž»αž„αžαžαž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αŸ” αž’αŸ’αž“αž€αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž…αž„αŸ‹αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž•αŸ’αž›αžΌαžœαž“αŸαŸ‡αž‘αŸ…αž‡αžΆαžαžαžŠαŸ‚αž›αž”αžΆαž“αž˜αŸ‰αŸ„αž“αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ WorkingDir αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαžαžŠαŸ‚αž›αž”αžΆαž“αž˜αŸ‰αŸ„αž“αŸ”
  • αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αžŸαŸ’αžαžΆαž“αžΈαž™ αžŸαžΌαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ– docker exec -it irispy sh.
  • αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αžœαž·αž”αž•αžαžαž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ„αž™αž€αžΆαžšαž…αžΌαž› SuperUser/SYS.
  • αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αžˆαž”αŸ‹αž€αž»αž„αžαžΊαž“αŸαžš αžŸαžΌαž˜αžšαžαŸ‹αŸ– docker stop irispy && docker rm --force irispy.

αž€αŸ†αž–αž»αž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ Python Gateway αžœαžΆαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž αžΎαž™αŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΌαžŠαž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αžΈαž™ InterSystems IRISαŸ–

set sc = ##class(isc.py.Callout).Setup() 
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
write var

αž›αž‘αŸ’αž’αž•αž›αž‚αž½αžšαžαŸ‚ HELLO - αžαž˜αŸ’αž›αŸƒαž“αŸƒαž’αžαŸαžš Python x. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰ sc αž‚αžΊαž‡αžΆαž€αŸ†αž αž»αžŸαž¬ var αž‘αž‘αŸ, αž–αž·αž“αž·αžαŸ’αž™ Readme - αž•αŸ’αž“αŸ‚αž€αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆ.

αž€αžΆαžš API

Python Gateway αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ αž αžΎαž™αž’αŸ’αž“αž€αž”αžΆαž“αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžαžΆαžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž αžΎαž™αŸ” αžŠαž›αŸ‹αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαžΎαž αžΎαž™!
αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž…αž˜αŸ’αž”αž„αžšαž”αžŸαŸ‹ Python αž‚αžΊ isc.py.Main. αžœαžΆαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αŸ’αžšαž»αž˜αž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜ (αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰ %Status):

  • αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΌαžŠ
  • αž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™
  • αž‡αŸ†αž“αž½αž™

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΌαžŠ

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠ Python αž”αŸ†αž–αžΆαž“αŸ”

SimpleString

SimpleString αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž…αž˜αŸ’αž”αž„αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžšαž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž…αŸ†αž“αž½αž“ 4αŸ–

  • code αž‚αžΊαž‡αžΆαž”αž“αŸ’αž‘αžΆαžαŸ‹αž“αŸƒαž€αžΌαžŠαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αŸ” αžαž½αž’αž€αŸ’αžŸαžšαž…αŸ†αžŽαžΈαž”αž“αŸ’αž‘αžΆαžαŸ‹αŸ– $c(10).
  • returnVariable αž‚αžΊαž‡αžΆαžˆαŸ’αž˜αŸ„αŸ‡αžšαž”αžŸαŸ‹αž’αžαŸαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžαŸ’αžšαž‘αž”αŸ‹αŸ”
  • serialization - αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαžŸαŸŠαŸαžšαžΈ returnVariable. 0 - αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš (αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜), 1 - repr αŸ”
  • result - ByRef αž™αŸ„αž„αž‘αŸ…αž’αžαŸαžšαžŠαŸ‚αž›αžαž˜αŸ’αž›αŸƒαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžš returnVariable.

αžαžΆαž„αž›αžΎαž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαŸ–

set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).

αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαž“αŸαŸ‡ αž™αžΎαž„αž€αŸ†αž–αž»αž„αž€αŸ†αžŽαžαŸ‹αž‘αŸ…αž’αžαŸαžš Python x αž’αžαŸ’αžαž“αŸαž™ Hello αž αžΎαž™αž…αž„αŸ‹αžαŸ’αžšαž‘αž”αŸ‹αžαž˜αŸ’αž›αŸƒαž“αŸƒαž’αžαŸαžš Python x αž‘αŸ…αž’αžαŸαžš ObjectScript var.

αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠ

ExecuteCode αž‚αžΊβ€‹αž‡αžΆβ€‹αž‡αž˜αŸ’αžšαžΎαžŸβ€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–β€‹αž‡αžΆαž„β€‹αž“αž·αž„β€‹αž˜αžΆαž“β€‹αž€αž˜αŸ’αžšαž·αžβ€‹αžαž·αž… SimpleString.
αž”αž“αŸ’αž‘αžΆαžαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžœαŸαž‘αž·αž€αžΆ InterSystems IRIS αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΉαž˜ 3 αžαž½αž’αž€αŸ’αžŸαžš αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αŸ†αžŽαŸ‚αž€αž“αŸƒαž€αžΌαžŠαž™αžΌαžšαž‡αžΆαž„αž“αŸαŸ‡ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎαž€αžΆαžšαž•αŸ’αžŸαžΆαž™αŸ”
αžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžšαž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αž–αžΈαžšαŸ–

  • code - αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš αž¬αž€αžΌαžŠ Python αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αŸ”
  • variable - (αžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αž) αž•αŸ’αžαž›αŸ‹αž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž code ធថេរ Python αž“αŸαŸ‡αŸ”

αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αž”αŸ’αžšαžΎαŸ–

set sc = ##class(isc.py.Main).ExecuteCode("2*3", "y").

αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαž“αŸαŸ‡ αž™αžΎαž„αž‚αž»αžŽ 2 αž‚αž»αžŽαž“αžΉαž„ 3 αž αžΎαž™αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž›αž‘αŸ’αž’αž•αž›αž€αŸ’αž“αž»αž„αž’αžαŸαžš Python y.

αž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™

αž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž“αž·αž„αž–αžΈ Python αŸ”

Python -> InterSystems IRIS

αž˜αžΆαž“αžœαž·αž’αžΈ 4 αž™αŸ‰αžΆαž„αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αžαž˜αŸ’αž›αŸƒαž“αŸƒαž’αžαŸαžš Python αž“αŸ…αž€αŸ’αž“αž»αž„ InterSystems IRIS αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαžŸαŸ€αžšαŸ€αž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ–

  • String αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαžΆαž˜αž‰αŸ’αž‰ αž“αž·αž„αž€αžΆαžšαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαŸ”
  • Repr αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžœαžαŸ’αžαž»αžŸαžΆαž˜αž‰αŸ’αž‰ αž“αž·αž„αž€αžΆαžšαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαŸ”
  • JSON αžŠαžΎαž˜αŸ’αž”αžΈαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž›αžΎαž•αŸ’αž“αŸ‚αž€ InterSystems IRIS αŸ”
  • Pickle αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžœαžαŸ’αžαž»αŸ”

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‘αž‘αž½αž›αž”αžΆαž“αž’αžαŸαžšαž–αžΈ Python αž‡αžΆαžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžš αž¬αž‡αžΆαžŸαŸ’αž‘αŸ’αžšαžΈαž˜αŸ”

  • GetVariable(variable, serialization, .stream, useString) - αž‘αž‘αž½αž›αž”αžΆαž“ serialization ធថេរ variable Π² streamαŸ” αž”αžΎ useString αž‚αžΊ 1 αž αžΎαž™β€‹αžŸαŸ€αžšαŸ€αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžŠαžΆαž€αŸ‹β€‹αž€αŸ’αž“αž»αž„β€‹αžαŸ’αžŸαŸ‚β€‹αž’αž€αŸ’αžŸαžš αž”αž“αŸ’αž‘αžΆαž”αŸ‹β€‹αž˜αž€β€‹αžαŸ’αžŸαŸ‚β€‹αž˜αž½αž™β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžαŸ’αžšαž‘αž”αŸ‹β€‹αž˜αž€β€‹αžœαž·αž‰ αž˜αž·αž“β€‹αž˜αŸ‚αž“β€‹αž‡αžΆβ€‹αžŸαŸ’αž‘αŸ’αžšαžΈαž˜β€‹αž‘αŸαŸ”
  • GetVariableJson(variable, .stream, useString) - αž‘αž‘αž½αž›αž”αžΆαž“ JSON serialization αž“αŸƒαž’αžαŸαžšαž˜αž½αž™αŸ”
  • GetVariablePickle(variable, .stream, useString, useDill) - αž‘αž‘αž½αž›αž”αžΆαž“ Pickle (ឬ Dill) αžŸαŸ€αžšαŸ€αž›αž“αŸƒαž’αžαŸαžšαž˜αž½αž™αŸ”

αžαŸ„αŸ‡αž–αŸ’αž™αžΆαž™αžΆαž˜αž™αž€αž’αžαŸαžšαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” y.

set sc = ##class(isc.py.Main).GetVariable("y", , .val, 1)
write val
>6

InterSystems IRIS -> Python

αž€αŸ†αž–αž»αž„αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈ InterSystems IRIS αž‘αŸ…αž€αŸ’αž“αž»αž„ Python αŸ”

  • ExecuteQuery(query, variable, type, namespace) - αž”αž„αŸ’αž€αžΎαžαžŸαŸ†αžŽαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™ (αž•αŸαž“αžŠαžΆ dataframe ឬ list) αž–αžΈ sql query αž αžΎαž™αž€αŸ†αžŽαžαŸ‹αžœαžΆαž‘αŸ…αž‡αžΆ python variable variable. αžαž„αŸ‹αž•αŸ’αž›αžΆαžŸαŸ’αž‘αž·αž… isc.py αž‚αž½αžšαžαŸ‚αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹ namespace - αžŸαŸ†αžŽαžΎαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ”
  • ExecuteGlobal(global, variable, type, start, end, mask, labels, namespace) - αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž€αž› global αž–αžΈ subscript start αžšαž αžΌαžαžŠαž›αŸ‹αž‘αŸ… end αž“αŸ…αž€αŸ’αž“αž»αž„ Python αž‡αžΆαž’αžαŸαžšαž”αŸ’αžšαž—αŸαž‘ type: listαž¬αžαŸ’αž›αžΆαžƒαŸ’αž˜αž»αŸ†αž•αŸαž“αžŠαžΆ dataframe. αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αž mask αž“αž·αž„ labels αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαžαŸ’αž“αžΆαž€αŸ‹ αž“αž·αž„αžƒαŸ’αž›αžΆαŸ†αž„ αž―αž€αžŸαžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™.
  • ExecuteClass(class, variable, type, start, end, properties, namespace) - αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αž“αžΆαž€αŸ‹ class αž–αžΈ id start αžšαž αžΌαžαžŠαž›αŸ‹αž‘αŸ… end αž“αŸ…αž€αŸ’αž“αž»αž„ Python αž‡αžΆαž’αžαŸαžšαž”αŸ’αžšαž—αŸαž‘ type: listαž¬αžαŸ’αž›αžΆαžƒαŸ’αž˜αž»αŸ†αž•αŸαž“αžŠαžΆ dataframe. properties - αž”αž‰αŸ’αž‡αžΈ (αž”αŸ†αž”αŸ‚αž€αžŠαŸ„αž™αžŸαž‰αŸ’αž‰αžΆαž€αŸ’αž”αŸ€αžŸ) αž“αŸƒαž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αžαŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž•αŸ’αž‘αž»αž€αž‘αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ†αžŽαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αžšαž”αžΆαŸ†αž„αž˜αž»αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžš * ΠΈ ?. αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ - * (αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž·αž‘αžΆαŸ†αž„αž’αžŸαŸ‹) αŸ” αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž· %%CLASSNAME αž˜αž·αž“αž’αžΎαž–αžΎαŸ”
  • ExecuteTable(table, variable, type, start, end, properties, namespace) - αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαžšαžΆαž„ table αž–αžΈ id start αžšαž αžΌαžαžŠαž›αŸ‹αž‘αŸ… end αž“αŸ…αž€αŸ’αž“αž»αž„ python αŸ”

ExecuteQuery - αžŸαž€αž› (αžšαžΆαž›αŸ‹αžŸαŸ†αžŽαž½αžš SQL αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ… Python) αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ ExecuteGlobal αž“αž·αž„αžšαž»αŸ†αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αŸ” ExecuteClass ΠΈ ExecuteTable αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αž–αž½αž€αžœαžΆαž›αžΏαž“αž‡αžΆαž„ (3-5 αžŠαž„αž›αžΏαž“αž‡αžΆαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆ ODBC αž“αž·αž„ 20 αžŠαž„αž›αžΏαž“αž‡αžΆαž„ ExecuteQuery) αž–αŸαžαŸŒαž˜αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ αž―αž€αžŸαžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™.
αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαžαŸ†αž”αž“αŸ‹αžŽαžΆαž˜αž½αž™αŸ” αžαž„αŸ‹αž•αŸ’αž›αžΆαžŸαŸ’αž‘αž·αž… isc.py αžαŸ’αžšαžΌαžœαžαŸ‚αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αž‚αŸ„αž›αžŠαŸ…αŸ”

ExecuteQuery

ExecuteQuery(request, variable, type, namespace) - αž”αž‰αŸ’αž‡αžΌαž“αž›αž‘αŸ’αž’αž•αž›αž“αŸƒαžŸαŸ†αžŽαž½αžš SQL αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž‘αŸ… Python αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž™αžΊαžαž”αŸ†αž•αž»αžαŸ” αž”αŸ’αžšαžΎαžœαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎ ExecuteGlobal αž αžΎαž™αž€αž‰αŸ’αž…αž”αŸ‹αžšαž”αžŸαŸ‹αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž‘αŸαŸ”

αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αŸ–

  • query - αžŸαŸ†αžŽαž½αžš sql αŸ”
  • variable - αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαž’αžαŸαžš Python αžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαŸ”
  • type - list αž¬αžαŸ’αž›αžΆαžƒαŸ’αž˜αž»αŸ†αž•αŸαž“αžŠαžΆ dataframe.
  • namespace - αžαŸ†αž”αž“αŸ‹αžŠαŸ‚αž›αžŸαŸ†αžŽαžΎαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αŸ”

αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŸαž€αž›

ExecuteGlobal(global, variable, type, start, end, mask, labelels, namespace) - αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžŸαž€αž›αž‘αŸ… Python αŸ”

αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αŸ–

  • global αž‚αžΊαž‡αžΆαžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαžŸαž€αž›αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“ ^
  • variable - αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαž’αžαŸαžš Python αžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαŸ”
  • type - list αž¬αžαŸ’αž›αžΆαžƒαŸ’αž˜αž»αŸ†αž•αŸαž“αžŠαžΆ dataframe.
  • start - αž€αžΆαžšαž‡αžΆαžœαžŠαŸ†αž”αžΌαž„αž“αŸƒαžŸαž€αž›αŸ” αž…αžΆαŸ†αž”αžΆαž…αŸ‹ %Integer.
  • end αž‚αžΊαž‡αžΆ subscript αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αŸƒαžŸαž€αž›αŸ” αž…αžΆαŸ†αž”αžΆαž…αŸ‹ %Integer.
  • mask - αžšαž”αžΆαŸ†αž„αž“αŸƒαžαž˜αŸ’αž›αŸƒαžŸαž€αž›αŸ” αžšαž”αžΆαŸ†αž„αž˜αž»αžαž’αžΆαž…αžαŸ’αž›αžΈαž‡αžΆαž„αž…αŸ†αž“αž½αž“αžœαžΆαž›αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž€αž› (αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αžœαžΆαž›αž“αŸ…αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ†αž›αž„)αŸ” αžšαž”αŸ€αž”αž’αŸ’αžœαžΎαž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αžšαž”αžΆαŸ†αž„αž˜αž»αžαŸ–
    • + αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžαž˜αŸ’αž›αŸƒαžŠαžΌαž…αŸ”
    • - αžšαŸ†αž›αž„αžαž˜αŸ’αž›αŸƒαŸ”
    • b - αž”αŸ’αžšαž—αŸαž‘αž”αŸŠαžΌαž›αžΈαž“ (0 - Falseαž“αŸ…αžŸαž›αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ - True).
    • d - αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘ (αž–αžΈ $ horolog, αž“αŸ…αž›αžΎ Windows αž–αžΈ 1970, αž“αŸ…αž›αžΎ Linux αž–αžΈ 1900) αŸ”
    • t - αž–αŸαž›αžœαŸαž›αžΆ ($ horolog, αžœαž·αž“αžΆαž‘αžΈαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αž’αž’αŸ’αžšαžΆαžαŸ’αžš) αŸ”
    • m β€” αžαŸ’αžšαžΆαž–αŸαž›αžœαŸαž›αžΆ (αž†αŸ’αž“αžΆαŸ†-αžαŸ‚-αžαŸ’αž„αŸƒ αž˜αŸ‰αŸ„αž„αŸ– αž“αžΆαž‘αžΈαŸ– αžαŸ’αžŸαŸ‚αž‘αž˜αŸ’αžšαž„αŸ‹αž‘αžΈαž–αžΈαžš)αŸ”
  • labels -% αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡αž‡αž½αžšαžˆαžšαŸ” αž’αžΆαžαž»αž‘αžΈαž˜αž½αž™αž‚αžΊαžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαž’αž€αŸ’αžŸαžšαž€αžΆαžαŸ‹αŸ”
  • namespace - αžαŸ†αž”αž“αŸ‹αžŠαŸ‚αž›αžŸαŸ†αžŽαžΎαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αŸ”

ExecuteClass

αžšαž»αŸ†αž–αžΈαž›αžΎ ExecuteGlobal. αžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž αŸ…αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž“αž·αž™αž˜αž“αŸαž™αž“αŸƒαžαŸ’αž“αžΆαž€αŸ‹ ExecuteGlobal αž αžΎαž™αž αŸ…αž‚αžΆαžαŸ‹αŸ”

ExecuteClass(class, variable, type, start, end, properties, namespace) - αž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αž“αžΆαž€αŸ‹αž‘αŸ… Python αŸ”

αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αŸ–

  • class - αžˆαŸ’αž˜αŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹
  • variable - αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαž’αžαŸαžš Python αžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαŸ”
  • type - list αž¬αžαŸ’αž›αžΆαžƒαŸ’αž˜αž»αŸ†αž•αŸαž“αžŠαžΆ dataframe.
  • start - αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ”
  • end - αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž…αž»αž„αž€αŸ’αžšαŸ„αž™
  • properties - αž”αž‰αŸ’αž‡αžΈ (αž”αŸ†αž”αŸ‚αž€αžŠαŸ„αž™αžŸαž‰αŸ’αž‰αžΆαž€αŸ’αž”αŸ€αžŸ) αž“αŸƒαž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αžαŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž•αŸ’αž‘αž»αž€αž‘αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ†αžŽαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αžšαž”αžΆαŸ†αž„αž˜αž»αžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžš * ΠΈ ?. αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ - * (αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž·αž‘αžΆαŸ†αž„αž’αžŸαŸ‹) αŸ” αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž· %%CLASSNAME αž˜αž·αž“αž’αžΎαž–αžΎαŸ”
  • namespace - αžαŸ†αž”αž“αŸ‹αžŠαŸ‚αž›αžŸαŸ†αžŽαžΎαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αŸ”

αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžŠαžΌαž…αžŠαŸ‚αž›αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž”αŸ’αžšαž—αŸαž‘ %Date, %Time, %Boolean ΠΈ %TimeStamp - αž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž”αŸ’αž›αŸ‚αž„αž‘αŸ…αž‡αžΆαžαŸ’αž“αžΆαž€αŸ‹ Python αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαŸ”

αžαžΆαžšαžΆαž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·

αžšαž»αŸ†αž–αžΈαž›αžΎ ExecuteClass. αž”αž€αž”αŸ’αžšαŸ‚αžˆαŸ’αž˜αŸ„αŸ‡αžαžΆαžšαžΆαž„αž‘αŸ…αž‡αžΆαžˆαŸ’αž˜αŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹ αž“αž·αž„αž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαž–αŸ’αž‘ ExecuteClass. αž αžαŸ’αžαž›αŸαžαžΆαŸ–

ExecuteTable(table, variable, type, start, end, properties, namespace) - αž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαžšαžΆαž„αž‘αŸ… Python αŸ”

αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αŸ–

  • table - αžˆαŸ’αž˜αŸ„αŸ‡αžαžΆαžšαžΆαž„αŸ”
    αž‘αž‘αŸ’αž αžΈαž€αžšαžŽαŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžŠαžΌαž…αŸ” ExecuteClass.

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αŸ”

  • ExecuteGlobal, ExecuteClass ΠΈ ExecuteTable αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΏαž“αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ”
  • ExecuteGlobal αž›αžΏαž“αž‡αžΆαž„ 20 αžŠαž„ ExecuteQuery αž“αŸ…αž›αžΎαžŸαŸ†αžŽαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ† (αž–αŸαž›αžœαŸαž›αžΆαž•αŸ’αž‘αŸαžš> 0.01 αžœαž·αž“αžΆαž‘αžΈ) αŸ”
  • ExecuteGlobal, ExecuteClass ΠΈ ExecuteTable αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαžŸαž€αž›αž›αŸ„αž€αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž“αŸαŸ‡αŸ– ^global(key) = $lb(prop1, prop2, ..., propN) αžŠαŸ‚αž›αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž› key αž‚αžΊαž‡αžΆαž…αŸ†αž“αž½αž“αž‚αžαŸ‹αŸ”
  • αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ExecuteGlobal, ExecuteClass ΠΈ ExecuteTable αž‡αž½αžšαžαž˜αŸ’αž›αŸƒαžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžš %Date αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„αž‡αž½αžš mktime αž αžΎαž™αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎ OSαž”αž„αŸ’αž’αž½αž…αŸ– ៨αŸ₯-៦៑-៩០, αž›αžΈαž“αž»αž… 1900-01-01, Mac) αž”αŸ’αžšαžΎ %TimeStampαžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αžαžΆαž„αž€αŸ’αžšαŸ…αž‡αž½αžšαž“αŸαŸ‡ αž¬αž”αŸ’αžšαžΎαžŸαŸŠαž»αž˜αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αž›αžΆαžƒαŸ’αž˜αž»αŸ†αž•αŸαž“αžŠαžΆαž‡αžΆ αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž“αŸαŸ‡αž‚αžΊαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž”αž‰αŸ’αž‡αžΈαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”
  • αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ExecuteGlobal, ExecuteClass ΠΈ ExecuteTable αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž”αŸ’αžšαž—αž–αž‘αž·αž“αŸ’αž“αž“αŸαž™ (αžŸαž€αž› αžαŸ’αž“αžΆαž€αŸ‹ αž¬αžαžΆαžšαžΆαž„) αž“αž·αž„αž’αžαŸαžšαž‚αžΊαžŸαŸ’αžšαŸαž…αž…αž·αžαŸ’αžαŸ”

αž§αž‘αž αžšαžŽαŸ

αžαŸ’αž“αžΆαž€αŸ‹αžŸαžΆαž€αž›αŸ’αž”αž„ isc.py.test.Person αž˜αžΆαž“αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž‡αž˜αŸ’αžšαžΎαžŸαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ–

set global = "isc.py.test.PersonD"
set class = "isc.py.test.Person"
set table = "isc_py_test.Person"
set query = "SELECT * FROM isc_py_test.Person"

// ΠžΠ±Ρ‰ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹
set variable = "df"
set type = "dataframe"
set start = 1
set end = $g(^isc.py.test.PersonD, start)

// Бпособ 0: ExecuteGlobal Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²
set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 0, type)

// Бпособ 1: ExecuteGlobal с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ    
// ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π³Π»ΠΎΠ±Π°Π»Π° названия ΠΏΠΎΠ»Π΅ΠΉ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ
// globalKey - Π½Π°Π·Π²Π°Π½ΠΈΠ΅ сабсткрипта 
set labels = $lb("globalKey", "Name", "DOB", "TS", "RandomTime", "AgeYears", "AgeDecimal", "AgeDouble", "Bool")

// mask содСрТит Π½Π° 1 элСмСнт мСньшС Ρ‡Π΅ΠΌ labels ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ "globalKey" - Π½Π°Π·Π²Π°Π½ΠΈΠ΅ сабскипта
// ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ°Π΅ΠΌ %%CLASSNAME
set mask = "-+dmt+++b"

set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 1, type, start, end, mask, labels)

// Бпособ 2: ExecuteClass
set sc = ##class(isc.py.Main).ExecuteClass(class, variable _ 2, type, start, end)

// Бпособ 3: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteTable(table, variable _ 3, type, start, end)

// Бпособ 4: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteQuery(query, variable _ 4, type)

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž αŸ…αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ do ##class(isc.py.test.Person).Test() αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž›αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαž·αž’αžΈαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‡αŸ†αž“αž½αž™

  • GetVariableInfo(variable, serialization, .defined, .type, .length) - αž‘αž‘αž½αž›αž”αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž’αžαŸαžšαŸ– αžαžΆαžαžΎαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹ αžαŸ’αž“αžΆαž€αŸ‹ αž“αž·αž„αž”αŸ’αžšαžœαŸ‚αž„αžŸαŸ€αžšαŸ€αž›αŸ”
  • GetVariableDefined(variable, .defined) - αžαžΆαžαžΎαž’αžαŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αŸ”
  • GetVariableType(variable, .type) - αž‘αž‘αž½αž›αž”αžΆαž“αžαŸ’αž“αžΆαž€αŸ‹αž“αŸƒαž’αžαŸαžšαŸ”
  • GetStatus() - αž‘αž‘αž½αž›αž”αžΆαž“ αž“αž·αž„αž›αž»αž”αž€αžΆαžšαž›αžΎαž€αž›αŸ‚αž„αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„ Python αŸ”
  • GetModuleInfo(module, .imported, .alias) - αž‘αž‘αž½αž›αž”αžΆαž“αž’αžαŸαžšαž˜αŸ‰αžΌαžŒαž»αž› αž“αž·αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αžΆαŸ†αž…αžΌαž›αŸ”
  • GetFunctionInfo(function, .defined, .type, .docs, .signature, .arguments) - αž‘αž‘αž½αž›αž”αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž˜αž»αžαž„αžΆαžšαŸ”

αž’αž“αŸ’αžαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš

αž’αŸ’αž“αž€αž”αžΆαž“αžšαŸ€αž“αž–αžΈαžšαž”αŸ€αž”αž αŸ… Python Gateway αž–αžΈ terminal αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž…αžΌαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαžΎαžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αž›αž·αžαŸ” αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ Python αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž“αŸαŸ‡αž‚αžΊ isc.py.ens.Operation. αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž™αžΎαž„:

  • αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠ Python
  • αžšαž€αŸ’αžŸαžΆαž‘αž»αž€/αžŸαŸ’αžαžΆαžšαž”αžšαž·αž”αž‘ Python
  • αž•αŸ’αž‘αž»αž€ αž“αž·αž„αž‘αž‘αž½αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈ Python

αž‡αžΆαž‘αžΌαž‘αŸ… αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš Pyhton αž‚αžΊαž‡αžΆαž€αžΆαžšαžšαž»αŸ†αž–αžΈαž›αžΎ isc.py.Main. αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš isc.py.ens.Operation αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž˜αžΆαž“αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Python αž–αžΈαž•αž›αž·αžαž•αž› InterSystems IRIS αŸ” αžŸαŸ†αžŽαžΎαž…αŸ†αž“αž½αž“αž”αŸ’αžšαžΆαŸ†αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαŸ–

  • isc.py.msg.ExecutionRequest αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠ Python αŸ” αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰ isc.py.msg.ExecutionResponse αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αž‘αŸ’αž’αž•αž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· αž“αž·αž„αžαž˜αŸ’αž›αŸƒαž“αŸƒαž’αžαŸαžšαžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ†αŸ”
  • isc.py.msg.StreamExecutionRequest αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠ Python αŸ” αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰ isc.py.msg.StreamExecutionResponse αž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· αž“αž·αž„αžαž˜αŸ’αž›αŸƒαž“αŸƒαž’αžαŸαžšαžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ†αŸ” αž’αžΆαžŽαžΆαž‘αžΌαž€ isc.py.msg.ExecutionRequestαž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‘αž‘αž½αž›αž™αž€ αž“αž·αž„αžαŸ’αžšαž‘αž”αŸ‹αž€αžΆαžšαž•αŸ’αžŸαžΆαž™αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαŸ”
  • isc.py.msg.QueryRequest αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αŸαžšαž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŸαŸ†αžŽαž½αžš SQL αŸ” αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰ Ens.Response.
  • isc.py.msg.GlobalRequest/isc.py.msg.ClassRequest/isc.py.msg.TableRequest αžŠαžΎαž˜αŸ’αž”αžΈαž†αŸ’αž›αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž€αž›/αžαŸ’αž“αžΆαž€αŸ‹/αžαžΆαžšαžΆαž„αŸ” αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰ Ens.Response.
  • isc.py.msg.SaveRequest αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž”αžšαž·αž”αž‘ Python αŸ” αžαŸ’αžšαž‘αž”αŸ‹αž˜αž€αžœαž·αž‰ Ens.StringResponse αž‡αžΆαž˜αž½αž™αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž”αžšαž·αž”αž‘αŸ”
  • isc.py.msg.RestoreRequest αžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αžŠαžΆαžšαž”αžšαž·αž”αž‘ Python αŸ”

    αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž, isc.py.ens.Operation αž˜αžΆαž“αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž–αžΈαžšαŸ–

    • Initializer - αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžαŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ isc.py.init.Abstract. αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αž»αž€αž˜αž»αžαž„αžΆαžš αž˜αŸ‰αžΌαžŒαž»αž› αžαŸ’αž“αžΆαž€αŸ‹ αž“αž·αž„αž’αŸ’αžœαžΈαŸ—αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž˜αŸ’αžαž„αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ”
    • PythonLib - (αž›αžΈαž“αž»αž…αžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡) αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžƒαžΎαž‰αž€αŸ†αž αž»αžŸαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜ αžŸαžΌαž˜αž€αŸ†αžŽαžαŸ‹αžαž˜αŸ’αž›αŸƒαžšαž”αžŸαŸ‹αžœαžΆαž‘αŸ… libpython3.6m.so αž¬αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž›αžΌαžœαž–αŸαž‰αž›αŸαž‰αž‘αŸ…αž€αžΆαž“αŸ‹αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ Python αŸ”

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜

αž˜αžΆαž“αžαŸ’αž“αžΆαž€αŸ‹αž–αžΈαžšαžŠαŸ‚αž›αž‡αž½αž™αžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αŸ–

  • isc.py.ens.ProcessUtils αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‘αžΆαž‰αž™αž€αž…αŸ†αžŽαžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αž–αžΈαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž‡αŸ†αž“αž½αžŸαž’αžαŸαžšαŸ”
  • isc.py.util.BPEmulator αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ Python αŸ” αžœαžΆαž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜ (αž•αŸ’αž“αŸ‚αž€ Python) αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αŸ”

αž€αžΆαžšαž‡αŸ†αž“αž½αžŸαž’αžαŸαžš

αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αžΆαž“αž‘αž‘αž½αž›αž˜αžšαžαž€αž–αžΈ isc.py.ens.ProcessUtils, αž’αžΆαž…αž”αŸ’αžšαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž GetAnnotation(name) αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αžαž˜αŸ’αž›αŸƒαž“αŸƒαž…αŸ†αžŽαžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžαžΆαž˜αžˆαŸ’αž˜αŸ„αŸ‡αžšαž”αžŸαŸ‹αžœαžΆαŸ” αž…αŸ†αžŽαžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž’αžΆαž…αž˜αžΆαž“αž’αžαŸαžšαžŠαŸ‚αž›αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžœαžΆαž™αžαž˜αŸ’αž›αŸƒαž“αŸ…αž›αžΎαž•αŸ’αž“αŸ‚αž€ InterSystems IRIS αž˜αž»αž“αž–αŸαž›αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ… Python αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžœαžΆαž€αŸ’αž™αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‡αŸ†αž“αž½αžŸαž’αžαŸαžšαŸ–

  • ${class:method:arg1:...:argN} - αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž αŸ…
  • #{expr} - αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠαž‡αžΆαž—αžΆαžŸαžΆ ObjectScript αŸ”

αž§αž‘αžΆαž αžšαžŽαŸαž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžŸαžΆαž€αž›αŸ’αž”αž„ isc.py.test.Processαž§αž‘αžΆαž αžšαžŽαŸαž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž€αž˜αŸ’αž˜αž—αžΆαž– Correlation Matrix: Graph: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png'). αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαž“αŸαŸ‡αŸ–

  • #{process.WorkDirectory} αžαŸ’αžšαž‘αž”αŸ‹β€‹αž›αž€αŸ’αžαžŽαŸˆβ€‹αžŸαž˜αŸ’αž”αžαŸ’αžαž· WorkDirectory αžšαž”αžŸαŸ‹β€‹αžœαžαŸ’αžαž» processαžŠαŸ‚αž›αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαžαŸ’αž“αžΆαž€αŸ‹ isc.py.test.Process αž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αŸ”
  • ${%PopulateUtils:Integer:1:100} αž αŸ…αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž˜αž½αž™αŸ” Integer класса %PopulateUtils, αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž’αžΆαž‚αž»αž™αž˜αŸ‰αž„αŸ‹ 1 ΠΈ 100αžαŸ’αžšαž‘αž”αŸ‹αž…αŸ†αž“αž½αž“αž‚αžαŸ‹αž…αŸƒαžŠαž“αŸ’αž™αž€αŸ’αž“αž»αž„αž‡αž½αžš 1...100.

αžŸαžΆαž€αž›αŸ’αž”αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜

αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αž›αž·αžαžŸαžΆαž€αž›αŸ’αž”αž„ αž“αž·αž„αžŸαžΆαž€αž›αŸ’αž”αž„αž‚αžΊαž’αžΆαž…αžšαž€αž”αžΆαž“αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒ Python Gateway αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎαž–αž½αž€αžœαžΆαŸ–

  1. αž“αŸ…αž€αŸ’αž“αž»αž„ OS terminal αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ– pip install pandas matplotlib seaborn.
  2. αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αžΈαž™ InterSystems IRIS αžŸαžΌαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ– do ##class(isc.py.test.CannibalizationData).Import() αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ†αž–αŸαž‰αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαžΆαž€αž›αŸ’αž”αž„αŸ”
  3. αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αž›αž·αžαž•αž› isc.py.test.Production.
  4. αž•αŸ’αž‰αžΎαž”αŸ’αžšαž—αŸαž‘αžŸαŸ†αžŽαžΎ Ens.Request Π² isc.py.test.Process.

αžαŸ„αŸ‡β€‹αž˜αžΎαž›β€‹αžšαž”αŸ€αž”β€‹αžŠαŸ‚αž›β€‹αžœαžΆβ€‹αžŠαŸ†αžŽαžΎαžšβ€‹αž€αžΆαžšβ€‹αž‘αžΆαŸ†αž„β€‹αž’αžŸαŸ‹β€‹αž‚αŸ’αž“αžΆαŸ” αž”αžΎαž€ isc.py.test.Process αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αž·αž–αž“αŸ’αž’ BPLαŸ–

Python Gateway αž“αŸ… InterSystems IRIS

αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΌαžŠ

αž€αžΆαžšαž αŸ…αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αžαž‚αžΊαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΌαžŠ PythonαŸ–

Python Gateway αž“αŸ… InterSystems IRIS

αž–αžΆαž€αŸ’αž™αžŸαž»αŸ†αž”αŸ’αžšαžΎ isc.py.msg.ExecutionRequestαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž‡αžΆαž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αžšαž”αžŸαŸ‹αžœαžΆαŸ–

  • Code - αž€αžΌαžŠ Python αŸ”
  • SeparateLines - αžαžΆαžαžΎαžαŸ’αžšαžΌαžœαž”αŸ†αž”αŸ‚αž€αž€αžΌαžŠαž‘αŸ…αž‡αžΆαž”αž“αŸ’αž‘αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αŸ” $c(10) (n) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ†αž”αŸ‚αž€αžαŸ’αžŸαŸ‚αŸ” αžŸαžΌαž˜αž…αŸ†αžŽαžΆαŸ†αžαžΆ αžœαžΆαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαžΆαžšαž‘αžΆαŸ†αž„αž˜αžΌαž›αž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™αž“αŸ„αŸ‡αž‘αŸ αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αž‚αžΊαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” def αž“αž·αž„αž€αž“αŸ’αžŸαŸ„αž˜αž–αž αž»αž‡αž½αžšαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαŸ” αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ 0.
  • Variables αž‚αžΊαž‡αžΆαž”αž‰αŸ’αž‡αžΈαž’αžαŸαžšαžŠαŸ‚αž›αž”αŸ†αž”αŸ‚αž€αžŠαŸ„αž™αžŸαž‰αŸ’αž‰αžΆαž€αŸ’αž”αŸ€αžŸ αžŠαŸ‚αž›αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αŸ”
  • Serialization - αžšαž”αŸ€αž”αž’αŸ’αžœαžΎ Serialize variable αžŠαŸ‚αž›αž™αžΎαž„αž…αž„αŸ‹αžαŸ’αžšαž‘αž”αŸ‹αŸ” αž‡αž˜αŸ’αžšαžΎαžŸαŸ– Str, Repr, JSON, Pickle ΠΈ Dill, αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ Str.

αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„αž™αžΎαž„αž€αŸ†αžŽαžαŸ‹αžαŸ‚αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž·αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” CodeαžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αŸ’αžšαžΎαžαž˜αŸ’αž›αŸƒαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αž™αžΎαž„αž€αŸ†αžŽαžαŸ‹αžœαžΆαžŠαŸ„αž™αž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ process.GetAnnotation("Import pandas")αžŠαŸ‚αž›αž“αŸ…αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αžΉαž„αžαŸ’αžšαž‘αž”αŸ‹αž…αŸ†αžŽαžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž‡αŸ†αž“αž½αžŸαž’αžαŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ” αž‘αžΈαž”αŸ†αž•αž»αžαž›αŸαžαž€αžΌαžŠ import pandas as pd αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ… Python αŸ” GetAnnotation αž’αžΆαž…αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‘αž‘αž½αž›αž”αžΆαž“αžŸαŸ’αž‚αŸ’αžšαžΈαž” Python αž…αŸ’αžšαžΎαž“αž”αž“αŸ’αž‘αžΆαžαŸ‹ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž›αžΎαžœαž·αž’αžΈαž“αŸƒαž€αžΆαžšαž‘αž‘αž½αž›αž”αžΆαž“αž€αžΌαžŠαž“αŸαŸ‡αž‘αŸαŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž· Code αžαžΆαž˜αž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αŸ”

αž€αžΆαžšαž‘αž‘αž½αž›αž”αžΆαž“αž’αžαŸαžš

αž€αžΆαžšαž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ„αž™αž”αŸ’αžšαžΎ isc.py.msg.ExecutionRequest - Correlation Matrix: Tabular:

Python Gateway αž“αŸ… InterSystems IRIS

αžœαžΆαž‚αžŽαž“αžΆ Correlation Matrix αž“αŸ…αžαžΆαž„ Python αž αžΎαž™αžŸαŸ’αžšαž„αŸ‹αž’αžαŸαžš corrmat αžαŸ’αžšαž›αž”αŸ‹αž‘αŸ… InterSystems IRIS αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹ JSON αžŠαŸ„αž™αž€αŸ†αžŽαžαŸ‹αž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αžŸαŸ†αžŽαžΎαŸ–

  • Variables: "corrmat"
  • Serialization: "JSON"

αž™αžΎαž„αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž›αž‘αŸ’αž’αž•αž›αž“αŸ…αž€αŸ’αž“αž»αž„ Visual TraceαŸ–

Python Gateway αž“αŸ… InterSystems IRIS

αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαžαž˜αŸ’αž›αŸƒαž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„ BP αžœαžΆαž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αžŠαžΌαž…αž“αŸαŸ‡αŸ– callresponse.Variables.GetAt("corrmat").

αž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ αžŸαžΌαž˜αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈ InterSystems IRIS αž‘αŸ… Python αžŸαŸ†αžŽαžΎαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ isc.py.msg.DataRequestαžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž›αž€αŸ’αžαžŽαŸˆαžŸαž˜αŸ’αž”αžαŸ’αžαž·αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  • Variable αž‚αžΊαž‡αžΆαž’αžαŸαžš Python αžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαŸ”
  • Type - αž”αŸ’αžšαž—αŸαž‘αž’αžαŸαžšαŸ– dataframe (αžŸαŸŠαž»αž˜αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αž›αžΆαžƒαŸ’αž˜αž»αŸ†αž•αŸαž“αžŠαžΆ) ឬ list.
  • Namespace - αžαŸ†αž”αž“αŸ‹αžŠαŸ‚αž›αž™αžΎαž„αž‘αž‘αž½αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αžαž„αŸ‹αž•αŸ’αž›αžΆαžŸαŸ’αž‘αž·αž… isc.py αž‚αž½αžšαžαŸ‚αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αž“αŸαŸ‡αŸ” αž“αŸαŸ‡αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžαŸ†αž”αž“αŸ‹αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž•αž›αž·αžαž•αž›αŸ”

αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž“αŸαŸ‡ 4 αžαŸ’αž“αžΆαž€αŸ‹αž“αŸƒαžŸαŸ†αžŽαžΎαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαŸ–

  • isc.py.msg.QueryRequest - αž€αŸ†αžŽαžαŸ‹αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž· Query αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‰αžΎαžŸαŸ†αžŽαž½αžš SQL αŸ”
  • isc.py.msg.ClassRequest - αž€αŸ†αžŽαžαŸ‹αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž· Class αžŠαžΎαž˜αŸ’αž”αžΈαž†αŸ’αž›αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αž“αžΆαž€αŸ‹αŸ”
  • isc.py.msg.TableRequest - αž€αŸ†αžŽαžαŸ‹αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž· Table αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαžΆαžšαžΆαž„αŸ”
  • isc.py.msg.GlobalRequest - αž€αŸ†αžŽαžαŸ‹αž‘αŸ’αžšαž–αŸ’αž™αžŸαž˜αŸ’αž”αžαŸ’αžαž· Global αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αŸαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαžŸαž€αž›αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αžŸαžΌαž˜αž˜αžΎαž›αžŸαž€αž˜αŸ’αž˜αž—αžΆαž– RAWαžŠαŸ‚αž›αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„ isc.py.msg.QueryRequest αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αŸ”

Python Gateway αž“αŸ… InterSystems IRIS

αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€/αžŸαŸ’αžαžΆαžšαž”αžšαž·αž”αž‘ Python

αž‡αžΆαž…αž»αž„αž€αŸ’αžšαŸ„αž™ αž™αžΎαž„αž’αžΆαž…αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž”αžšαž·αž”αž‘ Python αž“αŸ…αž€αŸ’αž“αž»αž„ InterSystems IRIS αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžœαžΆ αžŸαžΌαž˜αž•αŸ’αž‰αžΎ isc.py.msg.SaveRequest αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž’αŸ†αžŽαŸ‡αž’αŸ†αžŽαžΆαž„αŸ–

  • Mask - αž˜αžΆαž“αžαŸ‚αž’αžαŸαžšαžŠαŸ‚αž›αž”αŸ†αž–αŸαž‰αžšαž”αžΆαŸ†αž„αž˜αž»αžαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αŸ” αž‚αžΆαŸ†αž‘αŸ’αžš * ΠΈ ?αŸ” αž§αž‘αžΆαž αžšαžŽαŸαŸˆ "Data*, Figure?". αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ *.
  • MaxLength - αž”αŸ’αžšαžœαŸ‚αž„αž’αžαž·αž”αžšαž˜αžΆαž“αŸƒαž’αžαŸαžšαžŠαŸ‚αž›αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαŸ€αžšαŸ€αž›αž“αŸƒαž’αžαŸαžšαžœαŸ‚αž„αž‡αžΆαž„ αž“αŸ„αŸ‡αžœαžΆαž“αžΉαž„αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΎαž–αžΎαŸ” αž€αŸ†αžŽαžαŸ‹αž‘αŸ… 0 αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž’αžαŸαžšαž“αŸƒαž”αŸ’αžšαžœαŸ‚αž„αžŽαžΆαž˜αž½αž™αŸ” αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ $$$MaxStringLength.
  • Name - αžˆαŸ’αž˜αŸ„αŸ‡αž”αžšαž·αž”αž‘ (αž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸ) αŸ”
  • Description - αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž”αžšαž·αž”αž‘ (αž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸ)αŸ”

αžαŸ’αžšαž‘αž”αŸ‹ Ens.StringResponse с Id αž”αžšαž·αž”αž‘αžŠαŸ‚αž›αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αžŸαžΌαž˜αž˜αžΎαž›αžŸαž€αž˜αŸ’αž˜αž—αžΆαž– Save Context.

αžŸαŸ†αžŽαžΎαžŠαŸ‚αž›αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’ isc.py.msg.RestoreRequest αž•αŸ’αž‘αž»αž€αž”αžšαž·αž”αž‘αž–αžΈ InterSystems IRIS αž‘αŸ…αž€αŸ’αž“αž»αž„ PythonαŸ–

  • ContextId αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαž€αŸ†αžŽαžαŸ‹αž”αžšαž·αž”αž‘αŸ”
  • Clear - αž‡αž˜αŸ’αžšαŸ‡αž”αžšαž·αž”αž‘αž˜αž»αž“αž–αŸαž›αžŸαŸ’αžαžΆαžšαŸ”

αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž™αž½αžšαžŠαŸƒ Jupyter

αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž™αž½αžšαžŠαŸƒ Jupyter αž‚αžΊαž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸαž αž‘αŸ†αž–αŸαžšαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αžŸαŸ€αžœαž—αŸ…αž€αžαŸ‹αžαŸ’αžšαžΆαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΌαžŠ αž€αžΆαžšαž˜αžΎαž›αžƒαžΎαž‰ αž“αž·αž„αž’αžαŸ’αžαž”αž‘αŸ” Python Gateway αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž˜αžΎαž› αž“αž·αž„αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš BPL αž‡αžΆ Jupyter Notebook αŸ” αžŸαžΌαž˜αž…αŸ†αžŽαžΆαŸ†αžαžΆ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš Python 3 αž’αž˜αŸ’αž˜αžαžΆαž€αŸ†αž–αž»αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”

αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αž“αŸαŸ‡αžŸαž“αŸ’αž˜αžαŸ‹αžαžΆ αž…αŸ†αžŽαžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αž˜αžΆαž“αž€αžΌαžŠ Python αž αžΎαž™αž”αŸ’αžšαžΎαžˆαŸ’αž˜αŸ„αŸ‡αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž‡αžΆαž…αŸ†αžŽαž„αž‡αžΎαž„αž˜αž»αž“αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž’αž—αž·αžœαžŒαŸ’αžαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜ PythonGateway αž“αŸ…αž€αŸ’αž“αž»αž„ Jupyter Notebook αŸ” αž“αŸαŸ‡αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αŸ–

  • αž”αž„αŸ’αž€αžΎαžαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžαŸ’αž˜αžΈαŸ”
  • αž›αž»αž”αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜
  • αž”αž„αŸ’αž€αžΎαžαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžαŸ’αž˜αžΈαŸ”
  • αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–
  • αž›αž»αž”αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–

αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αžœαžΈαžŠαŸαž’αžΌαžŸαžΆαž€αž›αŸ’αž”αž„. αž“αž·αž„αžšαžΌαž”αžαžαž’αŸαž€αŸ’αžšαž„αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ–

αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Explorer

Python Gateway αž“αŸ… InterSystems IRIS

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αž·αž–αž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš

Python Gateway αž“αŸ… InterSystems IRIS

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹

  1. αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž€αžΆαžš InterSystems IRIS 2019.2+αŸ”
  2. αžŠαŸ†αž‘αžΎαž„ PythonGateway v0.8+ (αž‘αžΆαž˜αž‘αžΆαžšαžαŸ‚ isc.py.util.Jupyter, isc.py.util.JupyterCheckpoints ΠΈ isc.py.ens.ProcessUtils).
  3. αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αžΌαžŠ ObjectScript αž–αžΈαžƒαŸ’αž›αžΆαŸ†αž„αŸ”
  4. αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· do ##class(isc.py.util.Jupyter).Install() αž αžΎαž™αž’αŸ’αžœαžΎαžαžΆαž˜αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αŸ”

αž―αž€αžŸαžΆαžš.

αž€αžΆαžšαžšαž€αžƒαžΎαž‰

MLToolkit αž‚αžΊαž‡αžΆαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž˜αžΆαž“αž‚αŸ„αž›αž”αŸ†αžŽαž„αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαž‚αŸ†αžšαžΌ αž“αž·αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž˜αŸ‰αžΌαžŠαŸ‚αž›αžŠαŸ‚αž›αž”αžΆαž“αžŸαžΆαž„αžŸαž„αŸ‹αž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžΆαž“αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” Python Gateway αž‚αžΊαž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒ MLToolkit αž“αž·αž„αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž˜αž½αž™αž—αžΆαžŸαžΆ Python αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžšαŸ€αž”αž…αŸ†αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαžšαŸ€αž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŽαžΆαž˜αž½αž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž€αŸ’αž“αž»αž„ Python (αž”αžšαž·αž™αžΆαž€αžΆαžŸαž…αž˜αŸ’αž”αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž…αŸ’αžšαžΎαž“) αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž…αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž AI αžœαž·αž—αžΆαž‚αžŠαŸ„αž™αž˜αž“αž»αžŸαŸ’αžŸαž™αž“αŸ’αžαžŠαŸ‚αž›αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž”αŸ’αžšαŸ‚αž”αŸ’αžšαž½αž› αž“αž·αž„ AI / αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ ML αž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆ InterSystems IRIS αŸ”

αžŸαŸαž…αž€αŸ’αžαžΈαž™αŸ„αž„

MLToolkit

αž€αŸ’αžšαž»αž˜αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ MLToolkit αž‚αžΊαž‡αžΆαžƒαŸ’αž›αžΆαŸ†αž„ GitHub αž―αž€αž‡αž“αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒαž’αž„αŸ’αž‚αž€αžΆαžš InterSystems αžŸαžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜ GitHub αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‰αžΎαž‘αŸ…αž€αžΆαž“αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαžΆαž„αž€αŸ’αžšαŸ…αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αž‘αžΎαž„ αžšαŸ€αž“ αž¬αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαž˜αžΆαžŸαž’αžΆαžαž» MLToolkit αžšαž½αž…αž αžΎαž™ αžšαž½αž˜αž‘αžΆαŸ†αž„ Python Gateway αž•αž„αžŠαŸ‚αžšαŸ” αž€αŸ’αžšαž»αž˜αž“αŸαŸ‡αž˜αžΆαž“αž€αžšαžŽαžΈαžŠαŸ‚αž›αž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž˜αž½αž™αž…αŸ†αž“αž½αž“ (αž‡αžΆαž˜αž½αž™αž€αžΌαžŠαž”αŸ’αžšαž—αž– αž“αž·αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαžΆαž€αž›αŸ’αž”αž„) αž€αŸ’αž“αž»αž„αžœαž·αžŸαŸαž™αž‘αžΈαž•αŸ’αžŸαžΆαžš αž€αžΆαžšαž•αž›αž·αž ឱសថ αž“αž·αž„αž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜αž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΌαž›αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž€αŸ’αžšαž»αž˜αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ ML Toolkit αžŸαžΌαž˜αž•αŸ’αž‰αžΎαž’αŸŠαžΈαž˜αŸ‚αž›αžαŸ’αž›αžΈαž˜αž½αž™αž‘αŸ…αž€αžΆαž“αŸ‹αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ– [αž’αŸŠαžΈαž˜αŸ‚αž›αž€αžΆαžšαž–αžΆαžš] αž αžΎαž™αž”αž‰αŸ’αž…αžΌαž›αž–αŸαžαŸŒαž˜αžΆαž“αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ†αž”αž»αžαŸ’αžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ–

  • αžˆαŸ’αž˜αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎ GitHub
  • αž’αž„αŸ’αž‚αž€αžΆαžš (αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž€αžΆαžš αž¬αžŸαž·αž€αŸ’αžŸαžΆ)
  • αž˜αž»αžαžαŸ†αžŽαŸ‚αž„ (αž‘αžΈαžαžΆαŸ†αž„αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž”αŸαž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž‘αžΆαŸ†αž„ "αžŸαž·αžŸαŸ’αžŸ" ឬ "αž―αž€αžšαžΆαž‡αŸ’αž™")αŸ”
  • αž”αŸ’αžšαž‘αŸαžŸ

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž”αžΆαž“αž’αžΆαž“αž’αžαŸ’αžαž”αž‘ αž“αž·αž„αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’ InterSystems IRIS αž‡αžΆαžœαŸαž‘αž·αž€αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαž αž¬αž”αž„αŸ’αž αŸ„αŸ‡αž™αž“αŸ’αžαž€αžΆαžšαž”αž‰αŸ’αž‰αžΆαžŸαž·αž”αŸ’αž”αž“αž·αž˜αž·αžαŸ’αž αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαŸ€αž“ αž™αžΎαž„αžŸαžΌαž˜αž’αž‰αŸ’αž‡αžΎαž‰αž’αŸ’αž“αž€αž±αŸ’αž™αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž’αŸ†αž–αžΈαžŸαŸαžŽαžΆαžšαžΈαž™αŸ‰αžΌαžŠαŸ‚αž›αž’αžΆαž…αž˜αžΆαž“αž…αŸ†αžŽαžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž…αŸ†αž–αŸ„αŸ‡αžŸαž αž‚αŸ’αžšαžΆαžŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž™αžΎαž„αž“αžΉαž„αžœαž·αž—αžΆαž‚αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αžΌαžœαžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžšαž”αžŸαŸ‹αžŸαž αž‚αŸ’αžšαžΆαžŸαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž αžΎαž™αžšαž½αž˜αž‚αŸ’αž“αžΆαž€αŸ†αžŽαžαŸ‹αž•αŸ‚αž“αž€αžΆαžšαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αŸ” αž‘αžΆαž€αŸ‹αž‘αž„αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž’αŸŠαžΈαž˜αŸ‚αž›αžšαž”αžŸαŸ‹αž€αŸ’αžšαž»αž˜αž’αŸ’αž“αž€αž‡αŸ†αž“αžΆαž‰ AI/ML αžšαž”αžŸαŸ‹αž™αžΎαž„ – [αž’αŸŠαžΈαž˜αŸ‚αž›αž€αžΆαžšαž–αžΆαžš].

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹