1 フォロワー · 124 投稿

Pythonは、汎用プログラミング用のインタープリター型の高水準のプログラム言語です。 Guido van Rossumによって作成され、1991年に最初にリリースされたPythonは、特に重要な空白を使用してコードの可読性を強調する設計哲学を持っています。 公式サイト。

記事 Mihoko Iijima · 2023年4月4日 7m read

開発者の皆さん、こんにちは。

Python Native APIを利用すると、IRISにあるグローバル変数の参照/更新をPythonから行えたり、メソッドやルーチンをPythonから実行することができます。

この記事では「AWS Lambda の IRIS Python Native API IRIS」の記事を参考に、NativeAPIを利用してPythonからIRISに接続するAWS Lambda関数を作成する流れで必要となる、レイヤー作成と関数用コードの作成例をご紹介します。

※ 事前にAWSのEC2インスタンス(Ubuntu 20.04を選択)にIRISをインストールした環境を用意した状態からの例でご紹介します。

0
0 424
お知らせ Rie Tokue · 2023年3月29日

開発者の皆さん、こんにちは。インターシステムズジャパン、マーケティング担当・徳江です。

弊社は4月26日(水)13時30分~14時「Pythonでデータベースプログラミング」と題し、

オンラインセミナーを開催いたします。

【概要】

本セミナーでは、InterSystems IRIS Data Platformの機能であるEmbedded Pythonをご紹介し、IRISのデータベースを扱う

Pythonプログラムの基本的な書き方をご説明します。デモもお見せする予定です。

Embedded Pythonは、IRISのサーバサイドのロジックをPythonで記述するための仕組みです。Embedded Pythonによって、

・ IRISの開発者が、Pythonの豊富なライブラリを簡単に活用することが可能になります。

・ Pythonプログラマが、IRISの高性能なデータベースを利用するプログラムを容易に開発することができます。

0
0 235
記事 Mihoko Iijima · 2023年3月23日 11m read

開発者の皆さん、こんにちは。

AWSのEC2インスタンス(Ubuntu 20.04を選択)にIRISをインストールした環境を事前に用意した状態からの流れですが、AWS Lambda 関数からPyODBC経由でIRISに接続するまでの流れを試してみました。

以下の流れでご紹介します。

1. レイヤーを作成する

2. Lambda関数を作成する。

3. 1,2の流れをCloudformationで行う例

例で使用しているコード一式はこちらにあります👉https://github.com/Intersystems-jp/iris-pyodbc-lambda
 

0
0 954
記事 Mihoko Iijima · 2023年2月24日 3m read

開発者の皆さん、こんにちは!

InterSystems デベロッパーツールコンテスト2023 の21の応募作品の中から、Experts Nomination 第4位に輝いた @Muhammad Waseemさんのiris-geo-map(インタラクティブに地図を生成し、地理データを視覚化するツール)についてご紹介します。

このツールは、Embedded Pythonを利用していて Folium Python ライブラリを使用されています。

特徴については @Muhammad Waseemさんの Open Exchange のREADMEもぜひご参照ください。

それでは、さっそく、使用開始までの手順です。(とても簡単です)

IPM(InterSystems Package Mangaer:以前はZPMとも呼ばれていました)のクライアントツールを管理ポータルかスタジオからインポートしたら、以下コマンドを実行するだけでツールの準備が整います。

クライアントツールのインポートはどのネームスペースでも大丈夫です。管理ポータルからインポートされる場合は、以下メニューを利用します。

管理ポータル→システムエクスプローラ→クラス→インポート対象ネームスペースを選択→インポートボタンクリック

ツールを配置したいネームスペースに移動し、ZPMコマンドを利用してインストールします。

0
0 338
記事 Mihoko Iijima · 2023年2月21日 3m read

開発者の皆さん、こんにちは!

開発者向け情報を集めた「Developer Hub」ページが新たに登場しました!

(2025/10/9更新: 新たなチュートリアルが加わりましたので情報更新しました。)

このページには、5種類のチュートリアルが用意されています。チュートリアはブラウザ上で動作し、VSCodeやIRISターミナル、管理ポータルなどチュートリアルで使用するすべての画面が1つのタブ内で開くようになっています。

