# DHV

[](https://github.com/davep/dhv/actions)
[](https://github.com/davep/dhv/commits/main/)
[](https://github.com/davep/dhv/issues)
[](https://github.com/davep/dhv/releases)
[](https://github.com/davep/dhv/blob/main/LICENSE)
[](https://github.com/davep/dhv/blob/main/pyproject.toml)
[](https://pypi.org/project/dhv/)
## Introduction
DHV is a terminal-based tool for diving into Python code, giving easy visual
access to [bytecode disassembly](https://docs.python.org/3/library/dis.html)
and [the abstract syntax tree](https://docs.python.org/3/library/ast.html).
If you're curious about what's "under the hood" when it comes to your Python
source, this tool should help satisfy some of that curiosity.

> [!IMPORTANT]
>
> Python's `dis` module is a bit of a moving target; because of this and to
> try and keep the code as clean as possible DHV only works with Python 3.13
> or later.
## Installing
### pipx
The package can be installed using [`pipx`](https://pypa.github.io/pipx/):
```sh
$ pipx install dhv
```
### uv
The package can be install using [`uv`](https://docs.astral.sh/uv/getting-started/installation/):
```sh
uv tool install --python 3.13 dhv
```
## Using DHV
Once you've installed DHV using one of the above methods, you can run the
application using the `dhv` command.
The best way to get to know DHV is to read the help screen, once in the main
application you can see this by pressing <kbd>F1</kbd>.
## Getting help
If you need help, or have any ideas, please feel free to [raise an
issue](https://github.com/davep/dhv/issues) or [start a
discussion](https://github.com/davep/dhv/discussions).
## TODO
See [the TODO tag in
issues](https://github.com/davep/dhv/issues?q=is%3Aissue+is%3Aopen+label%3ATODO)
to see what I'm planning.
[//]: # (README.md ends here)
Raw data
{
"_id": null,
"home_page": null,
"name": "dhv",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.13",
"maintainer_email": null,
"keywords": "terminal, tui, chui, documentation, python, bytecode, disassembly, disassembler",
"author": "Dave Pearson",
"author_email": "Dave Pearson <davep@davep.org>",
"download_url": "https://files.pythonhosted.org/packages/fa/d3/e44e726e26a764c56c99a542f17d740742cd7119ba699f7004412b40fd1e/dhv-0.8.0.tar.gz",
"platform": null,
"description": "# DHV\n\n\n\n[](https://github.com/davep/dhv/actions)\n[](https://github.com/davep/dhv/commits/main/)\n[](https://github.com/davep/dhv/issues)\n[](https://github.com/davep/dhv/releases)\n[](https://github.com/davep/dhv/blob/main/LICENSE)\n[](https://github.com/davep/dhv/blob/main/pyproject.toml)\n[](https://pypi.org/project/dhv/)\n\n## Introduction\n\nDHV is a terminal-based tool for diving into Python code, giving easy visual\naccess to [bytecode disassembly](https://docs.python.org/3/library/dis.html)\nand [the abstract syntax tree](https://docs.python.org/3/library/ast.html).\nIf you're curious about what's \"under the hood\" when it comes to your Python\nsource, this tool should help satisfy some of that curiosity.\n\n\n\n> [!IMPORTANT]\n>\n> Python's `dis` module is a bit of a moving target; because of this and to\n> try and keep the code as clean as possible DHV only works with Python 3.13\n> or later.\n\n## Installing\n\n### pipx\n\nThe package can be installed using [`pipx`](https://pypa.github.io/pipx/):\n\n```sh\n$ pipx install dhv\n```\n\n### uv\n\nThe package can be install using [`uv`](https://docs.astral.sh/uv/getting-started/installation/):\n\n```sh\nuv tool install --python 3.13 dhv\n```\n\n## Using DHV\n\nOnce you've installed DHV using one of the above methods, you can run the\napplication using the `dhv` command.\n\nThe best way to get to know DHV is to read the help screen, once in the main\napplication you can see this by pressing <kbd>F1</kbd>.\n\n## Getting help\n\nIf you need help, or have any ideas, please feel free to [raise an\nissue](https://github.com/davep/dhv/issues) or [start a\ndiscussion](https://github.com/davep/dhv/discussions).\n\n## TODO\n\nSee [the TODO tag in\nissues](https://github.com/davep/dhv/issues?q=is%3Aissue+is%3Aopen+label%3ATODO)\nto see what I'm planning.\n\n[//]: # (README.md ends here)\n",
"bugtrack_url": null,
"license": null,
"summary": "A tool to dive into Python code",
"version": "0.8.0",
"project_urls": {
"Discussions": "https://github.com/davep/dhv/discussions",
"Documentation": "https://dhv.davep.dev/",
"Homepage": "https://dhv.davep.dev/",
"Issues": "https://github.com/davep/dhv/issues",
"Repository": "https://github.com/davep/dhv",
"Source": "https://github.com/davep/dhv"
},
"split_keywords": [
"terminal",
" tui",
" chui",
" documentation",
" python",
" bytecode",
" disassembly",
" disassembler"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5f0ca84a2836ea28f6267a17290f7923f23bffd76d3e3045447810a339501a83",
"md5": "e422cb72f222456a4ca461ccb0c95ca7",
"sha256": "11a5afd1c68754633455ac8b49e13730b27459496eedede07e23f779c870788a"
},
"downloads": -1,
"filename": "dhv-0.8.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e422cb72f222456a4ca461ccb0c95ca7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.13",
"size": 25327,
"upload_time": "2025-10-22T10:45:34",
"upload_time_iso_8601": "2025-10-22T10:45:34.414421Z",
"url": "https://files.pythonhosted.org/packages/5f/0c/a84a2836ea28f6267a17290f7923f23bffd76d3e3045447810a339501a83/dhv-0.8.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fad3e44e726e26a764c56c99a542f17d740742cd7119ba699f7004412b40fd1e",
"md5": "98bf05053335ffe088cc276405d76a58",
"sha256": "b8692b3b7f0ff3abef526c09e02c874ccf4cec88970d6e08d9158daede1e5559"
},
"downloads": -1,
"filename": "dhv-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "98bf05053335ffe088cc276405d76a58",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.13",
"size": 15991,
"upload_time": "2025-10-22T10:45:35",
"upload_time_iso_8601": "2025-10-22T10:45:35.358266Z",
"url": "https://files.pythonhosted.org/packages/fa/d3/e44e726e26a764c56c99a542f17d740742cd7119ba699f7004412b40fd1e/dhv-0.8.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-22 10:45:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "davep",
"github_project": "dhv",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "dhv"
}