readthedocs / sphinx-autoapi

A new approach to API documentation in Sphinx.
https://sphinx-autoapi.readthedocs.io/
MIT License
415 stars 126 forks source link

3.0.0: file list conflict between `sphinx-autoapi` and `autoapi` #418

Closed kloczek closed 4 months ago

kloczek commented 4 months ago

I have packaged as rpm packages both modules and looks like both modules are providing the same file. Here is rpm install output error message

Running transaction test
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Transaction test error:
  file /usr/lib/python3.8/site-packages/autoapi/__init__.py from install of python-sphinx-autoapi-3.0.0-2.g2v.noarch conflicts with file from package python-autoapi-2.0.1-2.g2v.noarch
  file /usr/lib/python3.8/site-packages/autoapi/__pycache__/__init__.cpython-38.opt-1.pyc from install of python-sphinx-autoapi-3.0.0-2.g2v.noarch conflicts with file from package python-autoapi-2.0.1-2.g2v.noarch
  file /usr/lib/python3.8/site-packages/autoapi/__pycache__/__init__.cpython-38.pyc from install of python-sphinx-autoapi-3.0.0-2.g2v.noarch conflicts with file from package python-autoapi-2.0.1-2.g2v.noarch

Content of those files is different

autoapi ```python # -*- coding: utf-8 -*- # # Copyright (C) 2015-2020 KuraLabs S.R.L # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. from .apinode import __doc__, APINode # noqa __author__ = 'KuraLabs S.R.L' __email__ = 'info@kuralabs.io' __version__ = '2.0.1' __all__ = ['APINode'] ```
sphinx-autoapi ```python """Sphinx AutoAPI""" from .extension import setup __all__ = ("setup",) __version__ = "3.0.0" __version_info__ = (3, 0, 0) ```
AWhetter commented 4 months ago

The only fix for this is to rename the package, which would present a breaking change. Given that autoapi seems to have not been updated in some years, that seems like a drastic action to take. If you think that there's an alternative solution then let me know.

kloczek commented 4 months ago

I've not been suggesting that some modification should be added in your module. Some solution needs to be found because set of other modules which uses both is now not empty 🤔