GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

ofek

hatch – 現代のプロジェクト、パッケージ、およびPython用の仮想envマネージャ

投稿日:

現代のプロジェクト、パッケージ、およびPython用の仮想envマネージャ

ハッチ


ハッチは、ワークフローをより簡単かつ効率的にするために設計された生産性ツールです。また、知る必要がある他のツールの数も削減できます。 90%のユースケースをできるだけ楽しくすることを目指しています。

個人的に私にとって、Hatchはこれらのマニュアル(または全体)の使用を完全に置き換えました:

           /^\/^\
         _|__|  O|
\/     /~     \_/ \
 \____|__________/  \
        \_______      \
                `\     \                 \
                  |     |                  \
                 /      /                    \
                /     /                       \
              /      /                         \ \
             /     /                            \  \
           /     /             _----_            \   \
          /     /           _-~      ~-_         |   |
         (      (        _-~    _--_    ~-_     _/   |
          \      ~-____-~    _-~    ~-_    ~-_-~    /
            ~-_           _-~          ~-_       _-~
               ~--______-~                ~-___-~

特徴

  • 完全にクロスプラットフォーム(ターミナルカラーも!)\(* _ ^)/
  • 構成可能なプロジェクト作成、良好なデフォルト設定
  • すべてのシェルをサポートする、利用可能な最も簡単な仮想環境管理
  • パッケージ管理のデフォルトはユーザー単位であり、昇格された権限( 安全のため
  • 構成可能なセマンティックバージョンのバンピング
  • ロバストなビルド/パッケージクリーンアップ
  • コードカバレッジによる簡単なテスト
  • PyPIのための簡単なビルドとリリース
  • すべてのコマンドは、環境に配慮したものです。

使用法

新しいプロジェクトを開始するのは簡単です:

$ hatch new my-app
Created project `my-app`

これで、ビルドと配布が可能な完全に機能的なパッケージが完成しました。

$ tree --dirsfirst my-app
my-app
├── my_app
│   └── __init__.py
├── tests
│   └── __init__.py
├── LICENSE-APACHE
├── LICENSE-MIT
├── MANIFEST.in
├── README.rst
├── requirements.txt
├── setup.py
└── tox.ini

2 directories, 8 files

セットアップを行わずに、ほとんどのプロジェクトのバージョンをバンプすることもできます:

$ git clone -q https://github.com/requests/requests && cd requests
$ hatch grow build
Updated /home/ofek/requests/requests/__version__.py
2.18.4 -> 2.18.4+build.1
$ hatch grow fix
Updated /home/ofek/requests/requests/__version__.py
2.18.4+build.1 -> 2.18.5
$ hatch grow pre
Updated /home/ofek/requests/requests/__version__.py
2.18.5 -> 2.18.5-rc.1
$ hatch grow minor
Updated /home/ofek/requests/requests/__version__.py
2.18.5-rc.1 -> 2.19.0
$ hatch grow major
Updated /home/ofek/requests/requests/__version__.py
2.19.0 -> 3.0.0

コードカバレッジを確認するのは簡単です:

$ git clone https://github.com/ofek/privy && cd privy
$ hatch test -c
========================= test session starts ==========================
platform linux -- Python 3.5.2, pytest-3.2.1, py-1.4.34, pluggy-0.4.0
rootdir: /home/ofek/privy, inifile:
plugins: xdist-1.20.0, mock-1.6.2, httpbin-0.0.7, forked-0.2, cov-2.5.1
collected 10 items

tests/test_privy.py ..........

====================== 10 passed in 4.34 seconds =======================

Tests completed, checking coverage...

Name                  Stmts   Miss Branch BrPart  Cover   Missing
-----------------------------------------------------------------
privy/__init__.py         1      0      0      0   100%
privy/core.py            30      0      0      0   100%
privy/utils.py           13      0      4      0   100%
tests/__init__.py         0      0      0      0   100%
tests/test_privy.py      57      0      0      0   100%
-----------------------------------------------------------------
TOTAL                   101      0      4      0   100%

仮想環境を作成することは非常に簡単です:

$ hatch env my-app
Already using interpreter /usr/bin/python3
Successfully saved virtual env `my-app` to `/home/ofek/.virtualenvs/my-app`.
$ hatch env -ll
Virtual environments found in /home/ofek/.virtualenvs:

my-app ->
  Version: 3.5.2
  Implementation: CPython

それらを使用することはちょうど流体としてのものです:

$ which python
/usr/bin/python
$ hatch shell my-app
(my-app) $ which python
/home/ofek/.virtualenvs/my-app/bin/python

もっと多くのことを読んでください!

インストール

ハッチはPyPI上で普遍的なホイールとして配布され、Linux / macOSおよびWindowsで利用でき、Python 3.5+およびPyPyをサポートしています。

$ pip3 install --user hatch

Python 3のバージョンを既に指している場合は、単にpipしてください。

その直後にシステムでhatchが機能しない場合は、 このコマンドを実行しからそのコマンドを実行しください。

最初のインストールの後で、設定ファイルが使用可能であることを確認するために、 hatch config --restoreを実行hatch config --restoreことができます。

ガイド

貢献する

TODO

メタ
  • ヘビのascii芸術の隣に、 hatchエッグ(ブロック1.0.0 )を入れ、
プロジェクトの作成
コマンド

ライセンス

ハッチは両方の条件で配布されています

あなたの選択で。

クレジット

歴史

重要な変更が強調されています。

マスター

  • adduserpath依存関係が主張されたか、 userpathが変更されuserpath

0.20.0

  • hatch condaはすべてのプラットフォームに簡単にインストールできますhatch conda \ [^、^] /
  • プロジェクト名が指定されていない場合、 new / initコマンドは対話モードに入ります!

0.19.0

  • testはプロジェクトの専用仮想環境の使用をサポートし、任意の開発環境が自動的にインストールされます。

0.18.0

  • releaseでカスタムリポジトリを使用できるようになりました!
  • 修正: clean ingはプロジェクトの専用仮想環境を正しく無視するようになりました。 この動作は、新しい-nd/--no-detectフラグで無効にすることができます。

0.17.1

0.17.0

  • HatchはAppVeyor経由でWindowsのサポートを保証します!
  • 仮想envがアクティブな場合、プロジェクトの検出は行われません。

0.16.0

  • envnewinit 、およびshellコマンドで作成された仮想envは、 -g/--global-packagesフラグを使ってシステムのsite-packagesにアクセスできるようになりました!
  • 改良されたsetup.py生成。

0.15.0

  • エイリアスとして残っていますが、 shellに名前が変更されました。
  • new / initコマンドは、設定ファイルがない場合にのみ警告を出すようになりました。
  • new / initコマンドで仮想envを作成するときに使用するPythonを指定できるようになりました。
  • 修正: env name引数をuse必要はなくなりました. プロジェクトの専用仮想環境をターゲットとする場合。

すべての履歴を表示







-ofek
-, , , , , , , ,

執筆者: