Python

kinitを使わずにPython-GSSAPIでKeytabを指定してTGTを発行

kinit を使わずに済む方法を探していたところ、以下の実装で動きました。 gssapi.Credentials.storeのclient_keytabにKeytabファイルのパスを指定します。 import gssapi gssapi.Credentials( usage='initiate', name=gssapi.Name( '<SERVER_PRINCIPAL_NAME>', gssapi.NameType.kerb</server_principal_name>…

DRFのDecimalFieldから末尾のゼロを除外

Django REST framework (DRF) において、DecimalFieldから末尾のゼロを除去する方法です。具体的には以下のように挙動を変更します。 # 現在 Decimal('0.001000000') >> "0.001000000" # 期待する結果 Decimal('0.001000000') >> "0.001" この機能は以下のPR…

python-xmlsecのインストールに失敗(libxmlsec1 1.3)

環境 macOS 12.4 Homebrew 4.1.2 事象 python-xmlsecをインストールしようとすると以下のエラーが出ました。 Using version ^1.3.13 for xmlsec Updating dependencies Resolving dependencies... (0.4s) Package operations: 1 install, 0 updates, 0 remov…

PythonでExcelのセル入力&編集したExcelブックをDjangoでダウンロード(openpyxl)

はじめに Excelのセルを入力するスクリプト Djangoのビューで編集したExcelファイルをダウンロード はじめに openpyxlを使ってPythonでExcelファイルを編集します。 $ pip install openpyxl Excelのセルを入力するスクリプト 以下のスクリプトでは次の単純な…

DjangoでDockerコンテナのログをテキストエリアに流し込む(Server-Sent Events)

はじめに 前提 ビューの実装 テンプレートの実装 実行例 さいごに はじめに DjangoでDockerコンテナのログをテキストエリアに出力する方法をまとめます。 前提 Dockerコンテナの操作には docker-py を使います。 github.com django==3.0.8 docker==4.2.0 ビ…

Djangoで登録/更新/検索フォームにカレンダコントロールを設置

はじめに 前提 サンプルアプリの実装 アプリの作成 モデル ビューとURL モデルフォーム フィルタ テンプレート ベーステンプレート 登録/更新画面のテンプレート 登録画面の動作確認 更新画面の動作確認 検索画面のテンプレート 検索画面の動作確認 カレンダ…

Djangoでsettings.pyの機密情報を管理する方法

はじめに プロジェクトの作成 settings.pyの設定内容 機密情報をJSONファイルで管理 1. 機密情報を管理するJSONファイル secrets.json の生成スクリプトを用意 2. settings.py で secrets.json の設定値を参照するように変更 3. 実行環境ごとに 1. のスクリ…

CentOS 7にJupyterHub 1.0を導入(SSL対応/NativeAuthenticator/DockerSpawner)

はじめに 前提 rootに変更 Miniconda3のインストール Conda環境の作成 JupyterHubのインストール NativeAuthenticatorのインストール DockerSpawnerのインストール Dockerのインストール Hub APIのポートを解放 設定ファイルの作成 JupyterHubサービスの設定…

VimでNeomake + Pylavaを使用したPython3の自動静的コード解析

はじめに Python3のコーディングをVimで行う際にPEP8規約違反などを自動的に検出する方法をまとめます。 静的検証ツール Pylava の導入 Pythonの静的解析ツール Pylava を使用します。 github.com Pylava では pycodestyle や PyFlakes などのツール群が利用…

Miniconda3でPython環境構築

はじめに 本エントリではMinicondaでPython環境を構築する手順をまとめます。 インストール Miniconda3 Python 3.7 version(投稿時点最新Ver 4.5.11)を次の手順で導入します。 次のURLにアクセス : https://conda.io/miniconda.html 該当するOSのbashインス…