twaddington / django-gravatar

Essential Gravatar support for Django. Features helper methods, templatetags and a full test suite!
MIT License
149 stars 33 forks source link

installing example_project top-level leads to file conflicts #35

Closed dvzrv closed 4 years ago

dvzrv commented 4 years ago

By providing the example_project as a top-level module, it conflicts with other projects (e.g. hyperkitty).

If it should be installed, it needs to go below the django-gravatar namespace and can not live top-level in site-packages.

twaddington commented 4 years ago

Hrm, @dvzrv thanks for reporting this.

I'm tempted to just revert the change we made in #32 and remove the example_project.

We *could* rename "example_project" to "django_gravatar_tests", which is really what it is, and package that.

What sort of problems occur for you if the tests are not packaged in the sdist?

twaddington commented 4 years ago

I have to admit I don't really understand why it's necessary to package the tests in sdist. For me they're only relevant when doing development?

dvzrv commented 4 years ago

Renaming would be fine I guess. example_project just seems to generic to not conflict (already spotted at least three different projects using this).

The tests are very useful to be able to ensure the integration with the system environment. The source tarball is used to build a system package, which is accessible and usable by all users of a given system. Because of the dependencies towards other components and packages it is essential to be able to test that things work.

AFAICS it should be enough to add the example_project to MANIFEST.in (as that defines what goes into an sdist tarball). If referenced as a module in setup.py's setup() it will be installed as a module, when using python setup.py install or pip install and therefore also end up in a wheel package

Sorry, if this becomes a little annoying. I really appreciate the work you're putting into this!

twaddington commented 4 years ago

The tests are very useful to be able to ensure the integration with the system environment. The source tarball is used to build a system package, which is accessible and usable by all users of a given system. Because of the dependencies towards other components and packages it is essential to be able to test that things work. — @dvzrv

Thanks. Appreciate the explanation.

Sorry, if this becomes a little annoying. — @dvzrv

It's only annoying because I'm not sure what the correct thing to do is. Thanks for your help!