machineconfig 5.22__py3-none-any.whl → 5.24__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 machineconfig might be problematic. Click here for more details.

Files changed (39) hide show
  1. machineconfig/cluster/sessions_managers/helpers/zellij_local_helper.py +298 -0
  2. machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_restart.py +77 -0
  3. machineconfig/cluster/sessions_managers/helpers/zellij_local_helper_with_panes.py +228 -0
  4. machineconfig/cluster/sessions_managers/helpers/zellij_local_manager_helper.py +165 -0
  5. machineconfig/cluster/sessions_managers/wt_local.py +100 -75
  6. machineconfig/cluster/sessions_managers/wt_local_manager.py +17 -21
  7. machineconfig/cluster/sessions_managers/wt_remote.py +51 -43
  8. machineconfig/cluster/sessions_managers/wt_remote_manager.py +16 -8
  9. machineconfig/cluster/sessions_managers/wt_utils/layout_generator.py +6 -19
  10. machineconfig/cluster/sessions_managers/zellij_local.py +79 -371
  11. machineconfig/cluster/sessions_managers/zellij_local_manager.py +20 -168
  12. machineconfig/cluster/sessions_managers/zellij_remote.py +38 -39
  13. machineconfig/cluster/sessions_managers/zellij_remote_manager.py +13 -10
  14. machineconfig/cluster/sessions_managers/zellij_utils/example_usage.py +2 -6
  15. machineconfig/cluster/sessions_managers/zellij_utils/layout_generator.py +5 -20
  16. machineconfig/scripts/python/ai/scripts/lint_and_type_check.ps1 +17 -17
  17. machineconfig/scripts/python/ai/scripts/lint_and_type_check.sh +17 -17
  18. machineconfig/scripts/python/ai/solutions/copilot/instructions/python/dev.instructions.md +1 -1
  19. machineconfig/scripts/python/ai/solutions/copilot/prompts/pyright_fix.md +16 -0
  20. machineconfig/scripts/python/ai/solutions/generic.py +15 -4
  21. machineconfig/scripts/python/cloud_repo_sync.py +7 -5
  22. machineconfig/scripts/python/count_lines.py +6 -6
  23. machineconfig/scripts/python/fire_agents_help_launch.py +6 -1
  24. machineconfig/scripts/python/helpers/repo_sync_helpers.py +0 -3
  25. machineconfig/scripts/python/interactive.py +39 -3
  26. machineconfig/scripts/windows/share_smb.ps1 +0 -6
  27. machineconfig/setup_linux/ve.sh +1 -6
  28. machineconfig/setup_linux/web_shortcuts/interactive.sh +1 -6
  29. machineconfig/setup_windows/ve.ps1 +0 -1
  30. machineconfig/setup_windows/web_shortcuts/interactive.ps1 +2 -10
  31. machineconfig/utils/source_of_truth.py +1 -1
  32. machineconfig-5.24.dist-info/METADATA +81 -0
  33. {machineconfig-5.22.dist-info → machineconfig-5.24.dist-info}/RECORD +36 -33
  34. machineconfig/cluster/sessions_managers/ffile.py +0 -4
  35. machineconfig/scripts/python/ai/solutions/copilot/prompts/allLintersAndTypeCheckers.prompt.md +0 -5
  36. machineconfig-5.22.dist-info/METADATA +0 -188
  37. {machineconfig-5.22.dist-info → machineconfig-5.24.dist-info}/WHEEL +0 -0
  38. {machineconfig-5.22.dist-info → machineconfig-5.24.dist-info}/entry_points.txt +0 -0
  39. {machineconfig-5.22.dist-info → machineconfig-5.24.dist-info}/top_level.txt +0 -0
