debug-dojo 0.6.0__tar.gz → 0.7.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. {debug_dojo-0.6.0/src/debug_dojo.egg-info → debug_dojo-0.7.0}/PKG-INFO +8 -7
  2. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/README.md +3 -3
  3. debug_dojo-0.7.0/pyproject.toml +87 -0
  4. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo/_installers.py +21 -3
  5. {debug_dojo-0.6.0 → debug_dojo-0.7.0/src/debug_dojo.egg-info}/PKG-INFO +8 -7
  6. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo.egg-info/requires.txt +5 -3
  7. debug_dojo-0.6.0/pyproject.toml +0 -142
  8. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/LICENSE +0 -0
  9. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/setup.cfg +0 -0
  10. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo/__init__.py +0 -0
  11. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo/__main__.py +0 -0
  12. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo/_cli.py +0 -0
  13. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo/_compare.py +0 -0
  14. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo/_config.py +0 -0
  15. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo/_config_models.py +0 -0
  16. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo/install.py +0 -0
  17. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo/py.typed +0 -0
  18. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo.egg-info/SOURCES.txt +0 -0
  19. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo.egg-info/dependency_links.txt +0 -0
  20. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo.egg-info/entry_points.txt +0 -0
  21. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/src/debug_dojo.egg-info/top_level.txt +0 -0
  22. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/tests/test_compare.py +0 -0
  23. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/tests/test_config.py +0 -0
  24. {debug_dojo-0.6.0 → debug_dojo-0.7.0}/tests/test_installers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: debug-dojo
3
- Version: 0.6.0
3
+ Version: 0.7.0
4
4
  Summary: 🏣 debug dojo, a place for zen debugging
5
5
  Author-email: bwrob <bartosz.marcin.wroblewski@gmail.com>
6
6
  License-Expression: MIT
@@ -22,18 +22,19 @@ Requires-Python: <3.15,>=3.10
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: dacite>=1.0.0
25
- Requires-Dist: debugpy>=1.0.0
26
- Requires-Dist: ipdb>=0.12.0
27
- Requires-Dist: pudb>=2019.1
28
25
  Requires-Dist: rich>=10.0.0
29
26
  Requires-Dist: tomlkit>=0.7.0
30
27
  Requires-Dist: typer>=0.3.0
28
+ Provides-Extra: all-debuggers
29
+ Requires-Dist: debugpy>=1.0.0; extra == "all-debuggers"
30
+ Requires-Dist: ipdb>=0.12.0; extra == "all-debuggers"
31
+ Requires-Dist: pudb>=2020.1; extra == "all-debuggers"
31
32
  Dynamic: license-file
32
33
 
33
- # debug dojo
34
+ #
34
35
 
35
36
  <p align="center">
36
- <img src="https://github.com/bwrob/debug-dojo/blob/main/docs/logo/logo_python.png?raw=true" alt="debug dojo" style="width:50%; max-width:350px;"/>
37
+ <img src="https://github.com/bwrob/debug-dojo/blob/main/docs/logo/banner.png?raw=true" alt="debug dojo" style="width:100%;"/>
37
38
  </p>
38
39
 
39
40
  <p align="center">
@@ -79,7 +80,7 @@ pip install debug-dojo
79
80
  For full debugger support, you might want to install optional dependencies:
80
81
 
81
82
  ```bash
82
- pip install "debug-dojo[all]"
83
+ pip install "debug-dojo[all-debuggers]"
83
84
  ```
84
85
 
85
86
  ## 💻 CLI Usage
@@ -1,7 +1,7 @@
1
- # debug dojo
1
+ #
2
2
 
3
3
  <p align="center">
4
- <img src="https://github.com/bwrob/debug-dojo/blob/main/docs/logo/logo_python.png?raw=true" alt="debug dojo" style="width:50%; max-width:350px;"/>
4
+ <img src="https://github.com/bwrob/debug-dojo/blob/main/docs/logo/banner.png?raw=true" alt="debug dojo" style="width:100%;"/>
5
5
  </p>
