vappman 0.9.1__tar.gz → 0.9.3__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.
@@ -0,0 +1,6 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ .vscode/
4
+ *.egg-info/
5
+ *.tar.gz
6
+ *.whl
@@ -1,20 +1,19 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: vappman
3
- Version: 0.9.1
3
+ Version: 0.9.3
4
4
  Summary: A visual wrapper for appman
5
- Author-email: Joe Defen <joedef@google.com>
6
- License: MIT
7
- Project-URL: Homepage, https://github.com/joedefen/vappman
8
- Project-URL: Bug Tracker, https://github.com/joedefen/vappman/issues
9
5
  Keywords: app,installer,manager,appimages
6
+ Author-email: Joe Defen <joedef@google.com>
7
+ Requires-Python: >=3.8
8
+ Description-Content-Type: text/markdown
10
9
  Classifier: Programming Language :: Python :: 3
11
10
  Classifier: License :: OSI Approved :: MIT License
12
11
  Classifier: Operating System :: POSIX :: Linux
13
- Requires-Python: >=3.8
14
- Description-Content-Type: text/markdown
15
12
  License-File: LICENSE
16
- Requires-Dist: importlib-metadata; python_version < "3.8"
13
+ Requires-Dist: importlib-metadata; python_version<"3.8"
17
14
  Requires-Dist: psutil>=5.9
15
+ Project-URL: Bug Tracker, https://github.com/joedefen/vappman/issues
16
+ Project-URL: Homepage, https://github.com/joedefen/vappman
18
17
 
19
18
  # vappman
20
19
  `vappman` presents a visual (curses) interface to `appman`.
@@ -88,3 +87,4 @@ NOTES: in this example:
88
87
 
89
88
  ## Screen Recording (Intro to vappman based on v0.9)
