ybox 0.9.8__py3-none-any.whl → 0.9.8.1__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.
ybox/__init__.py CHANGED
@@ -1,2 +1,2 @@
1
1
  """`ybox` is a tool to easily manage linux distributions in containers"""
2
- __version__ = "0.9.8"
2
+ __version__ = "0.9.8.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ybox
3
- Version: 0.9.8
3
+ Version: 0.9.8.1
4
4
  Summary: Securely run Linux distribution inside a container
5
5
  Author-email: Sumedh Wale <sumwale@yahoo.com>, Vishal Rao <vishalrao@gmail.com>
6
6
  License: Copyright (c) 2024-2025 Sumedh Wale and contributors
@@ -101,7 +101,7 @@ you can simply launch it from your desktop environment's applications as usual.
101
101
 
102
102
  In this way this acts as a complete replacement of flatpak/snap while being able to choose
103
103
  from way bigger software repositories, and with applications configured the way they are
104
- supposed to be in the original Linux distribution (which is only Arch Linux for now).
104
+ supposed to be in the original Linux distribution.
105
105
  The big difference being that these are just containers where you can open a shell
106
106
  (using `ybox-cmd`) and learn/play as required, or micro-configure stuff. The shell will
107
107
  behave quite like a full Linux installation apart from missing system-level stuff like systemd.
@@ -109,37 +109,50 @@ behave quite like a full Linux installation apart from missing system-level stuf
109
109
 
110
110
  ## Installation
111
111
 
