Python

【Python】Python のカバレッジツール

■ はじめに Python の 単体試験のカバレッジツールを調べてみた 目次 【1】coverage 1)インストール 2)使い方 3)VS Codeプラグイン 【2】pytest-cov 1)インストール 2)使い方 3)VS Codeプラグイン 【1】coverage * unittest の カバレッジツ…

【Python】Python ~ Requestsライブラリ ~

■ はじめに https://dk521123.hatenablog.com/entry/2022/08/05/000000 では、標準モジュールのを使った urllib を使ったが 今回は、 Requestsライブラリを取り扱う。 目次 【1】Requestsライブラリ 【2】インストール 【3】サンプル 例1:Hello world …

【Python】パッケージ配布 ~ setuptoolsあれこれ ~

■ はじめに https://dk521123.hatenablog.com/entry/2024/03/19/000000 で、setuptoolsを使ったが、今日、色々と不具合対応して 学んだことがあったので、メモしておく 目次 【1】setup.py の 文法 1)entry_points 【2】ヘルパー関数 find_packages() 1…

【Python】パッケージ配布 ~ pyproject.tomlによる作成方法 ~

■ はじめに https://dk521123.hatenablog.com/entry/2024/03/19/000000 の続き。 今回は、Pythonのパッケージ配布において、 pyproject.tomlによる作成方法について扱う。 => ってゆーかーめちゃ簡単だった、、、 目次 【1】今回使用するパッケージ構成 1…

【Python】パッケージ配布 ~ setup.pyによる作成方法 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/02/09/234350 で egg / wheel ファイルを作成したが、 今回は、Pythonのパッケージ配布で、ちょっと古い方法だが setup.pyによる作成方法について扱う ちなみに、この手の話は、結構、古いやり方とか…

【Python】Python解析ツール ~ Ruff ~

■ はじめに Github Workflow で CI/CD を実装中だが、 PythonのLinter/Formatter についても実装してみようと思う。 PythonのLinter/Formatter については、過去、以下の関連記事で https://dk521123.hatenablog.com/entry/2021/11/08/221219 調べたことがあ…

【Python】Python ~ python-dotenv ~

■ はじめに 業務で、「.env」を扱うのができてきた。 このファイルを、Pythonで扱うには、 python-dotenv ってライブラリを使うので、 .envファイル(dotenv)を含めて調べてみた 目次 【1】.envファイル(dotenv) 【2】python-dotenv の インストール 【…

【Python】Python ~ TOML ~

■ はじめに TOMLファイルを読み込み そのデータ内を使うツールが必要になりそうなので PythonでTOMLをどう扱うかを調べてみた なお、TOMLについては、以下の関連記事を参照のこと TOML https://dk521123.hatenablog.com/entry/2023/04/25/103533 目次 【1】…

【Python】Jinja ~ Macro ~

■ はじめに https://dk521123.hatenablog.com/entry/2018/09/22/142348 で、Pythonのテンプレートエンジンである Jinja を取り扱ったが 今回は、Jinjaの マクロについて扱う。 【1】マクロ機能 * 繰り返し出てくる記述を簡略化することができる機能 【2】…

【Python】Python ~ ドキュメント化ツール ~

■ はじめに https://dk521123.hatenablog.com/entry/2019/10/23/212149 の続き。 徐々にだが、Pythonのコメントから ドキュメント化するツールについて、まとめていく 目次 【1】Sphinx(スフィンクス) 【2】Doxygen(ドキシジェン) 【1】Sphinx(スフ…

【Python】Python ~ 可変長引数 / *args **kwargs ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/10/31/000133 https://dk521123.hatenablog.com/entry/2020/05/19/000000 等ででてきた *args **kwargs について、 改めてちゃんと学ぶ 目次 【1】*args 【2】**kwargs 【3】使用上の注意 【1】*…

【Python】functools ~ 高階関数 ~

■ はじめに Scalaで高階関数(こうかいかんすう)を知る機会があったが Pythonでもfunctoolsモジュールで扱えるとのことなので メモってみた。 目次 【1】高階関数 (Higher-Order Functions) 【2】functools 【3】cache 1)@cache 2)@cached_property …

【Snowflake】Snowflake ~ Pythonでクエリ実行 ~

■ はじめに Python で Snowflake の 非同期クエリを実行することになったので これを機にPython用Snowflakeコネクタを学んでみる 目次 【1】Python用Snowflakeコネクタ 【2】環境設定 【3】同期クエリ実行 1)サンプル 2)関連するAPI 【4】非同期クエ…

【Kafka】kafka-python ~ 入門編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/10/22/220717 でKafka / Kafka connect を設定したので 簡易的に、kafka-python を使って、Hello worldをやってみる 目次 【1】前提条件 【2】環境設定 【3】ドキュメント 【4】サンプル 例1:P…

【Python】Python ~ 基本編 / 文字列操作 ~

■ はじめに https://dk521123.hatenablog.com/entry/2019/10/12/075251 からの分冊。 文字列操作について、メモ。 目次 【1】置換 / 除去 1)replace 2)removeprefix / removesuffix (From Python3.9) 【2】分割 【3】連結 【1】置換 / 除去 1)repl…