6
6
 
7
7
  <p align="center">
@@ -47,7 +47,7 @@ pip install debug-dojo
47
47
  For full debugger support, you might want to install optional dependencies:
48
48
 
49
49
  ```bash
50
- pip install "debug-dojo[all]"
50
+ pip install "debug-dojo[all-debuggers]"
51
51
  ```
52
52
 
53
53
  ## 💻 CLI Usage
@@ -0,0 +1,87 @@
1
+ [project]
2
+ authors = [
3
+ { name = "bwrob", email = "bartosz.marcin.wroblewski@gmail.com" },
4
+ ]
5
+ classifiers = [
6
+ "Intended Audience :: Developers",
7
+ "Operating System :: OS Independent",
8
+ "Programming Language :: Python :: 3.10",
9
+ "Programming Language :: Python :: 3.11",
10
+ "Programming Language :: Python :: 3.12",
11
+ "Programming Language :: Python :: 3.13",
12
+ "Programming Language :: Python :: 3.14",
13
+ "Topic :: Software Development :: Debuggers",
14
+ "Topic :: Software Development :: Libraries :: Python Modules",
15
+ ]
16
+ dependencies = [
17
+ "dacite>=1.0.0",
18
+ "rich>=10.0.0",
19
+ "tomlkit>=0.7.0",
20
+ "typer>=0.3.0",
21
+ ]
22
+ description = "🏣 debug dojo, a place for zen debugging"
23
+ keywords = [
24
+ "debugging",
25
+ "inspection",
26
+ "tools",
27
+ "development",
28
+ ]
29
+ license = 'MIT'
30
+ license-files = ['LICENSE']
31
+ name = "debug-dojo"
32
+ readme = "README.md"
33
+ requires-python = ">=3.10,<3.15"
34
+ version = "0.7.0"
35
+
36
+ [project.urls]
37
+ Changelog = "https://bwrob.github.io/debug-dojo/changelog/"
38
+ Documentation = "https://bwrob.github.io/debug-dojo/"
39
+ Homepage = "https://bwrob.github.io/debug-dojo/"
40
+ Source = "https://github.com/bwrob/debug-dojo/"
41
+
42
+ [project.scripts]
43
+ "dojo" = "debug_dojo._cli:main"
44
+
45
+ [project.optional-dependencies]
46
+ all-debuggers = [
47
+ "debugpy>=1.0.0",
48
+ "ipdb>=0.12.0",
49
+ "pudb>=2020.1",
50
+ ]
51
+
52
+
53
+ [dependency-groups]
54
+
55
+ dev = [
56
+ "basedpyright>=1.31.2",
57
+ "coverage>=7.10.4",
58
+ "debug-dojo[all-debuggers]",
59
+ "diff-cover>=9.6.0",
60
+ "poethepoet>=0.37.0",
61
+ "pytest>=8.4.1",
62
+ "pytest-cov>=6.2.1",
63
+ "ruff>=0.12.9",
64
+ "tach>=0.29.0",
65
+ ]
66
+ docs = [
67
+ "mkdocs>=1.6.1",
68
+ "mkdocs-git-authors-plugin>=0.10.0",
69
+ "mkdocs-git-committers-plugin-2>=2.5.0",
70
+ "mkdocs-git-revision-date-localized-plugin>=1.4.7",
71
+ "mkdocs-material>=9.6.17",
72
+ "mkdocs-typer2>=0.1.5",
73
+ "mkdocstrings-python>=1.17.0",
74
+ "pymdown-extensions>=10.16.1",
75
+ "typst>=0.14.2",
76
+ ]
77
+
78
+
79
+ [tool.uv]
80
+ package = true
81
+ required-version = ">=0.8.0"
82
+
83
+ [tool.uv.workspace]
84
+ members = ["."]
85
+
86
+ [tool.uv.sources]
87
+ debug-dojo = { workspace = true }
@@ -31,6 +31,12 @@ from ._config_models import (
31
31
  BREAKPOINT_ENV_VAR = "PYTHONBREAKPOINT"
32
32
  IPDB_CONTEXT_SIZE = "IPDB_CONTEXT_SIZE"
33
33
 
34
+ _NOT_INSTALLED = (
35
+ "[yellow]{name} is not installed."
36
+ "Please install it to use this debugger."
37
+ "Defaulting to standard debugger.[/yellow]"
38
+ )
39
+
34
40
 
35
41
  def use_pdb(config: PdbConfig) -> None:
36
42
  """Set PDB as the default debugger.
@@ -50,7 +56,11 @@ def use_pudb(config: PudbConfig) -> None:
50
56
  Configures `sys.breakpointhook` to use `pudb.set_trace` and sets the
51
57
  `PYTHONBREAKPOINT` environment variable.
52
58
  """
53
- import pudb # pyright: ignore[reportMissingTypeStubs]
59
+ try:
60
+ import pudb # pyright: ignore[reportMissingTypeStubs]
61
+ except ImportError:
62
+ rich_print(_NOT_INSTALLED.format(name="PuDB"))
63
+ return
54
64
 
55
65
  os.environ[BREAKPOINT_ENV_VAR] = config.set_trace_hook
56
66
  sys.breakpointhook = pudb.set_trace
@@ -62,7 +72,11 @@ def use_ipdb(config: IpdbConfig) -> None:
62
72
  Configures `sys.breakpointhook` to use `ipdb.set_trace`, sets the
63
73
  `PYTHONBREAKPOINT` environment variable, and configures `IPDB_CONTEXT_SIZE`.
64
74
  """
65
- import ipdb # pyright: ignore[reportMissingTypeStubs]
75
+ try:
76
+ import ipdb # pyright: ignore[reportMissingTypeStubs]
77
+ except ImportError:
78
+ rich_print(_NOT_INSTALLED.format(name="IPDB"))
79
+ return
66
80
 
67
81
  os.environ[BREAKPOINT_ENV_VAR] = config.set_trace_hook
68
82
  os.environ[IPDB_CONTEXT_SIZE] = str(config.context_lines)
@@ -76,7 +90,11 @@ def use_debugpy(config: DebugpyConfig) -> None:
76
90
  `PYTHONBREAKPOINT` environment variable, and starts a debugpy server
77
91
  waiting for a client connection.
78
92
  """
79
- import debugpy # pyright: ignore[reportMissingTypeStubs]
93
+ try:
94
+ import debugpy # pyright: ignore[reportMissingTypeStubs]
95
+ except ImportError:
96
+ rich_print(_NOT_INSTALLED.format(name="Debugpy"))
97
+ return
80
98
 
81
99
  os.environ[BREAKPOINT_ENV_VAR] = config.set_trace_hook
82
100
  sys.breakpointhook = debugpy.breakpoint
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: debug-dojo
3
- Version: 0.6.0
3
+ Version: 0.7.0
4
4
  Summary: 🏣 debug dojo, a place for zen debugging
5
5
  Author-email: bwrob <bartosz.marcin.wroblewski@gmail.com>
6
6
  License-Expression: MIT
@@ -22,18 +22,19 @@ Requires-Python: <3.15,>=3.10
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: dacite>=1.0.0
25
- Requires-Dist: debugpy>=1.0.0
26
- Requires-Dist: ipdb>=0.12.0
27
- Requires-Dist: pudb>=2019.1
28
25
  Requires-Dist: rich>=10.0.0
29
26
  Requires-Dist: tomlkit>=0.7.0
30
27
  Requires-Dist: typer>=0.3.0
28
+ Provides-Extra: all-debuggers
29
+ Requires-Dist: debugpy>=1.0.0; extra == "all-debuggers"
30
+ Requires-Dist: ipdb>=0.12.0; extra == "all-debuggers"
31
+ Requires-Dist: pudb>=2020.1; extra == "all-debuggers"
31
32
  Dynamic: license-file
32
33
 
33
- # debug dojo
34
+ #
34
35
 
35
36
  <p align="center">
36
- <img src="https://github.com/bwrob/debug-dojo/blob/main/docs/logo/logo_python.png?raw=true" alt="debug dojo" style="width:50%; max-width:350px;"/>
37
+ <img src="https://github.com/bwrob/debug-dojo/blob/main/docs/logo/banner.png?raw=true" alt="debug dojo" style="width:100%;"/>
37
38
  </p>
38
39
 
39
40
  <p align="center">
@@ -79,7 +80,7 @@ pip install debug-dojo
79
80
  For full debugger support, you might want to install optional dependencies:
80
81
 
81
82
  ```bash
82
- pip install "debug-dojo[all]"
83
+ pip install "debug-dojo[all-debuggers]"
83
84
  ```
84
85
 
85
86
  ## 💻 CLI Usage
@@ -1,7 +1,9 @@
1
1
  dacite>=1.0.0
2
- debugpy>=1.0.0
3
- ipdb>=0.12.0
4
- pudb>=2019.1
5
2
  rich>=10.0.0
6
3
  tomlkit>=0.7.0
7
4
  typer>=0.3.0
5
+
6
+ [all-debuggers]
7
+ debugpy>=1.0.0
8
+ ipdb>=0.12.0
9
+ pudb>=2020.1
@@ -1,142 +0,0 @@
1
- [project]
2
- authors = [ { name = "bwrob", email = "bartosz.marcin.wroblewski@gmail.com" } ]
3
- classifiers = [
4
- "Intended Audience :: Developers",
5
- "Operating System :: OS Independent",
6
- "Programming Language :: Python :: 3.10",
7
- "Programming Language :: Python :: 3.11",
8
- "Programming Language :: Python :: 3.12",
9
- "Programming Language :: Python :: 3.13",
10
- "Programming Language :: Python :: 3.14",
11
- "Topic :: Software Development :: Debuggers",
12
- "Topic :: Software Development :: Libraries :: Python Modules",
13
- ]
14
- dependencies = [
15
- "dacite>=1.0.0",
16
- "debugpy>=1.0.0",
17
- "ipdb>=0.12.0",
18
- "pudb>=2019.1",
19
- "rich>=10.0.0",
20
- "tomlkit>=0.7.0",
21
- "typer>=0.3.0",
22
- ]
23
- description = "🏣 debug dojo, a place for zen debugging"
24
- keywords = [ "debugging", "inspection", "tools", "development" ]
25
- license = 'MIT'
26
- license-files = [ 'LICENSE' ]
27
- name = "debug-dojo"
28
- readme = "README.md"
29
- requires-python = ">=3.10,<3.15"
30
- version = "0.6.0"
31
-
32
- [project.urls]
33
- Changelog = "https://bwrob.github.io/debug-dojo/changelog/"
34
- Documentation = "https://bwrob.github.io/debug-dojo/"
35
- Homepage = "https://bwrob.github.io/debug-dojo/"
36
- Source = "https://github.com/bwrob/debug-dojo/"
37
-
38
- [project.scripts]
39
- "dojo" = "debug_dojo._cli:main"
40
-
41
-
42
- [dependency-groups]
43
-
44
- dev = [
45
- "basedpyright>=1.31.2",
46
- "coverage>=7.10.4",
47
- "diff-cover>=9.6.0",
48
- "poethepoet>=0.37.0",
49
- "pytest>=8.4.1",
50
- "pytest-cov>=6.2.1",
51
- "ruff>=0.12.9",
52
- "tach>=0.29.0",
53
- ]
54
- docs = [
55
- "mkdocs>=1.6.1",
56
- "mkdocs-git-authors-plugin>=0.10.0",
57
- "mkdocs-git-committers-plugin-2>=2.5.0",
58
- "mkdocs-git-revision-date-localized-plugin>=1.4.7",
59
- "mkdocs-material>=9.6.17",
60
- "mkdocs-typer2>=0.1.5",
61
- "mkdocstrings-python>=1.17.0",
62
- "pymdown-extensions>=10.16.1",
63
- ]
64
-
65
-
66
- [tool.uv]
67
- package = true
68
- required-version = ">=0.8.0"
69
-
70
-
71
- [tool.basedpyright]
72
- ignore = [ "examples", "tests/assets" ]
73
- pythonVersion = "3.10"
74
- strict = [ "src/debug_dojo/*" ]
75
- typeCheckingMode = "all"
76
-
77
-
78
- [tool.ruff]
79
- line-length = 88
80
- target-version = "py310"
81
-
82
- [tool.ruff.lint]
83
- exclude = [ "examples" ]
84
- ignore = [ "COM", "D203", "D211", "D213" ]
85
- select = [ "ALL" ]
86
-
87
- [tool.ruff.lint.per-file-ignores]
88
- "examples/*" = [ "INP001" ]
89
- "examples/test_target.py" = [ "F821" ]
90
- "src/debug_dojo/_installers.py" = [ "PLC0415", "T100" ]
91
- "tests/*" = [ "S101", "T201" ]
92
- "tests/assets/*" = [ "T201", "INP001", "F821" ]
93
-
94
- [tool.ruff.format]
95
- docstring-code-format = true
96
-
97
-
98
- [tool.poe.tasks]
99
-
100
- coverage = { cmd = "pytest --doctest-modules --verbose --cov --cov-report=xml", help = "Create test coverage report." }
101
- dependencies = { cmd = "tach check", help = "Check dependency layers using tach." }
102
- dependency-graph = { cmd = "tach show --mermaid -o docs/dependency_graph.mmd", help = "Generate the dependency graph." }
103
- docs = { cmd = "hap run mkdocs serve", help = "Spawn docs server." }
104
- format = { cmd = "ruff format --diff --config=pyproject.toml", help = "Check code formatting using ruff." }
105
- lint = { cmd = "uv run ruff check --config=pyproject.toml", help = "Check code rules using ruff." }
106
- precommit = { cmd = "pre-commit run --all-files", help = "Run all code quality checks." }
107
- publish-docs = { cmd = "mkdocs gh-deploy --force", help = "Publish the docs to GitHub Pages." }
108
- test = { cmd = "pytest", help = "Run tests using pytest." }
109
- type-check = { cmd = "basedpyright src tests", help = "Check static typing using basedpyright." }
110
-
111
- [tool.poe.tasks.code-quality]
112
- help = "Run all code quality checks."
113
- ignore_fail = "return_non_zero"
114
- sequence = [ "fix", "precommit", "format", "lint", "type-check" ]
115
-
116
- [tool.poe.tasks.fix]
117
- default_item_type = "cmd"
118
- help = "Code quality fixes using ruff."
119
- ignore_fail = "return_non_zero"
120
- sequence = [
121
- "ruff check --fix --unsafe-fixes --config=pyproject.toml",
122
- "ruff format --config=pyproject.toml",
123
- ]
124
-
125
- [tool.poe.tasks.publish]
126
- sequence = [
127
- "code-quality",
128
- { cmd = "rm -rf dist" },
129
- { cmd = "uv build" },
130
- { cmd = "uv publish" },
131
- "publish-docs",
132
- ]
133
-
134
- [tool.docformatter]
135
- black = true
136
- non-cap = [ "dojo" ]
137
-
138
- [tool.pytest.ini_options]
139
- addopts = "--verbose --doctest-modules"
140
- collect_imported_tests = false
141
- console_output_style = "classic"
142
- minversion = "8.0"
File without changes
File without changes