althonos / althonos/fs.sshfs

Inconsistent namespace packaging approach

Aperta
#44 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
94
Fork
32
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

**Observation**
This package uses the [native namespace](https://packaging.python.org/guides/packaging-namespace-packages/#native-namespace-packages) packaging approach (no init file in [fs](https://github.com/althonos/fs.sshfs/tree/master/fs) folder). Also, this package depends on [pyfilesystem2](https://github.com/PyFilesystem/pyfilesystem2) and shares this namespace folder 'fs' with pyfilesystem2.

However, pyfilesystem2 uses the [pkg_resources-style](https://packaging.python.org/guides/packaging-namespace-packages/#pkg-resources-style-namespace-packages) namespace approach to declare its namespace folder 'fs' (see [fs/__init__.py](https://github.com/PyFilesystem/pyfilesystem2/blob/master/fs/__init__.py#L4)).

As a result, this package is inconsistent with the recommendation in [pkg_resources-style](https://packaging.python.org/guides/packaging-namespace-packages/#pkg-resources-style-namespace-packages) namespace approach -

> If you are creating a new distribution within an existing namespace package that uses this method then it’s recommended to continue using this as the different methods are not cross-compatible and it’s not advisable to try to migrate an existing package.

**Problem**
In use cases where these two packages are downloaded in seperate directories and both of them are added to the python systempath, the package import does not work due to the aforementioned inconsistency. This is exactly the problem if one uses bazel to manage these [external dependencies](https://docs.bazel.build/versions/master/external.html) in a project.

**Suggestion**
Please use the consistent namespace packaging convention as suggested in the link above.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.