タグ

ブックマーク / ohke.hateblo.jp (3)

  • mypyで静的型チェックを導入する - け日記

    仕事で既存のコードへmypyの導入を試みる機会がありましたので、使い方とtipsの備忘録としてまとめます。 mypyとは インストール 型チェックの実行 Tips: 型チェック対象を限定する 設定 Tips: スタブが無いパッケージのエラーは無視させる コードの修正 Tips: Unionでの型エラー Tips: 特定箇所の型チェックエラーを無視したい まとめ mypyとは mypyPythonで静的型チェックを行うライブラリです。型はtypingで定義します。 ドキュメント: https://mypy.readthedocs.io/en/stable/index.html GitHub: https://github.com/python/mypy PyPI: https://pypi.org/project/mypy/ インストール typingと異なり、標準ライブラリではないので、

    mypyで静的型チェックを導入する - け日記
  • Apache AirFlowをDocker環境で構築して簡単なジョブを作る - け日記

    仕事でApache AirFlowを使う機会がありましたので、調査がてらに、Dockerで環境を構築し、簡単なジョブを定義します。 AirFlow AirFlowはジョブのスケジューリング・監視を、コード(主にPython)で定義・制御するためのプラットフォームです。ワークフロー、データフローの実装・運用に使われます。 github.com 類似のソフトウェアには、前回・前々回で紹介したLuigiや、Treasure DatasのDigDagなどがあります。 AirFlowではスケジューラも提供されているため、Luigiよりも広い範囲をカバーします ワークフローを、AirFlowではPython、DigDagでは.dagファイルで定義します Dockerで環境構築 ローカルに環境をインストールすることもできますが、Dockerでサクッと環境構築します。 以下のレポジトリからdocker-c

    Apache AirFlowをDocker環境で構築して簡単なジョブを作る - け日記
  • Python: データ保持用のクラスを定義する (dataclasses) - け日記

    DBのエンティティクラスを定義するときなど、データを持つことに特化した構造体のようなクラスが必要なケースがよくあります。 かつてはdict + typeやnamedtupleなどで用をなしてましたが、そういったクラスを簡単に定義できる標準ライブラリとして、Python 3.7からdataclassesが提供されてます。この使い方を整理していきます。 docs.python.org $ python --version Python 3.7.4 基的な使い方としては、dataclassesをインポートして、クラスに@dataclasses.dataclassでアノテーションし、属性を列挙していくだけでOKです。 これだけでも素のクラスで定義した場合と比較して、__init__に代入式をつらつら書いていく作業から解放されます。 import dataclasses from datetime

    Python: データ保持用のクラスを定義する (dataclasses) - け日記
    knj2918
    knj2918 2023/01/02
  • 1