Добавить entry_points в setuptools в устанавливаемом пакете

У меня есть пакет Python fsspec . Эта библиотека предоставляет способ регистрации внешней файловой системы ( внутренняя интеграция ). Один из способов зарегистрировать требуемую файловую систему - добавить ее в entry_points в setuptools.

Чтобы выполнить задачу, мы можем вручную добавить entry_points в setup.py, а затем установить пакет. Но то, что я ищу, - это способ программно сделать вход до / после установки пакета fsspec.

1 ответ

Я не верю, что есть простой способ обновить метаданные, которые обычно записываются в вашу систему во время установки пакета. Копаясь в коде setuptoolsили могу сказать вам, как. Возможно, что Distributionобъект, предоставляемый метаданными, можно редактировать в памяти. Суть подхода в том, что fsspec не нужно ничего импортировать (кроме importlib.metadata сам), чтобы узнать, какие дополнительные реализации доступны.

Однако вы можете уйти достаточно далеко, используя fsspec.register_implementation, что выполняется динамически во время выполнения. Единственным недостатком является то, что ваш пакет необходимо будет импортировать и вызвать функцию, прежде чем вы попытаетесь получить доступ к протоколу, который он предоставляет.

Другие вопросы по тегам