チュートリアルを試すための事前準備は不要で、クリック1回ですぐにお試しいただけます!(ユーザ登録も不要です)(チュートリアル開始方法は、ページ末尾をご覧ください。)

0
0 402
記事 Toshihiko Minamoto · 2023年2月16日 2m read

長い間、私たちはクエリの結果をExcelスプレッドシートにエクスポートするユーティリティを使用してきました。 さらに、このユーティリティの修正版を適用し、この修正版では、列のフォーマットを明示的に設定することが プライオリティとなっています。

このユーティリティは %SYS.ZENReportExcelExporter というモジュールを使用し、java プログラムをベースにしています。毎年、レポートが大きくなり、十分なJava RAMがなかったので、環境変数の値を増やさなければなりませんでした。その値が7GBに達し、今、問題になっています。

私たちは、このユーティリティの代わりとなるものを探して作ることにしました。 当然、私はpythonとopenxlライブラリに目をつけました。

Embedded Python アーリーアクセスプログラムに参加するにあたり、小さなサンプルを実装し、OpenExchangeに公開しました。 希望者には、機能開発に参加してもらいます。あとは、最終的なバージョンのリリースを待って、本番に適用することになります。

0
0 190
記事 Toshihiko Minamoto · 2022年12月21日 7m read

Django の可能性と IRIS の使用方法を引き続き観察しています。 初めにモデルの定義方法と、IRIS に存在しているテーブルへの接続方法を確認し、次に組み込みの Django 管理ポータルを拡張して、モデルに含まれるデータの表示、フィルタ、編集、そしてページネーションの機能を追加しました。

では、実際の動作を確認しましょう。posts-and-tags パッケージで使用したデータで Django に REST API を作成します。

それには、Django REST Framework を使用します。

Django REST Framework

Django REST Framework は、Web API を構築するための強力で柔軟性を備えたツールキットです。

REST Framework の使用を推奨するのには、以下のような理由があります。

  • Web で閲覧可能な API には、開発者のユーザビリティにおいて大きなメリットがあります。
  • OAuth1a と OAuth2 の認証ポリシーを含むパッケージ
  • ORM と非 ORM データソースの両方をサポートするシリアル化
  • すべてをカスタマイズ可能。強力な機能が必要なければ、通常の関数ベースのビューを使用できます。
  • 詳細なドキュメントと優れたコミュニティサポート
  • Mozilla、Red Hat、Heroku、Eventbrite など、世界的に有名な企業が使用・信頼
0
0 330
質問 Yuji Ohata · 2022年12月14日

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

この度、新たにUbuntu環境にIRISを入れてEmbedded Pythonを用いて開発をすることとなりました。
初期設定として、Ubuntuへのpythonのインストールが必要だと考えているのですが、
その時のバージョンの指定等はあるのでしょうか?

公式サイトを漁ってもうまく見つけられず、ご存知の方がいらっしゃれば教えてください。
同様の開発をされている方で、躓きポイントなど(Ubuntuだとスタジオ使えないからVSCode必須だよ)が
あれば、合わせて助言頂けますと幸いですcheeky

2
0 428
お知らせ Mihoko Iijima · 2022年11月10日

開発者の皆さん、こんにちは!

開発者コミュニティのYouTubeプレイリストにEmbedded Pythonの新しいセルフラーニングビデオを公開しましたのでお知らせします📣!

◆ Embedded Pythonでデータベースプログラミング:オブジェクトアクセス編

※YouTubeに移動していただくとプレイリストの中から好きなビデオを選択してご覧いただけます。

0
0 163
記事 Toshihiko Minamoto · 2022年11月8日 9m read

パート 1 では、Django で新しいプロジェクトを開始する方法を紹介し、新しいモデルの定義方法と既存のモデルの追加方法を説明しました。 今回は、初期状態で利用可能な管理者パネルとどのように役立つかについて説明します。 _重要な注意事項: この記事のアクションを繰り返しても、動作しません。 記事の途中で、django-iris プロジェクトにいくつか修正を行い、InterSystems が作成した DB-API ドライバーの課題もいくつか修正しました。このドライバーは現在の開発中であり、将来的に、より安定したドライバーが提供されると思います。 この記事では、すべてを実行した場合にどのようになるかを説明しているにすぎません。_

