Congratulations on becoming a published author!
- Log in to post comments
Congratulations on becoming a published author!
Yes! Our default stance -- barring security or other concerns -- is to make these bug reports public after we moderate. We didn't think about needing the submitter to opt-in to public status because I assumed that would be expected. @Dmitry Maslennikov I hear you that an important audience for this is the open source developer who isn't a formally licensed InterSystems customer.
Remember we are not trying to replace the official way of handling customer bug reports, which is still via the WRC. We are simply expanding our ability to listen to users, with a way for developers who aren't operating under formal licenses -- mainly during hackathons or contests -- to get us information about problems they may be seeing.
Great to see you become a "senior statesman"!
Agreed. I think I now understand you don't need to know how to authenticate a user. Do you want to (after initial authentication) pass those authentication credentials to another app?
Also referred to as instance authentication in the documentation.
See this article. Are you able to follow those instructions?
@Ronaldo Nascimento what kind of connection? DBAPI? Can you share a code sample?
The AI bot isn't paying attention to the Python part of the question?
Thanks for the question, @Dienes. The simple answer is no, there is no set expiration time. We like to keep deprecated features around as long as a good number of users are depending upon them in production. Some reasons why a feature would be removed are: keeping the deprecated library conflicts with important features of the replacement; it becomes too burdensome to support the deprecated one; or the deprecated one becomes a risk in terms of security or data integrity. That hasn't happened yet with the libraries you mention.
Thanks for all you contribute to our community! 🎖
Hi @Justin.Millette. It isn't possible to support multiple in-process Python virtual environments simultaneously. This is because a Python virtual environment is defined at the operating system level, not the application level. A virtual environment consists of a specific Python executable and a set of associated libraries running within an OS-level process. Since IRIS itself is an OS-level process, it can only host a single Python interpreter when running Python code in-process. Supporting multiple virtual environments in this context would require multiple OS processes, which would negate the benefits of embedded execution. If you really need virtual environments, use normal client-side Python.
Sounds like it's more accurate to say you want to exclude web applications that ship with IRIS, not only those that are of type "System."
Using the security.applications table @David Hockenbroch mentioned, I'd exclude those from namespaces InterSystems uses for product, e.g.:
SELECT name,namespace,resource,type FROM security.applications
WHERE NameSpace not in ('%SYS','HSSYS','HSLIB','HSCUSTOM').png)
Hi Nezla. It sounds like you want to do Python-only development. In that case, you'll want to write a Flask app or similar. Search this site for Flask and you'll find many articles, such as this one: https://community.intersystems.com/post/simplest-template-rest-crud-int….
Let me comment separately on the venv question. Remember, you could choose to run your flask app in a separate container and use Docker compose to orchestrate the containers. That will give you all the normal venv options.
If, however, you choose to run your flask app embedded in IRIS (running using embedded Python), you are running in-process with IRIS, and that process can't load and unload Python virtual environments while maintaining the benefits of running in embedded mode, so therefore the implication for containerization is that yes you do have to create a new base image when you want to add a package, but that's the tradeoff.
Have you seen https://github.com/grongierisc/iris-flask-template? This agrees with a lot of what you found out, but might be a little simpler. The only thing I changed for my work is my pip3 install command in Dockerfile adds a --target as recommended by @Dmitry Maslennikov:
RUN pip3 install -r requirements.txt --target /usr/irissys/mgr/pythonThank you!
pip install sqlalchemy-iris[intersystems]
returns:
zsh: no matches found: sqlalchemy-iris[intersystems]
Could this be because I'm on an M2 Mac?
Congratulations @Mihoko Iijima!
Nice, @Trent Chismar! Could you publish this to OpenExchange?
Hi @John.McBrideDev. We don't currently support formal debugging for embedded Python, so you won't be able to set breakpoints, etc. We're working on this high priority functionality.
Thanks @John Murray for all your expert contributions to the InterSystems/VS Code ecosystem!
For Chrome, if you know how to modify HTTP headers directly, this one seems reliable and popular (but I haven't tried it): https://chromewebstore.google.com/detail/requestly-intercept-modif/mdnl…
Hi @Alan Nguyen . Starting with IRIS 2404.2, Studio is a separate install.
Get all the details in this article
So now the problem isn't installing the Python library, but connecting to IRIS, correct? If you're using the above code on both servers, is the connection info the same on both servers?
For those who find this post later, my "sources" tell me https://wrc.intersystems.com/wrc/coDistGen.csp should have worked -- definitely if you are a registered customer.
Here's the link to InterSystems Components. It requires a login.
Congratulations!
Great suggestions here. This reminds me the folks at myCTS once again showed off webHERALD at Global Summit this year. Another option in this space. @Armin Forstner could say more.