# \[announce\] Pybi and Posy

**URL:** <https://discuss.python.org/t/announce-pybi-and-posy/23021>\
**Category:** Announcements\
**Created:** [January 22, 2023, 7:26am UTC](https://discuss.python.org/t/announce-pybi-and-posy/23021 "2023-01-22T07:26:01Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![sinoroc](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/sinoroc/32/1607_2.png) [@sinoroc](https://discuss.python.org/u/sinoroc)\
**Post date:** [January 22, 2023, 11:18am UTC](https://discuss.python.org/t/announce-pybi-and-posy/23021/7 "2023-01-22T11:18:54Z")

</div>

This checks many of the boxes of what I have in mind as [exposed here](https://discuss.python.org/t/python-packaging-strategy-discussion-part-1/22420/193), so I am really happy to see this. I hope I manage to give it a try soon-ish, but in the mean time:

> [@njs](#):
>
> **Target audience:** anyone _writing Python code_

Why? I do not understand this position. It seems to me like you have all the pieces to provide a UX such as `posy install 'https://github.com/httpie/httpie'` so that I can use `httpie` without even having to think about things like how to install a Python interpreter and which one, do I need to create a virtual environment, do I need to use git or pip. `httpie` is a bit of a silly example because it is probably available in all package managers and installers (`apt`, `homebrew`, `winget`, etc.) but for something that is more niche and hard to install that could be really helpful.

But we also have the following, so I guess it is not completely out of scope:

> [@njs](#):
>
> The UI could be simple and high-level, because it wouldn’t need users to tell which Python to use or fiddle with venvs or any of that; users could just say `<tool> run myscript.py` and let it worry about the details. You could ship your project to a friend on a different OS and when they ran the tool, it would figure out how to get them the same version of Python + packages that you were using, so you could collaborate.

- Python interpreters in wheels (or wheel-ish artifacts) is fantastic!
  - _(My wish for the future is that we have non-language-specific distribution formats so that we can `npm install python` or `posy install nodejs` or `pip install gcc` or anything like that)_

- “_sharing between different environments_”, if it is what I think it is, then it is awesome as well
- I think I’d prefer if we had 2 tools as exposed in [my post](https://discuss.python.org/t/python-packaging-strategy-discussion-part-1/22420/193) one tool to execute code for the end-user persona; and one tool to write code for the developer/redistributor/packager/etc. personas
- I think I’d prefer if this had more Python code, I see the point of using compiled code for the bootstrapping story, but maybe it could delegate to a Python interpreter (and real venvs?) as soon as possible
- Collaborate with [Brett Cannon’s `python-launcher`](https://github.com/brettcannon/python-launcher)?
- We need a lock file format
- Does this bring us closer to a single file distribution format for Python applications? (not installer)

Anyway, this is exciting!

---

_[View the full topic](https://discuss.python.org/t/announce-pybi-and-posy/23021)._