0
0 236
お知らせ Mihoko Iijima · 2022年11月7日

開発者の皆さん、こんにちは!

開発者コミュニティのYouTubeプレイリストに新しいセルフラーニングビデオを公開しましたのでお知らせします📣!

◆ IRISでPythonを使ってみよう!

※YouTubeに移動していただくとプレイリストの中から好きなビデオを選択してご覧いただけます。

0
0 255
記事 Toshihiko Minamoto · 2022年10月25日 8m read

私が一番興味を持っているのは、組み込み Python におけるグローバルの使用についてです。
そこで、提供されている公式ドキュメントを確認しました。

#1 グローバルの導入
グローバルとは何かについての一般的な説明。 次の章につながっています。

#2 ObjectScript の詳細について
組み込み Python の記述はありません。
さらに先に進むと...

#3 組み込み Python

3.1 組み込み Python の概要
3.1.1 グローバルの使用

グローバルを使ったことなければ、素晴らしい内容です。
が、驚くほど原始的な例が使われています。
3.2 組み込み Python の使用
最後の望み: >>> でも、目に見えるものが何もありません
残念どころではありません! Python 用の IRIS Native API でさえ、もっと説明されています。
何を期待していたかと言うと...

グローバルノードの SET、GET、KILL

Native API: 基本的なノード操作  そして

$DATA()、$ORDER()、$QUERY() によるナビゲーション

Native API: nextSubscript() と isDefined() によるイテレーション

0
1 335
記事 Toshihiko Minamoto · 2022年10月5日 4m read

IRIS における Python サポートの最近の改善と、InterSystems による Python DB-API サポートへの継続的な作業により、 Django プロジェクトに IRIS サポートを実装しました。Python DB-API の使用により、他のデータベースと連携することが可能です。

Django で、IRIS にデータを保存する単純なアプリケーションを試してみましょう。

ToDo アプリ

0
0 441
お知らせ Maki Hashizawa · 2022年10月4日

開発者の皆様、こんにちは。

インタ―システムズでは、本年7月に、「国際モダンホスピタルショウ 2022」に、3年ぶりに出展致しました。

ブースには、ミニシアターを設け、業界をリードする多くの方やパートナー企業様にプレゼンテーションをいただき、その動画を公開しています。

本日は、その中で、アプリケーション開発者の皆様に参考となる IRISを解説いただいたプレゼンテーション動画をご紹介させていただきます。

「Python + iknowpy... + IRISが変えるデータ分析  アプリケーション編」

「Python + iknowpy... + IRISが変えるデータ分析  アーキテクチャ編

<プレゼンター>

群馬大学医学部附属病院
システム統合センタ― 副センター長 准教授 鳥飼 幸太先生

その他、HL7 FHIRを解説やパートナーソリューション紹介など、国際モダンホスピタルショウ2022 インタ―システムズブースでのプレゼンテーション動画は、こちらからご覧いただけます。

よろしければ、ご覧ください。

0
0 105
記事 Toshihiko Minamoto · 2022年9月10日 49m read


このフォーメーション私の GitHub にあり、30 分で csv ファイルと txt ファイルの読み取りと書き込み方法、Postgres を使ったIRIS データベースリモートデータベースの挿入とアクセス方法、FLASK API の使用方法について説明します。これらすべてに、PEP8 命名規則に従った、Python のみのインターオペラビリティフレームワークを使用します。

このフォーメーションは、ほとんどをコピー&ペースト操作で実行でき、グローバル演習を行う前に、ステップごとの操作が説明されています。
記事のコメント欄、Teams、またはメール(lucas.enard@intersystems.com)でご質問にお答えします。

このフォーメーションに関するあらゆる点において、ご意見やご感想をお送りいただけると幸いです。

1. Ensemble / Interoperability のフォーメーション

