I'm after some more in-depth information about how the embedded python is implemented with regards to how it works when a python method is called from a CSP page. Will it run in the same Windows process? Will there be any issues with multitasking (considering python doesn't seem very good at this)?

Also, is there a performance penalty to pay for running embedded python vs "using IRIS APIs from Python".

Another question is what python interpreter the embedded python is using? Is it an Intersystems one or the regular c.python? Version?

Excited to go Python!

0 2
0 256

When looking at the "Current License Usage Summary" web page, there is a line for both local and distributed "Maximum Connections". I have scrutinized every class that seems reasonable to contain this information but have found nothing that matches the values on the web page. I do not believe these are related to license specifically though I did review all of the potential attributes of the license related classes to no avail.

0 2
0 304

I am writing a Python tools I want to access the %Monitor.System.License properties:

  1. AvailableDist
  2. AvailableLocal
  3. MaxUsedDist
  4. MaxUsedLocal
  5. CurrentUsedDist
  6. CurrentUsedLocal

Initially I want to develop Objectscript to verify access to the properties. But I can not figure the proper syntax.

I first attempted:

set ans = ##class(%Monitor.System.License).AvailableDist

which failed.

I tried another approach:

set ans = ##CLASS(%Monitor.System.License).%GetParameter("AvailableLocal")

0 2
0 253

I have the object query:

s Rset=##class(%ResultSet).%New("%SYSTEM.License.UserListAll")

I can loop through that query and it generates the report information that I need.

I have a Python process where I use the intersys import to connect to the Cache instance. But I have been unable to determine the correct syntax in Python for this query. Being that 'UserListAll' is a query I attempted to user:

res = <query>.prepare("select * from %SYSTEM.License_UserListAll")

0 2
0 293

I have developed a process that pulls data elements from a cache instance using the tools provided with the "intersys.pythonbind3" import. This is a windows box. After validating the process, the next step is to install the process on a site (Windows) that does not have an installed version of cache and access the cache instance remotely. But, since intersys.pythonbind3 is part of the cache install, I am not sure what to do to allow this process to function because of the missing import.

0 1
0 338

I am in the process of creating a python report writer that includes the information contained in "License Usage" page of the management portal. I think I have a handle on the local values contained in the report using the %SYSTEM.License class I have those defined using these methods:

Current License Units Used - -> LUConsumed

Maximum License Units Used --> LUMaxConsumed

License Units Enforced --> KeyEnforcedUnits

License Units Authorized --> KeyLicenseUnits

0 5
0 281

I have a python script that is pulling the cache instance key expiration date ( KeyExpirationDate() ) which comes back as an integer. With the queryscript function - $ZDATE(73284) I can derive the actual expiration date. Is there a manner or method of creating an equivalent Python script that will convert the integer return by the KeyExpirationDate() method into a date string?

0 1
1 233

I am writing a Python tool to query our cache instances for various information. I have set up the connection without issue:

import intersys.pythonbind3 as pyb

conn = pyb.connection()
conn.connect_now(.....)

db = pyb.database(conn)
qry = pyb.query(db)
obj = pyb.object(db)

I wanted to make the call:

execRes = qry.prepare_class("SYS.Database",'FreeSpace')

But fetching fails because of data mismatches ( as I understand from other posts) and my testing bears out this type of failure.

0 6
0 191
Question
· Jan 29, 2022
Calling Python Class Methods

Hi,

What is the Python syntax I can use from a ClassMethod (developed in an IRIS using embedded Python), in order to invoke another class method,

- in the same class; and

- in another class.

I see 'self' is synonymous to use $this (..) in ObjectScript, but these are ClassMethods I am invoking, and self did not seem to work.

thanks - Steve

1 5
0 469
Question
· Nov 4, 2021
IRIS Language Bridge Python

At the recent virtual conference I saw the demonstration on being able to run Python within ObjectScript and run ObjectScript within Python thanks to a feature called Language Bridge. Is this available now? If so, am I able to install it? I am currently running HealthShare 2020.1. I have a little bit of experience using Irisnative with Python but was intrigued with the more seamless-looking features offered by the Language Bridge.

Thanks for any insight.

Marlin Mixon

1 5
0 257

Is there a way to automatically transform Object Script arrays to Python lists? This code results in a list of arrays

Iter0 =  dbnative.iterator("HS.Data.OIDMapD")
for subscript, value in Iter0.items():
    print(f"subscript={subscript}, value={value}")

