マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2023.05.31

【OSS情報】Python用開発タスク自動化ツール「 tox 」

【OSS情報】Python用開発タスク自動化ツール「 tox 」

【OSS情報】Python用開発タスク自動化ツール「 tox 」

toxのイメージ

toxの「概要」

「tox」(トックス)とは「Python用開発タスク自動化ツール」です。

「toxが作成したPython仮想環境」でテストやデプロイを実行できるため、
Pythonパッケージを「異なるPythonバージョン」や「異なる環境」でテストできます。

ユースケース

・テスト自動化 :「ビルドテスト」「動作テスト」「デプロイテスト」
・パッケージのインストール
・仮想環境管理
・Pythonプロジェクトの依存関係を管理
・継続的インテグレーションのサポート
・ドキュメント生成 など

開発目標

Pythonソフトウェアの「ビルド」「テスト」「デプロイ」のプロセスを簡素化するために、
「テスト自動化および標準化」を目指して開発されています。

toxの「特徴」

テスト実行

・さまざまな環境に対応 :「Python実装」「バージョン」「インストール依存関係」
・パッケージが正しくビルドおよびインストールされているかを確認
・テストツールを使用して各環境でテストを実行
・継続的統合サーバのフロントエンドとして機能

→tox.wiki →user_guide.html →main-features

効率化

・ボイラープレートを大幅に削減
・「CI」および「シェルベース」のテストを統合
・Pythonパッケージ用リポジトリ管理システム「devpi」との相互運用性

機能拡張

・Python用プラグインシステム「Pluggy」を使用
・フックを使用してデフォルトの動作をカスタマイズできる

→tox.wiki →plugins

構成ファイル

■優先順位付けされた3つの構成ファイルをサポート
①「tox.ini」
②「pyproject.toml」
③「setup.cfg」

→tox.wiki →config

環境オーケストレーター

・各種ツールの「セットアップおよび実行する方法」を定義する
・それぞれの環境をセットアップして起動できる

■利用可能な開発ツールの例
・テストランナー「pytest」
・リンター「flake8」
・フォーマッタ「black」「isort」
・ドキュメントジェネレーター「Sphinx」
・ビルドおよび公開ツール など

→tox.wiki →user_guide.html →#overview

動作の流れ

No 動作 説明
1 設定 tox設定ファイルをロードし、環境変数などをマージ
2 環境作成 「virtualenv」もしくは「runner」を使用
3 依存関係のインストール ※プロジェクト依存関係が変更されるたびに環境再作成を推奨
4 パッケージ化 現在のプロジェクトのディストリビューションを作成
5 コマンド実行 「指定されたコマンド」を「指定された順序」で実行
6 レポート 各tox環境の結果レポートを出力

→tox.wiki →user_guide.html →#system-overview

toxの「機能」

Pythonパッケージのテスト機能

・多くの「インタープリタと依存関係の構成」に対してパッケージをテスト
・カスタマイズ可能な「virtualenvテスト環境」の自動(再)作成
・プロジェクトを各仮想環境にインストール
・テストツール非依存

自動プロビジョニング機能

インストールされているtoxバージョンが「min_version」または「require」のいずれかを満たしていない場合、
toxはこれらの制約を満たす仮想環境を「Provision_tox_env名」で自動的に作成し、
すべての呼び出しをこのメタ環境に委任します。

→tox.wiki →user_guide.html →#auto-provisioning

パラレルモード機能

・tox環境を並列プロセス (マルチスレッド ベース) で実行
・並列化度合いの指定が可能
・進行状況スピナーを表示

→tox.wiki →user_guide.html →#parallel-mode

toxの「オフィシャルサイト情報」

オフィシャルサイト

→tox.wiki

GitHubページ

→github.com →tox-dev →tox

主要開発元

toxは「tox開発コミュニティ」が中心となり開発が進められています。

→github.com →tox-dev →tox →graphs →contributors

ライセンス情報

toxのライセンスは「MIT License」です。

詳細について、こちらを参照ください。

→github.com →tox-dev →tox →LICENSE

動作環境

・Pythonインタプリタ(バージョン 3.7 以降)

インストール

→tox.wiki →installation

【お知らせ】ITセミナー「マジセミ」のご紹介

「 マジセミ 」では、日々、多くのIT関連セミナーを開催しています。

参加者のみなさまのために「本当に役立つ情報の提供」を目標としています。

また、「 マジセミ 」を通じて、デジタル関連プロダクト(サービス)との「新たな出会いの場」「新たな体験の場」を創造することで、「IT業界の発展」「製造業の発展」「エンジニアの活躍促進」の実現を目指しています。

多くのセミナーの中から「ご自身のスキルやビジネスを強化できるセミナー」を見つけて、ぜひ一度、ご参加ください。

マジセミのイメージロゴ

参考サイト
→github.com →tox-dev →tox
→tox.wiki

おすすめの記事

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。