112
- If you have cloned the repository, then no further installation is required to run the utilities
113
- in `src` directory which can be done directly off the repository. In the near future this will
114
- also be published on `pypi.org`, so you will be able to install with `pip install --user ybox`.
115
-
116
- As of now the following is required:
117
-
118
- - clone the repo: `git clone https://github.com/sumwale/ybox.git`
119
- - rootless podman or docker
120
- * for podman this needs installation of `podman` and `slirp4netns`/`passt` packages,
121
- then setup /etc/subuid and /etc/subgid as noted here:
122
- [/etc/subuid and /etc/subgid configuration](https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md#etcsubuid-and-etcsubgid-configuration)
123
- (many distributions like ubuntu will set up subuid/subgid for current user automatically)
124
- * for docker follow the instructions in the official [docs](https://docs.docker.com/engine/security/rootless/)
125
- - python version 3.9 or higher -- all fairly recent Linux distributions should satisfy this
126
- but still confirm with `python3 --version`
127
- - install [simple-term-menu](https://pypi.org/project/simple-term-menu/),
128
- [tabulate](https://pypi.org/project/tabulate/) and
129
- [packaging](https://pypi.org/project/packaging/), either from your distribution
130
- repository, if available, else: `pip install --user simple-term-menu packaging tabulate`
131
- (obviously you will need `pip` itself to be installed which should be in your
132
- distribution repositories e.g. ubuntu/debian have it as `python3-pip`)
133
-
134
- In the future, installer will take care of setting all of these up.
135
-
136
- Now you can simply go to the repository and run the `ybox-create` and other utilities from
137
- the `src` directory of the repository checkout. For convenience, you can symlink these to
138
- your `~/.local/bin` directory which should be in PATH in modern Linux distributions:
139
-
140
- ```sh
141
- ln -s <full path of checkout ybox directory>/src/ybox-* ~/.local/bin/
142
- ```
112
+ First install the requirements:
113
+
114
+ - Python version 3.9 or higher. All recent Linux distributions should satisfy
115
+ this but still confirm with `python3 --version`.
116
+ - Rootless podman or docker. Podman is recommended as it works out of the box for most
117
+ distributions and container runs as normal non-root user unlike docker that
118
+ needs to run as root in the container that may break some applications.
119
+ * For podman this needs installation of `podman` and `slirp4netns` (or `passt` with
120
+ podman >= 5) packages. Then setup /etc/subuid and /etc/subgid as noted here:
121
+ [/etc/subuid and /etc/subgid configuration](https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md#etcsubuid-and-etcsubgid-configuration).
122
+ Most distributions will set up subuid/subgid for current user automatically
123
+ and rootless podman works out of the box after installation (tested on Ubuntu,
124
+ Arch and Debian). Check with `podman unshare cat /proc/self/uid_map` which
125
+ should show an output like:
126
+ ```
127
+ 0 1000 1
128
+ 1 100000 65536
129
+ ```
130
+ where `1000` is the current user's ID (output of `id -u`).
131
+ * For docker follow the instructions in the official [docs](https://docs.docker.com/engine/security/rootless/).
132
+
133
+ Finally install the `ybox` package for the current user using `pip` (`pip` is installed
134
+ on most Linux distributions by default, or install from your distribution's
135
+ repository e.g. `python3-pip` for Debian/Ubuntu based distros, `python-pip` on Arch):
136
+
137
+ ```sh
138
+ pip install ybox --user
139
+ ```
140
+
141
+ Note that newer versions of `pip` disallow installing packages directly and instead
142
+ require you to install in a custom virtual environment which can be done manually
143
+ (e.g. bash/zsh: `python3 -m venv ybox-venv && source ybox-env/bin/activate`,
144
+ fish: `python3 -m venv ybox-venv && source ybox-env/bin/activate.fish`)
145
+ or automatically using `pipx`. Alternatively you can add `--break-system-packages`
146
+ flag to the `pip` command above or add it globally for all future packages using
147
+ `python3 -m pip config set global.break-system-packages true`. The alternative
148
+ approach works well for `ybox` which has a very minimal set of dependencies but
149
+ in the rare case you see any issues due to package conflicts, use `pipx` or
150
+ manual virtual environment.
151
+
152
+ Now you can run the `ybox-create` and other utilities that are normally installed
153
+ in your `~/.local/bin` directory which should be in PATH for modern Linux distributions.
154
+ If not, then add it to your PATH in your `.bashrc` (for bash) or the configuration
155
+ file of your login shell.
143
156
 
144
157
  All the `ybox-*` utilities will show detailed help with the `-h`/`--help` option.
145
158
 
@@ -182,7 +195,7 @@ e.g. `~/.local/share/ybox/ybox-arch_apps/home` for the above example.
182
195
 
183
196
  When shared root directory is enabled (which is the default in the shipped profiles), then
184
197
  it uses the common distribution path in `~/.local/share/ybox/SHARED_ROOTS/<distribution>`
185
- by default i.e. `~/.local/share/ybox/SHARED_ROOTS/arch` for the Arch Linux guests.
198
+ by default e.g. `~/.local/share/ybox/SHARED_ROOTS/arch` for the Arch Linux guests.
186
199
 
187
200
  For more advanced usage, you can copy from the available profiles in `src/ybox/conf/profiles`
188
201
  into `~/.config/ybox/profiles`, then edit as required. The `basic.ini` profile lists
@@ -1,4 +1,4 @@
1
- ybox/__init__.py,sha256=8FzWRJgA6Vf9G715kHHM9hIALv9DUhgcadJtma5PKvc,96
1
+ ybox/__init__.py,sha256=kl9lbkmRtTLHzBTo46cujYUSW33NWkFAXy2YJ9KXVzQ,98
2
2
  ybox/cmd.py,sha256=49a1Oo1YgLbXlHqZ1PL1okKGtxlXya1DClM-uh1TuKI,14213
3
3
  ybox/config.py,sha256=bFz6MIVCEbwOjG0m6L5JPngQqta5J9aXU4osKtD2QDE,9632
4
4
  ybox/env.py,sha256=vfHuvTOpApR4fLx1vePWRrTYxzo50c-7dFcnm1-vDHo,8738
@@ -68,9 +68,9 @@ ybox/schema/migrate/0.9.0:0.9.1.sql,sha256=e9JGwrjFZXdWKGv2JQZlKcWz8DmOuUARpToSs
68
68
  ybox/schema/migrate/0.9.1:0.9.2.sql,sha256=X5J3unDS0eLeVvYKxQgx-iUBoAOk9T2suO34pWlQ-lE,362
69
69
  ybox/schema/migrate/0.9.2:0.9.3.sql,sha256=Y7GeBSuEEs7Hs9hh-KYDARgeeMgwQwercvTB5P_-k6I,102
70
70
  ybox/schema/migrate/0.9.5:0.9.6.sql,sha256=wqYhmputlUQzBI5zfP7O5kqIFWAbZQ05kolyHK4714A,70
71
- ybox-0.9.8.dist-info/LICENSE,sha256=7GbFgERMXSwD1VyLA5bo_XHvJipmNEUhDW5Sy51TFeY,1077
72
- ybox-0.9.8.dist-info/METADATA,sha256=voBq82-8y-GKD1wzYEdXPwTniZlcWDyHVAl3vj8isAg,23050
73
- ybox-0.9.8.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
74
- ybox-0.9.8.dist-info/entry_points.txt,sha256=xDlI_84Hl3ytYO_ERyt0rkJ4ioUF8Z1r49Hx1xL28Rk,243
75
- ybox-0.9.8.dist-info/top_level.txt,sha256=DYX7jvndHcBaJXLJ8vDyKrq0_KWoSeXXFq8r0d5L6Nk,5
76
- ybox-0.9.8.dist-info/RECORD,,
71
+ ybox-0.9.8.1.dist-info/LICENSE,sha256=7GbFgERMXSwD1VyLA5bo_XHvJipmNEUhDW5Sy51TFeY,1077
72
+ ybox-0.9.8.1.dist-info/METADATA,sha256=spbTqpj_dPdL2S9_17cmeiPcDuvFTY0mGzq0XMYvRcw,23682
73
+ ybox-0.9.8.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
74
+ ybox-0.9.8.1.dist-info/entry_points.txt,sha256=xDlI_84Hl3ytYO_ERyt0rkJ4ioUF8Z1r49Hx1xL28Rk,243
75
+ ybox-0.9.8.1.dist-info/top_level.txt,sha256=DYX7jvndHcBaJXLJ8vDyKrq0_KWoSeXXFq8r0d5L6Nk,5
76
+ ybox-0.9.8.1.dist-info/RECORD,,
File without changes
File without changes