90
89
  [![Screen Recording](https://i9.ytimg.com/vi_webp/NUHYN9_DZtA/mq3.webp?sqp=CMTu4LMG-oaymwEmCMACELQB8quKqQMa8AEB-AHqBYAC4AOKAgwIABABGEogZShRMA8=&rs=AOn4CLBaBrOpAhJkRIQQNNdCzYaqpOYl-Q)](https://www.youtube.com/watch?v=fC2EYMMcMQk)
90
+
vappman-0.9.3/deploy ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ script_dir=$(dirname "$0")
3
+ set -ex
4
+ cd ${script_dir}
5
+ rm -rf ./dist
6
+ python3 -m build
7
+ pip install -e . --break-system-packages
@@ -0,0 +1,38 @@
1
+ # Vappman HOWTO Develop
2
+
3
+ A visual wrapper for appman.
4
+
5
+ ---
6
+
7
+ ## How to Develop
8
+
9
+ ### Prep Work
10
+ Ensure necessary modules are up-to-date:
11
+ - `sudo apt install python3-pip`
12
+ - `sudo apt install python3-pip-whl`
13
+ - `pip install build --break-system-packages`
14
+ - `sudo apt install twine`
15
+
16
+ Optionally, use a virtual environment:
17
+ - `python3 -m venv venv`
18
+ - `source venv/bin/activate` (to activate)
19
+ - `deactivate` (to deactivate)
20
+
21
+ ### Running the Project
22
+ - To run with local changes: `rm -rf ./dist && python3 -m build && pip install -e . --break-system-packages`
23
+ - Or simply: `python3 -m vappman.main`
24
+ - Or from the source directory: `cd src/vappman && ./main.py`
25
+
26
+ ---
27
+
28
+ ## How to Publish
29
+
30
+ ### Public Build and Deploy
31
+ - **BUMP** the version in `pyproject.toml`.
32
+ flit build && flit publish # Will prompt for your PyPI token if not cached
33
+ - Install or upgrade: `pipx upgrade vappman` (for Python 3.11+) or `sudo python3 -m pip install vappman` (for Python 3.10 and below).
34
+
35
+ ### Test Build and Deploy
36
+ - **BUMP** the version in `pyproject.toml`.
37
+ flit build && flit publish --repository testpypi
38
+ + Install from TestPyPI: `sudo python3 -m pip install --upgrade --index-url https://test.pypi.org/simple/ --no-deps --break-system-packages vappman`
@@ -0,0 +1,34 @@
1
+ [build-system]
2
+ requires = ["flit_core>=3.4"]
3
+ build-backend = "flit_core.buildapi"
4
+
5
+ [project]
6
+ name = "vappman"
7
+ version = "0.9.3"
8
+ description = "A visual wrapper for appman"
9
+ authors = [
10
+ { name = "Joe Defen", email = "joedef@google.com" }
11
+ ]
12
+ readme = "README.md"
13
+ license = { text = "MIT" }
14
+ requires-python = ">=3.8"
15
+ keywords = ["app", "installer", "manager", "appimages"]
16
+ classifiers = [
17
+ "Programming Language :: Python :: 3",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Operating System :: POSIX :: Linux"
20
+ ]
21
+ dependencies = [
22
+ 'importlib-metadata; python_version<"3.8"',
23
+ 'psutil>=5.9',
24
+ ]
25
+
26
+ [project.urls]
27
+ "Homepage" = "https://github.com/joedefen/vappman"
28
+ "Bug Tracker" = "https://github.com/joedefen/vappman/issues"
29
+
30
+ [project.scripts]
31
+ vappman = "vappman.main:main"
32
+
33
+ [tool.flit.module]
34
+ name = "vappman"
@@ -80,7 +80,8 @@ class Vappman:
80
80
  command = cmd.split()
81
81
  # Run the command and capture the output
82
82
  try:
83
- result = subprocess.run(command, stdout=subprocess.PIPE, text=True, check=False)
83
+ result = subprocess.run(command, stdout=subprocess.PIPE,
84
+ text=True, encoding='utf-8', errors='ignore', check=False)
84
85
  except Exception as exc:
85
86
  Window.stop_curses()
86
87
  print(f'FAILED: {command}: {exc}')
@@ -91,12 +92,24 @@ class Vappman:
91
92
  lines = result.stdout.splitlines()
92
93
  ansi_escape_pattern = re.compile(r'\x1B\[[0-?]*[ -/]*[@-~]')
93
94
  rv = {}
95
+ prev_wd1 = None
94
96
  for line in lines:
95
- line = ansi_escape_pattern.sub('', line).strip() # get clean text
97
+ line = ansi_escape_pattern.sub('', line) # get clean text
96
98
  if re.match(start, line):
99
+ line = line.strip()
97
100
  wd1 = self.get_word1(line)
98
101
  if wd1:
99
102
  rv[wd1] = line
103
+ prev_wd1 = wd1
104
+ elif prev_wd1 and line.startswith(' '):
105
+ line = line.strip()
106
+ if line:
107
+ rv[prev_wd1] += ' ' + line
108
+ else:
109
+ prev_wd1 = None
110
+ else:
111
+ prev_wd1 = None
112
+
100
113
  return rv
101
114
 
102
115
  @staticmethod
vappman-0.9.1/PKG-INFO DELETED
@@ -1,90 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: vappman
3
- Version: 0.9.1
4
- Summary: A visual wrapper for appman
5
- Author-email: Joe Defen <joedef@google.com>
6
- License: MIT
7
- Project-URL: Homepage, https://github.com/joedefen/vappman
8
- Project-URL: Bug Tracker, https://github.com/joedefen/vappman/issues
9
- Keywords: app,installer,manager,appimages
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: License :: OSI Approved :: MIT License
12
- Classifier: Operating System :: POSIX :: Linux
13
- Requires-Python: >=3.8
14
- Description-Content-Type: text/markdown
15
- License-File: LICENSE
16
- Requires-Dist: importlib-metadata; python_version < "3.8"
17
- Requires-Dist: psutil>=5.9
18
-
19
- # vappman
20
- `vappman` presents a visual (curses) interface to `appman`.
21
-
22
- * Install `vappman` using `pipx install vappman`, or however you do so.
23
- * Prerequisites: install [ivan-hc/AppMan: AppImage package manager to install, update (for real) and manage ALL of them locally thanks to "AM", the ever-growing AUR-inspired database listing (for now) 1900+ portable apps and programs for GNU/Linux. Manage your AppImages with the ease of APT and the power of PacMan.](https://github.com/ivan-hc/AppMan) and all of its prerequisites.
24
-
25
- NOTE: `vappman` covers many capabilities of appman:
26
- * implicitly, (-f) files (or show installed), (-l) list available apps,
27
- and (-q) search the app list
28
- * (-i) installing uninstalled apps
29
- * (-r) removing installed apps
30
- * (-b) backup / (-o) overwrite of installed apps
31
- * (-a) about (i.e., more info) for all apps
32
- * (-c) clean to remove unneeded files and directories
33
- * (-u) update installed apps; and `vappman` uses "U" for update
34
- all installed apps
35
-
36
- But it does NOT cover:
37
- * (-d) download install script
38
- * (-h) help or full help for appman
39
- * (-H) home or set $HOME directory for apps
40
- * (-t) template for custom install template
41
- * (-v) version of appman
42
- * --force-latest to get the most recent stable release AND
43
- all other options and unmentioned commands.
44
-
45
- ## Usage
46
- * Run `vappman` from the command line.
47
- * It presents some keys available on the top line.
48
- * Use '?' to learn the navigation keys (e.g., you can use the mouse wheel,
49
- arrow keys, and many `vi`-like keys)
50
- * '?' also elaborates the meaning of the available keys for operations.
51
- * NOTE: `ENTER` acts differently based on context:
52
- * In help, it returns to the main menu.
53
- * On an uninstalled app, it installs it.
54
- * On an installed app, it uninstalls it.
55
- * Then `vappman` presents a list of installed apps, followed by available/uninstalled apps.
56
- * Installed apps have prefix '✔✔✔' (i.e., three checks).
57
- * Uninstalled apps have prefix '◆' (i.e., a solid diamond).
58
- * Enter `/` to enter a "filter" for installed/uninstalled apps, if you wish.
59
- * If you enter plain ole "words", then those words must match:
60
- * the start of words on the apps line (in order, but not contiguously) and/or
61
- * the start of the remainder of the previous word match
62
- (i.e., `/bit fight` matches `bitfighter`).
63
- * Or you can enter an regular expression acceptable to python; e.g.,
64
- * `^` matches the line starting with the app name
65
- * `\b` matches a word boundary; and so forth.
66
- * NOTES:
67
- * `ESC` clears the filter and jumps to the top of the listing.
68
- * Each time the filter is changed, the position jumps to the top of the listing.
69
- * Use `i` to install apps, and `r` to remove apps. When you install or remove an app, `appman` drops out of `curses` mode, runs the `appman` command so you can see the result, and then prompts your to hit ENTER to return to `vappman.
70
- * Use `t` to "test" an installed app. This launches a terminal emulator and then the app so you can see issues. This is not for daily use obviously, but for after install or when having unknown issues and you wish to start the investigation.
71
-
72
- ## Example Screenshot (of v0.9 ... current release will vary slightly)
73
- ![vappman-with-filter](https://github.com/joedefen/vappman/blob/main/images/vappman-with-filter.png?raw=true).
74
-
75
- ---
76
-
77
- NOTES: in this example:
78
- * keys to the left of `❚` apply to the highlighted app; keys to the right apply globally.
79
- * the filter is `card` so it shows app lines with words starting with `card`.
80
- * the reverse video, current position is on `glabels`;
81
- thus if `i` (or ENTER) is typed, `appman install glabels` is run.
82
- * if the horizontal line (second line show) has no decorations, then you are looking
83
- all the filtered apps; otherwise, the decoration suggests where you are in the
84
- partial view of the filtered apps.
85
- * the matching installed app has the '✔✔✔' prefix.
86
- * the fixed top line shows mos of the available action keys (e.g., `q` quits the app)
87
- * use `?` to open the help screen describing all keys (including navigation)
88
-
89
- ## Screen Recording (Intro to vappman based on v0.9)
90
- [![Screen Recording](https://i9.ytimg.com/vi_webp/NUHYN9_DZtA/mq3.webp?sqp=CMTu4LMG-oaymwEmCMACELQB8quKqQMa8AEB-AHqBYAC4AOKAgwIABABGEogZShRMA8=&rs=AOn4CLBaBrOpAhJkRIQQNNdCzYaqpOYl-Q)](https://www.youtube.com/watch?v=fC2EYMMcMQk)
@@ -1,97 +0,0 @@
1
- # HOW TO DEVELOP
2
-
3
- #
4
- # Prep Work (ensure need modules are up-to-date):
5
- # sudo apt install python3-pip
6
- # sudo apt install python3-pip-whl
7
- # pip install build --break-system-packages
8
- # sudo apt install twine
9
- # -- antiquated way
10
- # sudo pacman -Syu python-pip
11
- # sudo pacman -Syu python-build
12
- # sudo pacman -Syu python-twine
13
- # -- antiquated way
14
- # python3 -m pip install --upgrade pip
15
- # python3 -m pip install --upgrade build
16
- # python3 -m pip install --upgrade twine
17
- #
18
- # Optionally, `python3 -m venv venv`, and then
19
- # - source env/bin/activate # to activate
20
- # - deactivate # to deactivate
21
- #
22
- # rm -rf ./dist && python3 -m build && pip install -e . --break-system-packages
23
- # pip-tray
24
- #
25
- # -OR-
26
- # python3 -m vappman.main
27
- #
28
- # -OR-
29
- # cd src/vappman && ./main.py
30
- #
31
- # -OR-
32
- # src/vappman/main.py
33
-
34
- # HOW TO PUBLISH...
35
- # PUBLIC Build and deploy (from project directory):
36
- # ## BUMP the version (below in [project])
37
- # rm -rf dist; python3 -m build; ls dist/.
38
- # python3 -m twine upload dist/* # keyring --disable # may be required
39
- # ## Enter __token__ and the saved TOKEN (in bitwarden)
40
- # pipx upgrade pwr-tray || pipx install pwr-tray # >= python3.11
41
- # --OR-- sudo python3 -m pip install pwr-tray # <= python3.10
42
- # ## VISIT https://pypi.org/project/pwr-tray and delete old versions
43
- #
44
- # TEST Build and test (from project directory):
45
- # ## BUMP the version (below in [project])
46
- # rm -r dist; python3 -m build
47
- # python3 -m twine upload --repository testpypi dist/* # keyring --disable # may be required
48
- # ## Enter __token__ and the saved TOKEN (in bitwarden)
49
- # sudo python3 -m pip install --upgrade --index-url https://test.pypi.org/simple/ --no-deps --break-system-packages my-sna
50
- # ## VISIT https://test.pypi.org/project/pwr-tray and delete old versions
51
-
52
- [build-system]
53
- requires = ["setuptools>=42", "wheel"]
54
- build-backend = "setuptools.build_meta"
55
-
56
- [project]
57
- name = "vappman"
58
- version = "0.9.1"
59
- description = "A visual wrapper for appman"
60
- authors = [
61
- { name = "Joe Defen", email = "joedef@google.com" }
62
- ]
63
- readme = "README.md"
64
- license = { text = "MIT" }
65
- requires-python = ">=3.8"
66
-
67
- keywords = ["app", "installer", "manager", "appimages", ]
68
-
69
- classifiers = [
70
- "Programming Language :: Python :: 3",
71
- "License :: OSI Approved :: MIT License",
72
- "Operating System :: POSIX :: Linux"
73
- ]
74
- dependencies = [
75
- 'importlib-metadata; python_version<"3.8"',
76
- 'psutil>=5.9',
77
- ]
78
-
79
- [project.urls]
80
- "Homepage" = "https://github.com/joedefen/vappman"
81
- "Bug Tracker" = "https://github.com/joedefen/vappman/issues"
82
-
83
- [project.scripts]
84
- vappman = "vappman.main:main"
85
-
86
- [tool.setuptools]
87
- package-dir = {"" = "src"}
88
-
89
- [tool.setuptools.packages.find]
90
- where = ["src"]
91
-
92
- [tool.setuptools.package-data]
93
-
94
- exclude = [
95
- "__pycache__",
96
- ]
97
-
vappman-0.9.1/setup.cfg DELETED
@@ -1,4 +0,0 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-
@@ -1,12 +0,0 @@
1
- LICENSE
2
- README.md
3
- pyproject.toml
4
- src/vappman/PowerWindow.py
5
- src/vappman/__init__.py
6
- src/vappman/main.py
7
- src/vappman.egg-info/PKG-INFO
8
- src/vappman.egg-info/SOURCES.txt
9
- src/vappman.egg-info/dependency_links.txt
10
- src/vappman.egg-info/entry_points.txt
11
- src/vappman.egg-info/requires.txt
12
- src/vappman.egg-info/top_level.txt
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- vappman = vappman.main:main
@@ -1,4 +0,0 @@
1
- psutil>=5.9
2
-
3
- [:python_version < "3.8"]
4
- importlib-metadata
@@ -1 +0,0 @@
1
- vappman
File without changes
File without changes
File without changes