このフォーメーションでは、Python および特に以下を使用した InterSystems のインターオペラビリティフレームワークを学習することを目標としています。

  • 本番環境
  • メッセージ
  • ビジネスオペレーション
  • アダプター
  • ビジネスプロセス
  • ビジネスサービス
  • REST サービスと運用

目次:

0
0 287
お知らせ Mihoko Iijima · 2022年8月1日

開発者の皆さん、こんにちは!

InterSystems 技術文書ライティングコンテスト: Python エディションでは、素晴らしい記事の投稿がありました!

🌟 12 の投稿はこちら! 🌟

この記事ではコンテスト受講者を発表します 📢​​​​​​


0
0 154
記事 Toshihiko Minamoto · 2022年7月26日 5m read

ObjectScript カーネルのロゴ Jupyter Notebook は、多数の異なるマークアップ言語とプログラミング言語でコードを実行できるセルで構成された対話型環境です。

Jupyter はこれを実現するために適切なカーネルに接続しなければなりませんが、 ObjectScript カーネルがなかったため、それを作成することにしました。

こちらから試すことができます。

結果を少し覗いてみましょう。

Jupyter カーネルの基礎

Jupyter カーネルはいくつかの方法で作成できます。 ここでは、Python ラッパーカーネルを作成することにしましょう。

ipykernel.kernelbase.Kernel のサブクラスを作成して、特定の言語で実行されるコードを受け取る do_execute メソッドを実装する必要があります。

つまり、ある ObjectScript コードを取得して、何らかの方法で実行し、ノートブックにその結果を返すという概念です。

でも、実際にはどうすればよいのでしょうか。 では、その方法をさらに噛み砕いて説明しましょう。

ObjectScript コードを IRIS に送る

まず初めに、コードを IRIS に送る必要があります。 ここで使用するのが、Python 用の IRIS Native API です。

ここでは、irisnative パッケージをインポートして、接続を確立するだけです。

0
0 227
記事 Mihoko Iijima · 2022年7月26日 9m read

開発者の皆さん、こんにちは!

Flaskを使うと簡単にWebアプリが作成できるようでしたので、Embedded Pythonを利用してIRISに保存した月毎の歩数データ(テーブル/グローバル)を matplotlibを利用してグラフ表示する簡単なWebアプリを作成してみました。

使っているPythonスクリプトファイルやHTMLは以下の通りです(図例はテーブルからデータを取る例ですが、サンプルにはグローバルからデータを取得する例も含まれます)。

サンプルはこちらに置いています👉https://github.com/Intersystems-jp/WalkSteps

IRISのインストール環境に合わせて、サンプルのディレクトリを分けています。

<Windows にIRISをインストールされている場合>
https://github.com/Intersystems-jp/WalkSteps/tree/master/Windows をご覧ください。
Windows上Pythonのバージョンは3.9で試しています。3.10では動作しませんでしたので、3.9でお試しください。

<Windows以外にIRISをインストールされている場合>
https://github.com/Intersystems-jp/WalkSteps/tree/master/Linux をご覧ください。

0
0 1646
記事 Seisuke Nakahashi · 2022年7月11日 3m read

IRIS 2022.1では Embedded Python が導入されました。Embedde Python によって、IRISの独自言語である ObjectScript と Python の親和性の良さをぜひ実感いただけると嬉しいです。今回の記事では、日本語PDFをPythonライブラリを利用して作成し、さらに ObjectScript と融合するところまで見ていただこうと思います。

0
0 347
記事 Mihoko Iijima · 2022年7月4日 7m read

開発者の皆さん、こんにちは!

PythonでExcelからPDFへ変換を行うには、pywinを使うとできるらしいので、IRISにあるデータをDataframeに設定した後Excelに出力し、ExcelからPDFに変換する流れを、Embedded Pythonで試してみました。

メモ:pywinはWindows環境下で動くモジュールのようです。

Excelに出力するデータですが、例では、SELECTの結果をDataframeに格納する方法を利用しています。グローバル変数の情報をDataframeに格納する方法については、以下の記事で詳しくご紹介しています。ぜひご参照ください。
Embedded Python で IRIS グローバル($LB) を Pandas Dataframe に変換する方法

