マジセミドライブ

ウェビナー関連のニュースや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

おすすめの記事

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

ウェビナーまとめ

2024.05.15

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

2024年3月12日に三菱電機ITソリューションズ株式会社とアットストリームパートナーズ合同会社の共催で、組立加工製造業向けのセミナー「なぜか高くなる原価を管理する 不確実性の時代を乗り切るためのコスト戦略とは」が開催されました。本セミナーでは、製造業における原価管理の現状と改善手法について深く掘り下げ、経営活動への具体的な活用方法を提示しました。今回は、その講演の要点をお伝えします。

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

OSS情報

2024.07.04

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

「 Hoppscotch 」は、オープンソースのAPI開発エコシステムで、使いやすさとアクセシビリティを重視した軽量なWebベースのスイートです。無料版と有料版があり、PostmanやInsomniaの代替として利用可能です。

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

OSS情報

2024.07.18

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

「 GPT-NeoX 」は、GPU上で大規模言語モデル(LLM)を効率的にトレーニングするためのライブラリです。NVIDIAのモデルを基に独自の最適化が加えられ、オートレグレッシブ言語モデルのトレーニング手法を集約しています。