
クエリ、ゾーン転送、動的更新、TSIG、EDNS0、DNSSEC、DNS-over-HTTPS、DNS-over-QUICをサポートするPython DNSツールキット。高レベルAPIと低レベルAPIを備えています。
dnspython は Python 用の DNS ツールキットです。ほぼすべてのレコードタイプをサポートしています。クエリ、ゾーン転送、動的更新に使用できます。TSIG 認証されたメッセージと EDNS0 をサポートしています。
dnspython は DNS への高レベルおよび低レベルの両方のアクセスを提供します。高レベルのクラスは、指定された名前、タイプ、クラスのデータに対するクエリを実行し、アンサーセットを返します。低レベルのクラスでは、DNS ゾーン、メッセージ、名前、レコードを直接操作できます。
dnspython のモジュール名は dns です。dnspython のいくつかの使用例を見るには、examples/ ディレクトリを参照してください。
dnspython は DNS を扱うためのユーティリティであり、/etc/hosts は使用されません。単純なフォワード DNS ルックアップには、socket.getaddrinfo() または socket.gethostbyname() を使用する方が適しています。
dnspython は Nominum で生まれ、DNS ソフトウェアのテストを容易にするために開発されました。
これは dnspython 2.9.0 の開発版です。
このリリースでの変更点については、
What's New をお読みください。
pip install dnspython
pip install --upgrade pip build
python -m build
pip install dist/*.whl
pip install git+https://github.com/rthalley/dnspython.git を実行します。dnspython のデフォルトインストールは、Python 標準ライブラリ以外のモジュールに依存していません。一部の機能を使用するには、追加のモジュールをインストールする必要があります。便宜上、要件に対して pip オプションが定義されています。
DNS-over-HTTPS を使用する場合は、
pip install dnspython[doh] を実行します。
DNSSEC 機能を使用する場合は、
pip install dnspython[dnssec] を実行します。
国際化ドメイン名 (IDNA) 機能を使用する場合は、
pip install dnspython[idna] を実行する必要があります。
Trio 非同期 I/O パッケージを使用する場合は、
pip install dnspython[trio] を実行します。
Windows でデフォルトのレジストリスキャン方式の代わりに WMI を使用してアクティブな DNS 設定を判断する場合は、
pip install dnspython[wmi] を実行します。
実験的な DNS-over-QUIC コードを試す場合は、
pip install dnspython[doq] を実行します。
上記の任意の組み合わせをインストールできることに注意してください。例:
pip install dnspython[doh,dnssec,idna]
Python 2.x のサポートは 1.16.0 のリリースで終了しました。dnspython は Python 3.10 以降をサポートしています。今後のサポートは Python 3 バージョンのライフタイムに合わせて行われます。
ドキュメントは dnspython.readthedocs.io に移動しました。