Still, it's not impossible -- It only requires that you add the plugins in a path and configure it or have an ansible.cfg.
No, it’s not impossible, but it requires multiple steps as opposed to “pip install ansible”.
Anyway, Ansible is an application, not a library. Inventory plugins are also not Python modules, they are programs. There are also configuration files for them.
Pip is used to install both Python applications and libraries (if not, why is there an Ansible pip package in the first place?). Sphinx comes with bin entries as well. Everything that a particular application needs to run is installed, Python or not: eg. Python code that uses C modules. The first random pip package I just looked at had bash scripts as well.
There’s even PythonPerl in PyPi.
I'm not sure where someone would expect them to be installed in that case, and pip is a way of installing Python programs, which should not be the interface most people have to interact with in order to install ansible. (They absolutely should not have to understand virtualenv either)
As a user, my expectation would be that the plugins would be installed in a place similar to the modules, such as share/ansible.
I'd still take the view that most of these are examples and in many cases users may wish to adapt them more to their environments.
Interesting… to me they seem like a part of the application. I was quite confused that I couldn’t use ec2.py out of the box after doing a pip install of Ansible, and it didn’t seem quite “batteries included” as a result.
I'm not familiar with language-agnostic non-python content typically being installed in pip in this way, and in non-virtualenv state, I'd want these artifacts going in the same place the package manager would place them.
See above. I don’t think it’s all that odd. YMMV, but I’m speaking as someone who wants to use Ansible as an application in a virtualenv.
So that's the question to be resolved.
-scott