@@ -1,188 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: machineconfig
3
- Version: 5.22
4
- Summary: Dotfiles management package
5
- Author-email: Alex Al-Saffar <programmer@usa.com>
6
- License: Apache 2.0
7
- Project-URL: Homepage, https://github.com/thisismygitrepo/machineconfig
8
- Project-URL: Bug Tracker, https://github.com/thisismygitrepo/machineconfig/issues
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: License :: OSI Approved :: Apache Software License
11
- Classifier: Operating System :: OS Independent
12
- Requires-Python: >=3.13
13
- Description-Content-Type: text/markdown
14
- Requires-Dist: cryptography>=44.0.2
15
- Requires-Dist: fire>=0.7.0
16
- Requires-Dist: joblib>=1.5.2
17
- Requires-Dist: paramiko>=3.5.1
18
- Requires-Dist: randomname>=0.2.1
19
- Requires-Dist: requests>=2.32.5
20
- Requires-Dist: rich>=14.0.0
21
- Requires-Dist: tenacity>=9.1.2
22
- Requires-Dist: psutil>=7.0.0
23
- Requires-Dist: gitpython>=3.1.44
24
- Requires-Dist: pyfzf>=0.3.1
25
- Requires-Dist: rclone-python>=0.1.23
26
- Requires-Dist: pyjson5>=1.6.9
27
- Requires-Dist: typer-slim>=0.19.2
28
- Requires-Dist: questionary>=2.1.1
29
- Requires-Dist: typer>=0.19.2
30
- Provides-Extra: windows
31
- Requires-Dist: pywin32; extra == "windows"
32
- Provides-Extra: docs
33
- Requires-Dist: pdoc>=15.0.2; extra == "docs"
34
-
35
-
36
- <p align="center">
37
-
38
- <a href="https://github.com/thisismygitrepo/machineconfig/commits">
39
- <img src="https://img.shields.io/github/commit-activity/m/thisismygitrepo/machineconfig" />
40
- </a>
41
-
42
- </p>
43
-
44
-
45
- # Welcome to machineconfig
46
-
47
- # Shortcuts
48
- * `bit.ly/cfgroot` is a shortcut to this repo.
49
- * `glow https://bit.ly/cfgread` OR `curl bit.ly/cfgread -L | bat -l md --style="header"` to get the readme file.
50
-
51
- Machineconfig is a package for managing configuration files (aka dotfiles). The idea is to collect those critical, time-consuming-files-to-setup in one directory and reference them via symbolic links from their original locations. Thus, when a new machine is to be setup, all that is required is to clone the repo in that machine and create the symbolic links.
52
- Dotfiles include, but are not limited to:
53
- * `~/.gitconfig`
54
- * `~/.ssh`
55
- * `~/.aws`
56
- * `~/.bash_profile`
57
- * `~/.bashrc`
58
- * `~/.config`
59
- * `$profile` in Windows Powershell
60
- * etc
61
-
62
-
63
- Additionally, files that contain data, sensitive information that should not be pushed to a repository are contained in a directory `~/dotfiles`. The files therein are encrypted before backedup.
64
-
65
-
66
- ## Windows Setup
67
- With elevated `PowerShell`, run the following: (short `curl bit.ly/cfgallwindows -L | iex`)
68
-
69
- **You have to have `winget` first. If its not available in the your terminal, try those resources:**
70
-
71
- * https://github.com/asheroto/winget-install
72
- * https://github.com/microsoft/winget-cli
73
- * https://github.com/microsoft/winget-cli/discussions/3258
74
-
75
-
76
- ```shell
77
- # apps # short: `(iwr bit.ly/cfgappswindows).Content | iex`
78
- Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/apps.ps1 | Invoke-Expression
79
- # virtual enviornment # short (iwr bit.ly/cfgvewindows).Content | iex OR `curl bit.ly/cfgvewindows -L | iex`
80
- Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/ve.ps1 | Invoke-Expression
81
- # symlinks # short `(iwr bit.ly/cfgsymlinkswindows).Content | iex` OR `curl bit.ly/cfgsymlinkswindows -L | iex`
82
- . $HOME/code/machineconfig/src/machineconfig/setup_windows/symlinks.ps1
83
- # devapps:
84
- $HOME/code/machineconfig/src/machineconfig/setup_windows/devapps.ps1
85
- # pwsh and wt settings: (iwr bit.ly/cfgwt).Content | iex
86
- iwr https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/wt_and_pwsh.ps1 | iex
87
-
88
- ```
89
-
90
- ```shell
91
-
92
- (iwr bit.ly/cfgappswindows).Content | iex
93
- (iwr bit.ly/cfgvewindows).Content | iex
94
- . $HOME/code/machineconfig/src/machineconfig/setup_windows/devapps.ps1
95
- (iwr bit.ly/cfgwt).Content | iex
96
- . $HOME/code/machineconfig/src/machineconfig/setup_windows/symlinks.ps1
97
-
98
- & "$HOME\code\machineconfig\.venv\Scripts\activate.ps1"
99
- python -m fire machineconfig.profile.create main2 --choice=all
100
- deactivate
101
-
102
- ```
103
-
104
- ###### Setup SSH connection:
105
- ```shell
106
- # CHANGE pubkey_string APPROPRIATELY
107
- $pubkey_string=(Invoke-WebRequest 'https://github.com/thisismygitrepo.keys').Content
108
- Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/openssh_all.ps1 | Invoke-Expression
109
- ```
110
- short `(iwr bit.ly/cfgsshwindows).Content | iex` OR `curl bit.ly/cfgsshwindows -L | iex`
111
-
112
- ###### Install Croshell Terminal Directly,
113
- ```shell
114
- Invoke-WebRequest https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_windows/web_shortcuts/croshell.ps1 | Invoke-Expression
115
- ```
116
- short: `curl bit.ly/cfgcroshellwindows -L | iex` OR `(iwr bit.ly/cfgcroshellwindows).Content | iex`
117
-
118
-
119
- # Linux Setup
120
- With `sudo` access, run the following: (short `curl bit.ly/cfgalllinux -L | bash`)
121
- ```bash
122
- export package_manager="nala"
123
- export package_manager="nix"
124
-
125
- # apps # short: `curl bit.ly/cfgappslinux -L | bash`
126
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/apps.sh | bash
127
- # Optionally: curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/apps_dev.sh | bash
128
-
129
- # virtual enviornment # short `curl bit.ly/cfgvelinux -L | bash`
130
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/ve.sh | bash
131
-
132
- # repos # short `curl bit.ly/cfgreposlinux -L | bash`
133
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/repos.sh | bash
134
- # symlinks and bash profile: # short `curl bit.ly/cfgsymlinkslinux -L | bash`
135
- source ~/code/machineconfig/src/machineconfig/setup_linux/symlinks.sh # requires sudo since it invloves chmod of dotfiles/.ssh, however sudo doesn't work with source. best to have sudo -s earlier.
136
-
137
- # devapps
138
- source <(sudo cat ~/code/machineconfig/src/machineconfig/setup_linux/devapps.sh)
139
- ```
140
-
141
- ###### Setup SSH connection:
142
- ```bash
143
- pubkey_url='https://github.com/thisismygitrepo.keys' # (CHANGE APPROPRIATELY)
144
- export pubkey_string=$(curl --silent $pubkey_url)
145
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_all.sh | sudo bash
146
- # For WSL only, also run the following:
147
- export port=2223
148
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/openssh_wsl.sh | sudo bash
149
- # don't forget to run `wsl_ssh_windows_port_forwarding -p 2223` from Windows using the designated port with
150
- ```
151
- short `curl bit.ly/cfgsshlinux -L | bash`
152
-
153
-
154
- ###### Install Croshell Terminal Directly
155
-
156
- ```bash
157
-
158
- curl https://raw.githubusercontent.com/thisismygitrepo/machineconfig/main/src/machineconfig/setup_linux/web_shortcuts/croshell.sh | sudo bash
159
-
160
- ```
161
- short `curl bit.ly/cfgcroshelllinux -L | bash`
162
-
163
-
164
- ## Repository management CLI
165
-
166
- The DevOps CLI now exposes rich subcommands for working with git repositories. Run `python -m machineconfig.scripts.python.devops repos --help` to explore the hierarchy:
167
-
168
- * Top-level actions: `push`, `pull`, `commit`, `all`, and `analyze`.
169
- * These commands accept `--recursive/-r` and `--no-sync` to control nested repos and automatic `uv sync`.
170
- * Sync workflows live under `sync`:
171
- * `record` captures the current machine state into a `repos.json`.
172
- * `capture` clones repos from a specification without changing commits.
173
- * `checkout` aligns repositories to commits stored in the spec.
174
- * `checkout-to-branch` switches repositories to the tracked branch.
175
- * Each sync subcommand accepts `--cloud/-c` for fetching/saving specs from remote storage.
176
-
177
- Example:
178
-
179
- ```bash
180
- python -m machineconfig.scripts.python.devops repos sync record ~/code --cloud my_remote
181
- python -m machineconfig.scripts.python.devops repos pull ~/code --recursive
182
- ```
183
-
184
- # Author
185
- Alex Al-Saffar. [email](mailto:programmer@usa.com)
186
-
187
- [![Alex's github activity graph](https://github-readme-activity-graph.vercel.app/graph?username=thisismygitrepo)](https://github.com/ashutosh00710/github-readme-activity-graph)
188
-