【Python】Matplotlib ~ 基本編 / 折れ線 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/03/01/000000 https://dk521123.hatenablog.com/entry/2023/09/16/151516 の続き。 今回は、Python / Matplotlib (マット・プロット・リブ)で、 折れ線グラフを表示させる 目次 【1】折れ線 例1…

【Python】Matplotlib ~ 基本編 / 棒グラフ ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/03/01/000000 の続き。 今回は、Python / Matplotlib (マット・プロット・リブ)で、 棒グラフや積み上げ棒グラフを表示させる 目次 【1】棒グラフ 例1:Hello World 例2:複数の棒グラフを横に…

【Python】Matplotlib ~ あれこれ編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/03/01/000000 の続き。 今回は、Matplotlib に関するTipsを纏める 目次 【1】見た目を変える 1)インストール 2)導入例 【2】色を変える 【3】画像ファイルとして保存 【4】注釈/矢印 でグラ…

【Snowflake】指定した日付分アンロードするSQLを生成するPythonコード

■ はじめに テーブル内のデータをアンロードして テストデータを作るって作業をしていて 大分、久しぶりに、 Snowflakeスクリプトを書いたのだが 仕様とか色々大幅にかかりそうな予感を感じているので Pythonコード化して対応しておく 【1】前提条件 * スト…

【Python】Python ~ PDF ~

■ はじめに 前々からやろうと思っていたPythonのPDF化について 纏めてみる。 (半自動的にドキュメントを作れるようにしておくために) 目次 【1】PythonでのPDF化 【2】インストール 【3】API仕様 1)cell 2)image 【4】サンプル 例1:Hello World …

【Python】Python ~ 画像処理 / Pillow ~

■ はじめに Python の 画像処理ライブラリである Pillow について 徐々にまとめていく。 目次 【1】Pillow 【2】インストール 1)トラブル 【1】Pillow * Python の 画像処理ライブラリ cf. Pillow (ピロー) = まくら? 【2】インストール pip install …

【Python】Python ~ 非同期 / マルチスレッド ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/04/19/232949 で、非同期処理について扱ったが、 今回は、非同期処理の基本、マルチスレッドを扱う。 後、現場で、GIL(Global Interpretation Lock)がでてきたので とりあえず、メモる。 目次 【1】…

【DOT】Python で d3-graphviz を使ってアニメーション表示ツールを作る

■ はじめに 仕事でやりたいことが全く手が付けられないので 超個人的なツールの元なるソースをメモ。 https://dk521123.hatenablog.com/entry/2023/06/18/102448 https://dk521123.hatenablog.com/entry/2023/06/14/174104 を組み合わせて、1つのDOTファイ…

【Python】Python で DOT言語による Animation tool 作成

■ はじめに 超個人的なツール。 https://dk521123.hatenablog.com/entry/2023/06/18/102448 と組み合わせればアニメーションで動くものになるので。 【1】サンプル フォルダ構成 + dot_viewer_creator.py + delete + 01.txt + 02.txt + 03.txt + add + 01.t…

【Python】Python + DOT言語で図作成するには

■ はじめに 以前のTerraformの記事で https://dk521123.hatenablog.com/entry/2019/12/09/222057 ~~~ terraform graphで、Terraformの依存関係をグラフ化することが可能 terraform graph | dot -Tsvg > graph.svg ~~~ って、Terraformの依存関係をグラフ化し…

【Python】Python ~ 再帰関数 ~

■ はじめに Python の 再帰関数について徐々にメモる。 目次 【1】再帰関数 1)基本的な考え方 【2】サンプル 例1:階乗(n!) 【1】再帰関数 1)基本的な考え方 def <再帰関数>(引数, ...): if 抜ける判定: # ★ポイント:ここで無限ループを抜けるよ…

【Python】Python ~ 非同期 / concurrent.futures ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/02/26/000000 で作ったテストデータファイルを作成する処理で パフォーマンステスト用に大容量のデータ行で作りたい。 ファイルは複数、別の種類もあるので、非同期で作って なるべく時間を節約した…

【Python】Python ~ CSVデータ生成ツールを作ってみる ~

■ はじめに https://dk521123.hatenablog.com/entry/2022/11/28/000000 で、JavaScriptでファイル出力するCSVデータ生成ツールを作ってみたが もう少し、細かくカスタマイズしたいので、Pythonで書く。 こういう仕事多いので、作っておかないと時間がもった…

【Python】Atlassian/Confluence の REST API を Pythonでコールする

■ はじめに Atlassian/Confluence の REST API を使って 情報を吸い上げることを急遽、業務で依頼があったので焦った。 その際の情報をメモ。 目次 【1】Atlassian/Confluence 【2】準備 1)Access Tokenの発行 【3】Atlassian/Confluence の REST API …

【Python】Python ~ HMAC ~

■ はじめに https://dk521123.hatenablog.com/entry/2022/10/05/095506 で、HMACについて扱ったので、 今回は、Pythonで実装してみる。 目次 【1】Python での HMAC の実装 【2】サンプル 【1】Python での HMAC の実装 * すでに標準で以下のHMACライブラ…