Python Gateway in InterSystems IRIS

Hic articulus est de porta Pythone, fons apertus communitatis project pro suggestu interSystems IRIS data. Hoc consilium permittit te orchestrare omnem machinam discendi algorithmarum in Pythone (majoris ambitus multorum Datarum Scientistarum), numerosis praeparatis bibliothecis utere ut cito crees adaptiva, robotica analytica AI/ML solutiones in suggestu interSystems IRIS. In hoc articulo docebo quomodo processus interSystems IRIS in Pythone orchestrare possit, notitias duos modos efficienter communicare, et processus res intelligentes creare.

consilium

  1. Introductio.
  2. Instrumenta.
  3. Installation.
  4. API.
  5. Interoperabilitas.
  6. Juppiter codicillus.
  7. Erit perfectius fundamentum.
  8. Nexus.
  9. MLToolkit.

introduction

Python est summus gradus et generalis propositi programmandi linguae quae ad meliorem elit fructibus et codicem readability augetur. In hac articulorum serie disputabo facultates utendi Pythone in suggestu interSystems IRIS, cum umbilico huius articuli praecipuo usu Pythonis ut lingua ad efficendas et currens apparatus discendi exempla.

Apparatus eruditionis (ML) genus est methodi intelligentiae artificialis, cuius proprium notum non est directa solutio quaestionis, sed discendi in processu solvendi multa similia problemata.

Apparatus eruditionis algorithmorum et exempla communiora fiunt. Huius rei multae sunt rationes, sed omnia ad accessibilitatem, simplicitatem et ad praxin consequendam descendunt. Estne pampineis vel etiam neural retis quae novam technologiam effingunt?

Utique non est, sed hodie non est necesse scribere centenis milibus versuum codicis ut unum exemplar ducatur, et sumptus faciendi et utendi exempla minuuntur et minuuntur.

Instrumenta evolvuntur - dum instrumenta GUI-centrica AI/ML plene non habemus, progressum vidimus cum multis aliis systematibus informationum generibus, ut BI (ex scripto codice ad usus compages et solutiones configurabiles GUI-centricas), est observatur etiam in instrumentis faciendis AI/ML. Gradum scribendi codicis iam transivimus et hodie compagibus ad exempla aedificanda et instituenda utimur.

Aliae emendationes, ut facultas distribuendi exemplar praestructum, ubi finis user simpliciter habet exemplar in certa notitia perficiendi formandi, etiam faciliorem facit ut incipias a machina discendi. Hi progressus apparatus discendi discendi multo facilius sunt tam professionales quam societates in genere.

Contra, notitias magis ac magis colligimus. Cum suggestu unio dato sicut interSystems IRIS, haec omnia statim praeparari possunt et initus ad exempla discendi apparatus adhibita.

Movente ad nubem, immissis AI/ML inceptis facilior fit quam umquam. Non possumus tantum consumere facultates quibus opus est. Praeterea propter parallelizationem quae per nubes suggesta obtulit, tempus servare possumus.

Sed quid eventus? Hoc est ubi res magis complicata. Multa instrumenta fabricandi exempla sunt, de quibus deinceps disputabimus. Exemplar bonum aedificandi non facile est, sed quid postea? Lucrum faciens ab utens exemplo negotii est etiam munus non leve. Radix est quaestionis separatio laboribus analyticis et transactionalibus, et exemplorum notitiarum. Cum exemplar instruimus, in notitia historica soleamus facere. Locus autem constructi exemplar est in notitia processus transactionis. Quod bonum est optimum fraus deprehensionis transactionis exemplum, si semel in die currimus? Scammeri iampridem cum pecunia relicti sunt. Exemplar in notitia historica instituere opus est, sed hoc quoque tempore reali in novis notitiae advenientis adhibere oportet ut processus negotii nostri agere possit in praedictis exemplaribus factis.

ML Toolkit instrumentorum copia est quae tendit ad id faciendum: exempla concilianda et ambitus transactionalis ut exempla aedificata facile in processibus negotiis tuis adhiberi possint. Python Gateway est pars ML Toolkit et integrationem praebet cum lingua Pythone (similis quam R Gateway, pars ML Toolkit cum lingua R integrationem praebet).