まずは、必要なモジュールをインストールする必要があるので、pywin32 モジュールを irispipを使ってインストールします。

以下の例では、IRIS for Health が c:\InterSystems\IRISHealth にインストールされている状態で実行しています。

Embedded Pythonは、IRIS/IRIS for Health どちらでも利用できます。

0
0 1403
記事 Mihoko Iijima · 2020年6月28日 1m read

Python から InterSystems IRIS へ接続する方法の1つである「PyODBC」(※)の利用方法をご説明します。

※ Python からのアクセスは、PyODBCの他に、Native API を利用した接続方法もあります。Native APIを利用してIRISのグローバル変数にアクセスする方法については、別の記事でご説明します。

もくじ

最初~0:52 復習ビデオ/関連ビデオについて (セルフラーニングビデオの索引記事もご参照ください)

0:52~2:04 今回の説明内容解説

2:05~3:44 PyODBCについてと準備

PyODBCのGitHub

3:43~5:25 IRISに接続する

5:25~7:55 CREATE TABLEの実行

7:55~10:16 INSERTの実行

10:16~14:04 SELECTの実行

14:04~最後まで まとめ

※ YouTubeでご覧いただくと、「もくじ」の秒数クリックでビデオをジャンプできます。

サンプルコード(Git)

HelloWorldPyODBC.ipynb

4
0 933
記事 Toshihiko Minamoto · 2022年6月24日 9m read

1. interoperability-embedded-python

この概念実証では、embedded PythonIRIS 相互運用フレームワークをどのように使用できるかについて示すことを目的としています。

1.1. 目次

1.2. 例

import grongier.pex
import iris
import MyResponse

class MyBusinessOperation(grongier.pex.BusinessOperation):

    def OnInit(self):
        print("[Python] ...MyBusinessOperation:OnInit() is called")
        self.LOGINFO("Operation OnInit")
        return

    def OnTeardown(self):
        print("[Python] ...MyBusinessOperation:OnTeardown() is called")
        return

    def OnMessage(self, messageInput):
        if hasattr(messageInput,"_IsA"):
            if messageInput._IsA("Ens.StringRequest"):
                self.LOGINFO(f"[Python] ...This iris class is a Ens.StringRequest with this message {messageInput.StringValue}")
        self.LOGINFO("Operation OnMessage")
        response = MyResponse.MyResponse("...MyBusinessOperation:OnMessage() echos")
        return response

1.3. コンポーネントの登録

ObjectScript は不要です

0
0 481
お知らせ Mihoko Iijima · 2022年6月6日

開発者のみなさん、こんにちは!

前回のウェビナー開催から少し時間がたってしまいましたが、2022年06月28日 (火曜日) 12時半~ 30分程度のウェビナーを開催します!

今回は、新たに開講する「Embedded Python トレーニングコース」の内容をご紹介するウェビナーです。

新規開講コースでは、

  • Python開発者からみた Embedded Python でできること
  • IRIS開発者からみた Embedded Python でできること

を実際の操作を通してご理解いただけるよう、コースを3種類に分けております。

ウェビナーでは、

  •  Embedded Python とは?
  •  Embedded Python でできること
  •  新規開講コース(3種類)内容ご紹介

について、ご説明いたします。

まだ、インターシステムズ製品を使ったことがない!という方でもご参加いただけます。

特に、以下内容についてご興味をお持ちの方々にお勧めするウェビナーです。

  • Pythonに興味がある
  • Pythonの便利さを体験してみたい
  • Pythonでデータベースプログラミングをしてみたい

お申し込みは👉 こちらから!

皆様のご参加、心よりお待ち申し上げております

0
0 152
InterSystems公式 Mihoko Iijima · 2022年6月5日

開発者のみなさん、こんにちは!

2022年3月9日開催「InterSystems Japan Virtual Summit 2022」のセッション「Embedded Python で広がる InterSystems IRIS の世界」のアーカイブを YouTube に公開いたしました。

