#7861 Make IPADiscovery available in PyPI packages
Closed: fixed 4 years ago by cheimes. Opened 4 years ago by johnkeates.

IPADiscovery is not available in PyPI packages because the packages do not include ipaclient.install subpackage. The tool is useful outside of installers. It does not depend on any other install helper, too. Let's move the module to the ipaclient package and provide an alias under its old name.

Original ticket:

pypi packages missing components

https://pypi.org/project/ipaclient/ lacks the install and IPADiscovery components, perhaps > others are missing too. This is most likely a packaging issue and not as much a code defect.


The ipaclient.install subpackage is not packaged in the PyPI packages. The same is true for ipalib.install and ipapython.install. They aren't shipped because the PyPI packages don't support installation of a client. You need to use OS packages if you need installation.

Well, I don't really need a PyPi package to install a client, I just wanted to re-use IPADiscovery. But since that is scoped to ipaclient.install it can't be used unless that is also included.

To generify this issue: it's not that people need to use pypi as a glorified package repository to install and manage FreeIPA itself, it's that a lot of the components are very useful when building FreeIPA integrations. One of the main things that is super handy to have is standardised discovery; if one was to talk to the FreeIPA REST API, it's a very safe option to discover a working server at runtime based on a preset realm or IPA domain stead of pointing to a single server.

Are you only interested in IPADiscovery or are there more features that you miss? There is a simpler solution in case it's only IPADiscovery. We could move ipaclient.install.ipadiscovery to ipaclient.discovery and provide an alias for the old name.

That would be very helpful. I've noticed it depends on a number of other IPA libs, but those seem to be available just fine.

Metadata Update from @cheimes:
- Issue assigned to cheimes

4 years ago

Metadata Update from @cheimes:
- Issue priority set to: normal
- Issue set to the milestone: FreeIPA 4.8

4 years ago

Metadata Update from @cheimes:
- Issue tagged with: easyfix

4 years ago

Metadata Update from @cheimes:
- Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/2871

4 years ago

master:

  • e6d560a Make IPADiscovery available in PyPI packages
  • b5f1d33 Reformat and PEP8 ipaclient.discovery

Metadata Update from @cheimes:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

4 years ago

Login to comment on this ticket.

Metadata