daktari 0.0.269__py3-none-any.whl → 0.0.271__py3-none-any.whl

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.

Potentially problematic release.


This version of daktari might be problematic. Click here for more details.

daktari/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.0.269"
1
+ __version__ = "0.0.271"
@@ -0,0 +1,25 @@
1
+ from daktari.check import Check, CheckResult
2
+ from daktari.os import OS
3
+
4
+ # We found that if /etc/hosts used a mixture of tabs and spaces
5
+ # it caused some applications to ignore /etc/hosts and perform DNS lookups instead.
6
+ # This check enforces a single space in any blankspace in /etc/hosts.
7
+
8
+
9
+ class EtcHostsFormattedCorrectly(Check):
10
+ name = "etc.hosts.formattedCorrectly"
11
+ description = "Check if /etc/hosts is formatted correctly with consistent use of tabs and spaces"
12
+
13
+ def __init__(self):
14
+ self.suggestions = {
15
+ OS.GENERIC: "Reformat /etc/hosts to use a single space consistently in blankspace:\n\n"
16
+ + r"<cmd>sudo sed -Ei 's:( |\t)+: :g' /etc/hosts</cmd>",
17
+ }
18
+
19
+ def check(self) -> CheckResult:
20
+ with open("/etc/hosts", "r") as f:
21
+ content = f.read()
22
+ if "\t" in content or " " in content:
23
+ return self.failed("/etc/hosts is uses tabs or multiple spaces in blankspace.")
24
+ else:
25
+ return self.passed("/etc/hosts is formatted correctly")
daktari/checks/misc.py CHANGED
@@ -3,7 +3,6 @@ from os.path import expanduser
3
3
  from typing import Dict, Optional
4
4
 
5
5
  from python_hosts import Hosts
6
- from tabulate import tabulate
7
6
 
8
7
  from daktari.check import Check, CheckResult
9
8
  from daktari.os import OS, check_env_var_exists, get_env_var_value
@@ -193,7 +192,7 @@ class HostAliasesConfigured(Check):
193
192
  def __init__(self, required_aliases: Dict[str, str]):
194
193
  self.required_aliases = required_aliases
195
194
  hosts_path = Hosts.determine_hosts_path()
196
- entries_text = tabulate([(addr, name) for (name, addr) in self.required_aliases.items()], tablefmt="plain")
195
+ entries_text = "\n".join([f"{addr} {name}" for (name, addr) in self.required_aliases.items()])
197
196
  self.suggestions = {OS.GENERIC: f"Add the following entries to {hosts_path}:\n\n{entries_text}"}
198
197
 
199
198
  def check(self) -> CheckResult:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: daktari
3
- Version: 0.0.269
3
+ Version: 0.0.271
4
4
  Summary: Assist in setting up and maintaining developer environments
5
5
  Author-email: Matt Russell <matthew.russell@sonocent.com>
6
6
  License: Copyright 2021 Sonocent Ltd
@@ -19,13 +19,11 @@ Requires-Dist: distro==1.9.0
19
19
  Requires-Dist: pyfiglet==1.0.2
20
20
  Requires-Dist: importlib_resources==6.5.2
21
21
  Requires-Dist: packaging==25.0
22
- Requires-Dist: setuptools==80.7.1
22
+ Requires-Dist: setuptools==80.8.0
23
23
  Requires-Dist: requests==2.32.3
24
24
  Requires-Dist: responses==0.25.7
25
25
  Requires-Dist: semver==3.0.4
26
26
  Requires-Dist: python-hosts==1.0.7
27
- Requires-Dist: tabulate==0.9.0
28
- Requires-Dist: types-tabulate==0.9.0.20241207
29
27
  Requires-Dist: PyYAML==6.0.2
30
28
  Requires-Dist: types-PyYAML==6.0.12.20250516
31
29
  Requires-Dist: pyobjc-core==11.0; sys_platform == "darwin"