(プレイリストはこちら


今や Python は最も人気のあるプログラミング言語の一つです。シンプルで機能的なコードが書けることや、なんでも揃う豊富なライブラリを利用できることなどが人気の理由です。

Embedded Python は、IRIS に Python のランタイムを組み込み、ルーチンやメソッドを Python で書けるようにする画期的な機能です。

IRIS 開発者の方にとって、広大な Python の世界が身近になります。InterSystems IRIS の新しいカタチを是非ご覧ください。

【目次】

00:52 Python とは何か?

04:20 Embedded Python とは何か?

06:29 使用パターン

08:15 活用シナリオ

12:20 デモ1:Jupyter Notebook を使って IRIS からデータを取得して分析

22:00 デモ2:IRIS プログラムから Python を利用する

0
0 168
質問 Yuji Ohata · 2022年5月26日

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

EmbededPythonに興味があり、利用を検討しているのですが、
スタンドアロン下におけるライブラリの使用方法について疑問があります。

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_epython#AFL_epython_pylibrary
こちらを確認しましたところ、ライブラリは以下のコマンドで取得するという理解です。

> irispip install --target C:\InterSystems\IRIS\mgr\python ライブラリ名

pipコマンドではネットワーク上から、名称に一致したライブラリをダウンロード/インストールしてくれる
機能と認識しておりますが、利用したいPCがインターネットに接続されていなかった場合、
単純にこのコマンドを実行してもエラーになるだけと考えております。

このようなスタンドアロン下でのライブラリ取得について、何か知見がありましたらご教示いただけませんでしょうか?

2
1 613
記事 Megumi Kakechi · 2022年4月17日 4m read

InterSystems IRIS 2021.2 のバージョンより、Embedded Python を使用できるようになりました。
Embedded Python については、「Embedded Pythonを簡単にご紹介します」の記事をぜひご覧ください。

こちらでは、Embedded Python を使用して Excel のデータを IRIS グローバルに出力する方法をご紹介します。

最初に、irispip コマンドで必要なライブラリをインストールします。
今回は、pandas、xlrd、openpyxl の3つのライブラリをインストールします。

>cd C:\InterSystems\IRIS\bin
C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python pandas
C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python xlrd
C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python openpyxl


Excel ファイルは次のような test.

2
1 926
お知らせ Mihoko Iijima · 2022年4月4日

開発者のみなさん、こんにちは!

2021年10月に4回シリーズで開催した「InterSystems IRIS 開発者向けウェビナー」第3回目の「SQLから始める機械学習 ~IntegratedMLのご紹介~」のアーカイブをYouTubeに公開いたしました。

InterSystemsは、アプリケーション開発者の方々が、IRIS data platformに保存されているデータとSQLを用いて、機械学習を容易に利用できる仕組み「IntegratedML」を開発しました。
このビデオでは、IntegratedMLの概要についてご紹介いたします。

ぜひご覧ください!

(IRIS 2021.1新機能全体のご紹介については、こちらのYouTubeをご参照ください。)

【目次】

0:00 機械学習の概要と課題、AutoMLについて

8:30 IntegratedMLについて

13:20 IntegratedMLの文法

18:32 デモ

26:50 まとめ

0
0 120
お知らせ Mihoko Iijima · 2022年4月3日

開発者のみなさん、こんにちは!

2021年10月に4回シリーズで開催した「InterSystems IRIS 開発者向けウェビナー」第2回目の「Python Gateway のご紹介」のアーカイブをYouTubeに公開いたしました。

InterSystems IRIS / IRIS for Health バージョン2021.1より、External Language Gateway に Python のサポートが追加されました。また、External Language Gateway の機能強化により外部ストアドプロシージャが利用できるようになり、Java、.Net、Python のコードを SQL から直接実行できるようになりました。

ウェビナーでは、Python からの利用法のついて、デモを交えながらご紹介しています。

ぜひご覧ください!

(IRIS 2021.1新機能全体のご紹介については、こちらのYouTubeをご参照ください。)

【目次】

0:00 ご紹介内容の説明

2:26 PythonからIRISにアクセスする方法

5:07 キーバリュー形式でIRISにアクセスできる「Native API」とは

12:04 Python Gatewayのご紹介

16:21 Python Gateway 使用例

22:12 デモ

30:15 まとめ

0
0 140