Here is the result:

subscript=1, value=2.16.840.1.113883.3.86ISCInterSystems Corporation

I suppose it would be too hard to parse this into a list, I was just wondering if there was a function provided to make it convenient and proper.

Thanks,

Marlin Mixon

0 2
0 187

Hello,

I believe that the Perl and Python bindings that exist on Cache / Ensemble do not exist on IRIS for Health 2020.1 ... is that correct?

Is there any similar documentation and samples (like below) , that show an example of how to run a basic Perl or Python script that connects with ODBC or whatever the recommended way?

http://docs.intersystems.com/cache20102/csp/docbook/DocBook.UI.Page.cls?...

0 6
0 154

I was interested in accessing IRIS (Healthshare) using Python. I found instructions how to this here: https://github.com/intersystems/quickstarts-python/tree/master/Solutions...

The installation went well using pip and when python executes "import irisnative" it works fine. It just fails with a connection timeout when I try "irisnative.createConnection(...)." Below is my code:

0 3
0 227
Question
· Nov 11, 2020
Create Database using Python
I am trying to create a database using python. The example shows setting a Name string and a Properties object containing Directory=.

; Use class methods to create an instance
 %SYS>s Name="ABC"
 %SYS>s Properties("Directory")="c:\abc\"
 %SYS>s Status=##Class(Config.Databases).Create(Name,.Properties)
 %SYS>i '$$$ISOK(Status) w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

How do I update and pass the Directory property using Python?

0 3
0 233
Question
· Oct 27, 2020
Configure IRIS using Python

I am trying to configure IRIS using python. The first task I wanted to do it change the journal directory. I cannot figure out the right way to work with the Config.Journal class with python. I can get the text to query the current setting.

returnValue = dbnative.classMethodValue("Config.Journal","GetList")
print(returnValue )

But I don't see a straightforward way to parse the $List returned by GetList() I was hoping there was an easier way.

How do I

1. Query configuration parameters?

2. Set configuration parameters?

Using python?

0 2
0 206

Hello there community,

I am pleased to say that i have started building a product and I have chosen InterSystems technology to be used in it.

But I have a confusion with regard to it.

I actually have to come to a conclusion to whether to use CACHE or IRIS.

I will be using a lot of data and also integrating it along with Python for DEEP and Machine Learning.

Also I do not have an idea of how to get the licensed version of either of that.

0 3
1 254
Question
· Sep 9, 2020
Build Python bind

I'm testing with an application I'm writing in python.
But I noticed that the pythonbind3 library will only work on the same machine where the cache is running. Is there really such a dependency?

I'm trying to run the examples that are in the / dev / python / samples3 folder, but they only work if I set "LD_LIBRARY_PATH" with the path to the cache installation folder.

But... I have this error when LD_LIBRARY_PATH is empty:

0 1
0 340

Pyodbc supports calling stored procedure , but if the IRIS Stored Procedure ROWSPEC has a column with datatype specified as %Date or %Time, Pyodbc fails to fetch it and throws this error.

"

pyodbc.Error: (' 2201', '[ 2201] [Cache ODBC][State : 22018 ][Native Code 22005]\r\nERROR #388: Unknown error, code 22005 (22005) (SQLGetData)')

"

on printing the cursor execute description, pyodbc reads the column as <int>.

0 3
0 827

Hi,

I was playing around with the python binding for caché (2018.1.4) and I ran into some problems.

When executing the class query "List" from SYS.Database the pythonbind interface throws an exception, that seems to be caused by a mismatch of the defined SQL datatypes for this query and what is actually returned (or the lack of type conversion in the pythonbind interface).

Is this a known issue ? Are there solutions/workarounds for this,
Or is this a bug ?

The details:

0 4
0 447

I have a simple python script to pull table information from cache 2018.1.2 which is on a windows 10 machine. I get no results though the same query in the management portal works correctly:

import os
import sys
import intersys.pythonbind3 as ipyb
import numpy as np

# Connect to the Cache' database
url = "localhost[1972]:%SYS"
user = "xxxx"
password = "zzzzz"

accessKey = (url, user, password)

def main(accessKey):

0 8
0 234
Question
· Jan 27, 2020
IRIS supports of Python and C++

I cannot find those folders under my IRIS install dev folder. Those were in my cache install dev folder.

Will InterSystems drop those support? If yes, why are there some discussion about Python/Iris in this forum?

Of course, I wish IS continue to support those.

0 23
0 1.3K