instrumenta

Antequam pergamus, pauca Pythonis instrumenta et bibliothecas describere quibus postea utemur.

technicae

  • Python interpretatur, summus gradus, generalis propositum programmandi. Praecipua linguae utilitas magna eius bibliothecae mathematicae, ML et AI bibliothecae est. Sicut Objectum Scriptum, lingua objectum ordinatur, sed omnia dynamice definiuntur potius quam immobiliter. Item omne obiectum est. Articuli posteriores sumunt transitum familiaritatem cum lingua. Si discere vis, commendo incipiens a documentum.
  • Pro nostris exercitiis insequentibus Python 3.6.7 64 bit.
  • IDE: utar PyCharmsed generaliter много. Si Atelier uteris, est eclipsis plugin in tincidunt Pythone. Si VS code uteris, pro Pythone prorogata est.
  • Codicillus: Pro IDE, scribere potes et scripta tua in pugillaribus communicare. Maxime popularibus eorum est Iuppiter.

libraries

Hic est index machinae bibliothecae eruditionis (non-exhaustivae);

  • numpy - fundamentalis sarcina pro certa ratione.
  • pandas - summus perficientur notitiarum structurarum ac instrumentorum analysin.
  • matplotlib' — graphs creatio.
  • seaborn — data visualisation ex matplotlib.
  • Sklearn - machina discendi modos.
  • XGBoost - Apparatus discendi algorithms intra ambitum methodi boosting gradientis.
  • Gensim — NLP.
  • Keras — neural ligula.
  • tensor fluxus - suggestum ad exempla discendi machina creandi.
  • PyTorch suggestum est machinae creandi exempla discendi, Pythone notata.
  • Nyoka — PMML ex variis exemplaribus.

AI/ML technologiae negotiationem aptiorem et accommodatiorem faciunt. Praeterea hodie hae technologiae faciliores fiunt ad explicandum et efficiendum. Incipere discere de technologia AI/ML et quomodo adiuvare possunt ordinationem tuam crescere.

occasum

Plures modi sunt ad instituendum et utendum porta Pythone:

  • operating ratio
    • Fenestra
    • Linux
    • Mac
  • Docker
    • Utere imagine ex DockerHub
    • Crea tuum aspectum

Quamcumque institutionis methodum, codicem fonte indigebis. Solum locum ut download in codice est solvo paginam. Continet emissio probata stabilis, iustus sumo tardus. In momento est 0.8, sed tempus novum erunt. Noli clone/download repositorium, novissimam emissionem tolle.

operating ratio

Si Pythonem Gateway instituis in systemate operante, primum (quantumcumque systematis operandi) debes Pythonem instituere. Quia haec:

  1. Instrue Pythonem 3.6.7 64 bit. Commendatur ut Python instituat in directorio default.
  2. Modulus install dill: pip install dill.
  3. Download the ObjectScript code (i.e. do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)) Ad aream cum products. Si vis aream existentem ad fructus sustentandos, currite: write ##class(%EnsembleMgr).EnableNamespace($Namespace, 1).
  4. Place callout DLL/SO/DYLIB ut folder bin tuum interSystems IRIS exempli gratia. Fasciculus bibliothecae praesto esse debet in itinere rediens write ##class(isc.py.Callout).GetLib().

Fenestra

  1. Vide elit variabilis PYTHONHOME demonstrat Python 3.6.7.
  2. Vide systema variabilis sit amet PATH contineat variabilis PYTHONHOME (vel indicem demonstrat).

Linux (Debian/Ubuntu)

  1. Reprehendo quod elit variabilis est PATH is habet /usr/lib и /usr/lib/x86_64-linux-gnu. utere file /etc/environment ut amet variables.
  2. In casu erroribus undefined symbol: _Py_TrueStruct occasum PythonLib. etiam in legere me Troubleshooting est sectionem.

Mac

  1. Currently solum Python 3.6.7 facit python.org. Reprehendo in variabilis PATH.

Si variabiles ambitus mutasti, interSystema productum tuum sileo.

Docker

Vasa utens multa commoda habet:

  • Portability
  • effectiveness
  • Insulation
  • levitas
  • Immutabilitas