@@ -47,7 +45,7 @@ In the root of the project repository, create a `.daktari.py` configuration file
47
45
  ```python
48
46
  from daktari.checks.git import *
49
47
 
50
- version = "0.0.269"
48
+ version = "0.0.271"
51
49
  title = "My Project"
52
50
 
53
51
  checks = [
@@ -1,4 +1,4 @@
1
- daktari/__init__.py,sha256=T_b3ZKRrWOhq-TMtdQZPyE8feb-pXSohhnEtRN4Yc64,24
1
+ daktari/__init__.py,sha256=6J7W_4XDncfAesLSudAUojlP9zCb-0GyvxWG1ex81r0,24
2
2
  daktari/__main__.py,sha256=iYwgtZZE2HD9Eh9Io6OliGQwCNZJSde_66jI6kF8xJU,1463
3
3
  daktari/asdf.py,sha256=fALVL6UTz1AYxuabw9MZeAES7J_CvImutUDD1Y2yWwM,509
4
4
  daktari/check.py,sha256=WzIiCrrdH7gCbElNwYbYkjhpmaOs_nUWfvkTBkfZlgs,4133
@@ -31,6 +31,7 @@ daktari/checks/certs.py,sha256=_Q_1tNEwDoO-q-vPx2wOmGYqN-s4osK4gSRpKU5TFbU,1262
31
31
  daktari/checks/conan.py,sha256=_IWjb5wkbxh-dR6DnEaMpmgzIOkuLWnfMos8sRDmLek,4061
32
32
  daktari/checks/direnv.py,sha256=4J2GjbCX-2r7vxuRrNayGa2aq0WcNO07VFtgUvYU0Rc,2271
33
33
  daktari/checks/docker.py,sha256=VFv6w5fJlss5aob7XX2muEbX05bk7ot5ArIuh8uXCS4,2788
34
+ daktari/checks/etc_hosts.py,sha256=B5-FP7tf5HLuI4wVAS6yGhyHkdeNW6UeBYI_kSDuLFY,1058
34
35
  daktari/checks/files.py,sha256=Rth-b1XuZw-AjG3Uwg1ZTc6ItBhQ-U6ZP6VzrOzdRhU,2386
35
36
  daktari/checks/flutter.py,sha256=1TI19pIiLVrAuJvoPMXzgX1yOVq6Q5K0TwHNSAUdR_g,1536
36
37
  daktari/checks/git.py,sha256=yII22HkvhjGM4bpr3wiLvPxi1pSBPiQcxdTyjqPXji4,6508
@@ -38,7 +39,7 @@ daktari/checks/google.py,sha256=pVbMVWe_mcZ5v-Y6COMwjpMIRopSqzVvgwAQVA4x_Tc,4643
38
39
  daktari/checks/intellij_idea.py,sha256=qm7g_sa-3B639iW1BLE-2lr2Zloy9tMLzFk2Uwcn-Tg,9808
39
40
  daktari/checks/java.py,sha256=vS4gfuLwLxuTLizvybRx2yYXnNLMTsSfmoYHp91rono,3542
40
41
  daktari/checks/kubernetes.py,sha256=BJjxAZzZ3y3t7oHBruUy8OxP41JaX0cxlLvTnFz-F8s,5886
41
- daktari/checks/misc.py,sha256=8-xvFvMCoZTaZIVCw5QWKtFT-wSkUSUXGBak02IB6yY,10489
42
+ daktari/checks/misc.py,sha256=r5bpQ0bLdYzr586MkYJSB4YaBsw_FB0KZLVWPhheDiY,10446
42
43
  daktari/checks/nodejs.py,sha256=KOCLNQqZqaCalxcIajoDQDom1Zi4_noV4mV_-YZv_4E,2873
43
44
  daktari/checks/onepassword.py,sha256=C2HWNlypBDTUx4K4IrrEVIkMqivKzX97oE0rENP1xK4,4155
44
45
  daktari/checks/python.py,sha256=v6xuRwtFCjzTYMN3qRLu76Xm7Bn8NO7wVpI3d8dOBSc,658
@@ -56,9 +57,9 @@ daktari/checks/yarn.py,sha256=T8b_oOoZ4l96delmPgPfgtaTkiUS129hoWlGIBcU7Io,5534
56
57
  daktari/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
58
  daktari/resources/daktari-local-template.yaml,sha256=ik7KzMcG1r90nxDOk7t5G7P-BSxQIl2PocGUVe14c44,503
58
59
  daktari/resources/mock_cert.pem,sha256=AIc9dZOVIuxm7KFLunP5WSA1-LDWLOwpfu48B9xQ_Wg,82
59
- daktari-0.0.269.dist-info/licenses/LICENSE.txt,sha256=sMo18UdnQ7rY1SYg9gmop08ubzEQOGO1URYXu1Hxdx0,1051
60
- daktari-0.0.269.dist-info/METADATA,sha256=YBIz-LDhWtM3V3zC2HUAd7vRwvKeCJH_elhQqbjegEs,4634
61
- daktari-0.0.269.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
62
- daktari-0.0.269.dist-info/entry_points.txt,sha256=mfQXkwKyloAzf7sv78icBo1PtRwf9hCP_816F6REf-I,50
63
- daktari-0.0.269.dist-info/top_level.txt,sha256=LW6kawKAAyxUbGqpAbdedKRUyVy2DBzEZOalp0qDdF8,8
64
- daktari-0.0.269.dist-info/RECORD,,
60
+ daktari-0.0.271.dist-info/licenses/LICENSE.txt,sha256=sMo18UdnQ7rY1SYg9gmop08ubzEQOGO1URYXu1Hxdx0,1051
61
+ daktari-0.0.271.dist-info/METADATA,sha256=K2BCXFZm32nrXUS-2oew72sare4aNsjz0mEwbjnvbso,4557
62
+ daktari-0.0.271.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
63
+ daktari-0.0.271.dist-info/entry_points.txt,sha256=mfQXkwKyloAzf7sv78icBo1PtRwf9hCP_816F6REf-I,50
64
+ daktari-0.0.271.dist-info/top_level.txt,sha256=LW6kawKAAyxUbGqpAbdedKRUyVy2DBzEZOalp0qDdF8,8
65
+ daktari-0.0.271.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.7.1)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5