Reprehendo sicco hoc series articulorum plus informationes de usura Docker cum interSystems productis.

Omnia Python Gateway builds are currently continens based 2019.4.

Promptus imago

Curre: docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latestPortiuncula Python cum InterSystems IRIS Community Edition et currunt. Id omne.

Crea tuum aspectum

Condere dorsum imaginem, currere in repositorio radicem; docker build --force-rm --tag intersystemscommunity/irispy:latest ..
Defalta, imago aedificatur secundum imaginem store/intersystems/iris-community:2019.4.0.383.0tamen hoc mutare potes ponendo variabilem IMAGE.
Ab InterSystems IRIS aedificare, curre: `docker aedificare --aedifica-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy:latest".

Post hoc phialam imaginem currere potes:

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

Si imagine adhibita in interSystems IRIS Community Editionis adhibes, clavem omittere potes.

Comments

  • Processus test isc.py.test.Process salvat aliquot imagines ad tempus presul. Hanc viam ad directorium ascendentem mutare velis. Hoc facere, creare occasum WorkingDir ratione equestris presul.
  • Ut accedere ad terminum currere: docker exec -it irispy sh.
  • Aditus ad Ratio Management Portal by login SuperUser/SYS.
  • siste continens, curre; docker stop irispy && docker rm --force irispy.

Probari possit institutionem

Portam Python olim instituisti, reprehendo operas pretium esse. Hunc codicem exerce in interSystemis IRIS terminatio:

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

Eventus sit, HELLO - Python variabilis pretii x. Si reditus status sc est error vel var inanis, reprehendo Readme - Troubleshooting sectionem.

API

Python porta inaugurata est et opera eius comprobasti. Tempus est ut id utatur!
Pelagus interface Pythone is isc.py.Main. Hoc modorum coetibus praebet (omnes reditus %Status):

  • Code Execution
  • notitia translatio
  • subsidiary

Code Execution

Hae methodi permittunt te arbitrariam Pythonis codicem exequi.

SimpleString

SimpleString — Haec praecipuus modus est. IV rationes ad libitum capit:

  • code - linea codicis facere. Mores line pascere; $c(10).
  • returnVariable — nomen variabile reddere.
  • serialization - quomodo serialize returnVariable. 0 — string (default), 1 — repr.
  • result - ByRef referat ad variabilium in qua scriptum est pretium returnVariable.

Superius fecimus;

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

Hoc exemplum Pythoni variabilis assignamus x idest Hello et vis reddere valorem Pythonis variabilis x ad ObjectScript variabilis var.

ExecuteCode

ExecuteCode tutius et minus restrictivum est optio SimpleString.
Lineae in suggestu interSystematum IRIS ad 3 characteribus limitantur, et si longiorem codicis partem exercere vis, filis uti debes.
Duae rationes accipiuntur;

  • code — Linea seu rivus codicis Pythonis ad supplicium.
  • variable - (libitum) effectus supplicium assignat code hoc Python variat.

Exemplum uti:

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

In hoc exemplo multiplicamus 2 in 3 et eventum Pythonis variabilis scribimus y.

notitia translatio

Data et a Pythone transi.

Python -> InterSystems IRIS

Sunt 4 modi ut Pythonis variabilis valor in IRIS interSystems, prout in serializatione debes:

  • String ad simplex notitia genera et debugging.
  • Repr pro repono simplicibus et debugging.
  • JSON pro facili data manipulatione in interSystemis IRIS parte.
  • Pickle res salvare.

Hae methodi permittunt te variabiles a Pythone ut chorda vel rivulos reciperare.

  • GetVariable(variable, serialization, .stream, useString) - possidebit serialization variabilis variable в stream. si useString est 1 et serialisatio in filo ponitur, dein chorda redditur et non rivus.
  • GetVariableJson(variable, .stream, useString) — posside JSON serializationem variae.
  • GetVariablePickle(variable, .stream, useString, useDill) -get ALEX (vel Dill) serialization variabilis.

Sit scriptor experiri ad nostram variabilis y.

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

InterSystems IRIS -> Python

Loading data ab InterSystems IRIS in Python.

  • ExecuteQuery(query, variable, type, namespace) - gignit dataset (pandas dataframe aut list) ex sql interrogatione et Pythone variabilis variable. Plastic sacculum isc.py praesto esse debet in area namespace - ibi exsecutioni mandari petitio.
  • ExecuteGlobal(global, variable, type, start, end, mask, labels, namespace) - onerat global notitia global ex subscript! start ad end in Pythone ut genus variabilis type: listaut pandas dataframe. Description of libitum rationes mask et labels available in genus documenta et repositio Data serie docs.
  • ExecuteClass(class, variable, type, start, end, properties, namespace) - onerat genus data class ex id * start ad end in Pythone ut genus variabilis type: listaut pandas dataframe. properties — album (per comma separatum) proprietatum classium quae onerari necesse est in notitiarum copiarum. larvae suscepit * и ?. Default - * (omnia possessiones). Property %%CLASSNAME neglecta.
  • ExecuteTable(table, variable, type, start, end, properties, namespace) - onerat mensam data table ex id * start ad end in Python.

ExecuteQuery — universale (quaestio quaevis recta SQL Pythone afferetur). Sed ExecuteGlobal et derecta ExecuteClass и ExecuteTable opus est multis angustiis. Sunt multo velociores (3-5 temporibus velociores quam ODBC exactoris et 20 temporibus velociores ExecuteQuery). More information at Data serie docs.
Omnes hi modi subsidii notitiae translationis ab aliqua provincia. Plastic sacculum isc.py praesto esse debet in area scopum.

ExecuteQuery

ExecuteQuery(request, variable, type, namespace) — eventus ullius rectae interrogationis SQL ad Pythonem transferens. Haec notitia translationis modum tardissimum est. Utere, si ExecuteGlobal et involucris eius non sunt in promptu.

Argumenta:

  • query — sql nonnulla.
  • variable — Pythonis nomen variabile, in quod notitia scribitur.
  • type - list vel Pandas dataframe.
  • namespace - area in qua voluntas exsecutionis est.

ExecuteGlobal

ExecuteGlobal(global, variable, type, start, end, mask, labelels, namespace) — in Pythone allati.

Argumenta:

  • global - global nomen sine ^
  • variable — Pythonis nomen variabile, in quod notitia scribitur.
  • type - list vel Pandas dataframe.
  • start — primum globalis subscriptum. Necessario %Integer.
  • end — ultima subscriptio globalis. Necessario %Integer.
  • mask - global valorem larva. Persona brevior quam numerus agrorum in global (quo casu agri in fine omittentur). Quam personam formare:
    • + pass, quanti sit.
    • - omit pretii.
    • b - Boolean genus (0 - Falseomnes reliqui - True).
    • d - Date (ex $horolog, in Fenestra ab anno 1970, in Linux a 1900).
    • t — Tempus ($ horologum, secunda post mediam noctem).
    • m - Timestamp (forma chorda ANNO-MENSES DIES HORA: MIN: SECUNDA).
  • labels — %Index columnae nominum. Primum elementum est nomen subscripti.
  • namespace - area in qua voluntas exsecutionis est.

ExecueClass

involvent ExecuteGlobal. Ex genere definitionis praeparat vocatio ExecuteGlobal et vocat eum.

ExecuteClass(class, variable, type, start, end, properties, namespace) — Transeat classis data in Pythone.

Argumenta:

  • class - genus nomen
  • variable — Pythonis nomen variabile, in quod notitia scribitur.
  • type - list vel Pandas dataframe.
  • start — incipiens ID.
  • end - finalis Id
  • properties — album (per comma separatum) proprietatum classium quae onerari necesse est in notitiarum copiarum. larvae suscepit * и ?. Default - * (omnia possessiones). Property %%CLASSNAME neglecta.
  • namespace - area in qua voluntas exsecutionis est.

Omnes proprietates traduntur ut praeter genus possessiones %Date, %Time, %Boolean и %TimeStamp — vertuntur in classes Pythonis debitae.

ExecuteTable

involvent ExecuteClass. Nomen mensae genus in nomen vertit et vocat ExecuteClass. Subscriptio:

ExecuteTable(table, variable, type, start, end, properties, namespace) — Fasces mensae data Pythone.

Argumenta:

  • table — mensa nomen.
    Omnia alia argumenta procedunt ut dictum est ExecuteClass.

dicta

  • ExecuteGlobal, ExecuteClass и ExecuteTable aeque laborare ieiunare.
  • ExecuteGlobal XX temporibus citius, quam ExecuteQuery in magna notitia sets (translatio temporis >0.01 seconds).
  • ExecuteGlobal, ExecuteClass и ExecuteTable in globals cum hac structura operantur: ^global(key) = $lb(prop1, prop2, ..., propN) quibus key — integer.
  • Ad ExecuteGlobal, ExecuteClass и ExecuteTable suscepit range of values %Date respondet range mktime et in OS pendent (Fenestra: 1970-01-01; Linux 1900, 01, 01, Mac). Usus %TimeStampad transferendum data extra hunc range vel uti pandas dataframe quia hoc est index-tantum limitatio.
  • Ad ExecuteGlobal, ExecuteClass и ExecuteTable omnia argumenta praeter fontem (globale, genus vel tabula) et variabiles libitum sunt.

exempla

Test genus isc.py.test.Person continet modum demonstrandi omnia notitia translationis optiones:

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)

Modum voca do ##class(isc.py.test.Person).Test() ut videam quomodo omnes notitiae translationis methodi operantur.

Modi adiutoris

  • GetVariableInfo(variable, serialization, .defined, .type, .length) - informationes de variabili: num definiatur, eius genus et longitudo serialization.
  • GetVariableDefined(variable, .defined) — variabilis definitur an.
  • GetVariableType(variable, .type) - obtine genus variabilis.
  • GetStatus() — Accipe et eximium Pythone latus aufer.
  • GetModuleInfo(module, .imported, .alias) - get modulus variabilis et import status.
  • GetFunctionInfo(function, .defined, .type, .docs, .signature, .arguments) - notitia de munere.

Interoperability

Didicisti quomodo a termino a porta Python vocare, nunc in productione incipiamus uti. Fundamentum mutuae cum Pythone hoc modo est isc.py.ens.Operation. Permittit nobis;

  • Judicium signum in Pythone
  • Salvum / redde context Python
  • Onus et notitia ex Pythone

Plerumque Python operatio est fascia super isc.py.Main. Operatio isc.py.ens.Operation facultatem praebet processum Pythonis penitus ab interSystemis IRIS productis. Quinque queries sustentantur:

  • isc.py.msg.ExecutionRequest ad pythonem codicem exequi. redit isc.py.msg.ExecutionResponse cum effectu exsecutionis et valorum variabilium rogatarum.
  • isc.py.msg.StreamExecutionRequest ad pythonem codicem exequi. redit isc.py.msg.StreamExecutionResponse effectus exsecutionis et valorum variabilium rogatorum. Analogia isc.py.msg.ExecutionRequestsed pro chordis accipit ac redit rivos.
  • isc.py.msg.QueryRequest ut transmitteret exitum exsecutionis SQL quaesitum est. redit Ens.Response.
  • isc.py.msg.GlobalRequest/isc.py.msg.ClassRequest/isc.py.msg.TableRequest quia transiens global / class / data mensa. redit Ens.Response.
  • isc.py.msg.SaveRequest servare Pythonem contextu. redit Ens.StringResponse cum contextu ID.
  • isc.py.msg.RestoreRequest ad Pythonem contextum restituendum.

    Praeterea, isc.py.ens.Operation Duo occasus habet:

    • Initializer - genus eligendo quod instrumento interface isc.py.init.Abstract. Ad onera onera, moduli, classes, etc. Fit statim cum processus incipit.
    • PythonLib - (Linux tantum) si errores cum oneratione vides, valorem suum pone libpython3.6m.so vel etiam in pleno itinere ad Pythonem bibliothecam.

Creatio negotii processuum

Duo genera praesto sunt quae progressionem negotii processuum faciliorem reddunt:

  • isc.py.ens.ProcessUtils permittit ut annotationes ex operationibus variabili substitutione extrahat.
  • isc.py.util.BPEmulator cum Pythone negotium processus experiri facile facit. Processus negotii (Pythonis partes) in praesenti processu exequi potest.

Substitutio variabilis

Omnes res processuum hereditario isc.py.ens.ProcessUtils, modum uti potest GetAnnotation(name) ut actio valorem per nomen suum annotationem. Annotationum actio variabiles continere potest, quae in parte interSystematum IRIS computabuntur antequam Python transeat. Hic syntaxis est pro variabili substitutione:

  • ${class:method:arg1:...:argN} - modum vocationis
  • #{expr} — codicem faciant in lingua ObjectScript.

Exemplum est available in test processus negotium isc.py.test.Processverbi gratia, in actione Correlation Matrix: Graph: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png'). In hoc exemplo:

  • #{process.WorkDirectory} Redit WorkDirectory res rei processquae est instantia ordinis isc.py.test.Process illae. negotiatores processus.
  • ${%PopulateUtils:Integer:1:100} vocat modum Integer class %PopulateUtilsTransiens rationes 1 и 100, reversus temere integer in range 1...100.

Test processus negotium

Test producta et processus negotiatores probati praesto sunt per defaltam ut partem portae Pythonis. Uti illis;

  1. In OS terminatio currite; pip install pandas matplotlib seaborn.
  2. In IRIS terminalibus interSystems, currunt; do ##class(isc.py.test.CannibalizationData).Import() imple in test data.
  3. Lorem products isc.py.test.Production.
  4. Mitte petitionem type Ens.Request в isc.py.test.Process.

Videamus quomodo omnia simul cooperantur. Apertum isc.py.test.Process in BPL editor:

Python Gateway in InterSystems IRIS

Code Execution

Potissimum provocatio pythonis codicem exequitur:

Python Gateway in InterSystems IRIS

Query usus est isc.py.msg.ExecutionRequesthic sunt eius proprietates;

  • Code — Python codice.
  • SeparateLines — num codicem in lineas pro executione dividere. $c(10) (n) chordis separatis adhibetur. Nota quod non commendatur statim ut totum nuntium procedamus, hoc munus solum ad processum intendit def et similia plura. Default 0.
  • Variables - Index variabilium commate separatorum quae responsioni addenda erunt.
  • Serialization - Quomodo ad serializandum variabiles reddere volumus. Optiones: Str, Repr, JSON, Pickle и Dill, default Str.

In nostro casu tantum proprietatem constituimus Codesic omnes aliae proprietates defaltis utuntur. Constituimus eam appellando process.GetAnnotation("Import pandas"), quae tempore currenti reddit annotationem post variam substitutionem peractam. Ceterum signum import pandas as pd migrabitur ad Python. GetAnnotation utiles esse possunt ad obtinendum multi- versus scripta Pythonis, sed non sunt restrictiones in hoc codice obtinendi. Vos can possessionem Code quoquo modo conuenit.

Questus Variabiles

Alius interesting provocatione utens isc.py.msg.ExecutionRequest - Correlation Matrix: Tabular:

Python Gateway in InterSystems IRIS

Matrix in Pythone latus computat et variabilem extrahit corrmat ad InterSystems IRIS in JSON forma ponendo petitionem proprietatum:

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

Eventus videre possumus in Vestigio Visual:

Python Gateway in InterSystems IRIS

Et si hoc valore in BP indigemus, hoc modo accipere possumus: callresponse.Variables.GetAt("corrmat").

notitia translatio

Deinceps de translatione notitiarum interSystems IRIS ad Pythonem de translatione, omnes petitiones pro notitia translationis interfaciendi effectum deducendi sunt. isc.py.msg.DataRequestquae sequuntur dotes praebet;

  • Variable — Python variabilis, in quem notitia scribitur.
  • Type - genus variabile: dataframe (Pandas dataframe) or list.
  • Namespace - area de qua accipimus data. Plastic sacculum isc.py in hac provincia praesto sit. Hoc spatium sine auxilio productum esse potest.

Ex hoc instrumento, IV genera petitionum implentur;

  • isc.py.msg.QueryRequest - pone res Query ut mitteret SQL quaesitum est.
  • isc.py.msg.ClassRequest - pone res Class ut id elit.
  • isc.py.msg.TableRequest - set proprietas Table transferre mensam data.
  • isc.py.msg.GlobalRequest - set proprietas Global ad global notitia translationis.

In processu probato, vide in actione RAWquibus isc.py.msg.QueryRequest ostensum est in agendo.

Python Gateway in InterSystems IRIS

Excepto / restituendo Python Context

Postremo, contextum Pythonis in IRIS interSystemis servare possumus, ut hoc facere nos mittamus isc.py.msg.SaveRequest cum argumentis;

  • Mask — Tantum variabiles quae larvae par salvantur sunt. Supported * и ?. Exemplum: "Data*, Figure?"... Default *.
  • MaxLength — Maxima longitudo variabilis conditae. Si longior serialization variabilis, ignorabitur. Pone 0 ut variabiles cuiuslibet longitudinis. Default $$$MaxStringLength.
  • Name — Nomen Contextum (libitum).
  • Description — Descriptio contextus (libitum).

recurrit Ens.StringResponse с Id servata contextu. In processu probato, vide in actione Save Context.

Related request isc.py.msg.RestoreRequest onerat contexta ab InterSystems IRIS in Pythone:

  • ContextId — context identifier.
  • Clear - ante redderet contextu purgare.

Pentium Jupyter

Pentium Jupyter fons apertus est applicationis interretialis qui te permittit ut pugillares in quibus codicem, visualizationes et textum creare ac edere sinat. Python Gateway permittit te inspicere et BPL processum in forma Iuppiter codicillorum recensere. Quaeso nota quod Python 3 ordinarius exsecutor hodie adhibitus est.

Haec extensio supponit adnotationes codicem Python continentes et nomina actionis adhibet ut titulos praecedentes. Nunc fieri potest ut processus negotiorum PythonGateway in Iupyter Comentario enucleetur. Ecce id quod fieri potest;

  • Novam rem processus
  • Delere negotiorum processuum
  • Novam actiones
  • Mutationem actiones
  • Delere actiones

hic demo video. Et pauca eenshotsscray;

Processus Explorer

Python Gateway in InterSystems IRIS

Processus editor

Python Gateway in InterSystems IRIS

occasum

  1. Opus erit interSystems IRIS 2019.2+.
  2. PythonGateway install v0.8+ (modo requiratur isc.py.util.Jupyter, isc.py.util.JupyterCheckpoints и isc.py.ens.ProcessUtils).
  3. Renova in codice ObjectScript e conditorio.
  4. Curre do ##class(isc.py.util.Jupyter).Install() sequere suadet.

Документация.

Inventiones

MLToolkit est instrumentum instrumentorum cuius finis est exempla coniungendi et ambitus transactionalis ut exempla aedificata facile directe in processibus tuis negotiis adhiberi possint. Python Gateway MLToolkit est pars et cum Pythone linguae integrationem praebet, permittens te orchestrare omnem machinam discendi algorithmos in Pythone creatos (praecipuum ambitum multorum Datarum Scientistarum), utere bibliothecas numerosas paratas factas ut cito creare adaptivam, roboticam analyticam AI / ML solutiones in sessionum suggestu IRIS.

References

MLToolkit

MLToolkit usoris coetus GitHub repositorium privatum creatum est ut pars interSystematum corporatum GitHub organizationem creatum est. Propositum est externis usoribus qui instituunt, discunt vel iam MLToolkit utentes, inclusa porta Pythone. Coetus plures casus effectos habet (cum codice fonte et notitia testium) in agris venalicium, fabricandis, medicinalibus et multis aliis industriis. Ut iungas ML Toolkit User sodalicii, mitte inscriptionem brevem cum inscriptione sequenti: [Inscriptio protected] et sequentia notitia in tuis litteris includit:

  • GitHub usoris
  • Organization (operas vel studio)
  • Situs (tuus positus in ordinatione tua, vel "Discipulus" vel "Independens").
  • patriam

Pro iis qui articulum legerunt et interSystems IRIS in suggestu ad facultates explicandas vel obnoxias intellegentiae artificialis et machinamenta discendi machinis percunctantur, invitamus te ut de possibilibus missionibus quae commodas inceptis tuis discuterent. Laeti erimus tuae societatis necessitates resolvere et actionem consilii coniunctim determinare; Contactus inscriptio electronica nostri AI/ML bigas peritus - [Inscriptio protected].

Source: www.habr.com

Add a comment