[11:58:19] <mgedmin> but it's also a good idea to make sure your MANIFEST.in has a 'recursive-include yourpackage *.html' etc
[11:58:22] <ronny> mgedmin: i tried that before, didnt quite work, then i started to list them manually
[11:58:33] <apollo13> ronny: you can look at https://github.com/django/django/blob/master/MANIFEST.in and https://github.com/django/django/blob/master/setup.py
[11:58:46] <ronny> so i should combine manifest and include_package_data ?
[11:59:13] <mgedmin> MANIFEST.in is optional if and only if you have the setuptools_hg plugin installed
[11:59:16] <dstufft> I've done this previously too https://github.com/pypa/warehouse/blob/master/setup.py#L62-L68
[11:59:30] <mgedmin> and it's easy to forget to have that and get PAIN PAIN PAIN which is why I always recommend having a complete MANIFEST.in
[11:59:52] <mgedmin> and when people complain that maintaining a MANIFEST.in by hand is tedious, I point them to https://pypi.python.org/pypi/check-manifest
[12:14:40] <mgedmin> I would do the opposite: have requirements.txt reuse install_requires with '-e .'
[12:15:40] <mgedmin> but if you wish, 'install_requires=open('requirements.txt').read.splitlines()' ought to work
[12:16:02] <mgedmin> (if you don't mind ResourceWarnings on Python 3.x because you're not closing the file explicitly)
[12:16:10] <doismellburning> except for the things in requirements.txt that aren't allowed in install_requires...
[12:16:42] <mgedmin> a simple matter of programming, surely :)
[12:17:14] <ionelmc> so it looks like when incl_package_data=True the files from the manifest are extended with the patterns from package_data: https://bitbucket.org/pypa/setuptools/src/9db269094f1dd2b79591bdfd95f1e759b647acda/setuptools/command/build_py.py?at=default#cl-91
[12:17:46] <mgedmin> in my worldview the purpose of requirements.txt and install_requires is subtly different: the 1st is for people working on your project (i.e. developers); the second is for people installing your project
[12:17:59] <ronny> btw, whats the current way of coice for having different dependencies on python2 and python3 ?
[12:18:27] <ionelmc> there are platofmr conditionals that you can shove into the extras
[12:22:26] <ionelmc> ronny: if you don't distribute wheels or eggs then your setup.py is always gonna be called, so you can just do the checks there (if sys.version blabla)
[12:55:24] <ronny> btw, is there any common practice for turning git versions of other projects into pip dependencies that are normally installable from a index?
[12:55:32] <doismellburning> mgedmin: "indicate in setup"?
[12:55:45] <mgedmin> (in install_requires) that I need project B version >= something
[12:56:13] <mgedmin> and then in project A's requirements.txt I'd do something to explain where to find that version of project B
[12:56:25] <mgedmin> maybe with a github link that points to a branch/commit
[12:56:45] <mgedmin> maybe with -f https://intranet.example.com/dependencies/
[13:04:30] <doismellburning> (context: https://gist.github.com/doismellburning/549c6958ee48664da789 is a rough draft of guidance I'm thinking of issuing)
[13:04:31] <ronny> dstufft: is there anything to have custom own version of 3rd party packages that dooesnt mess up (made the misstake of uploading the "next" version of something to the internal devpi - it wasnt pretty
[13:04:56] <dstufft> you can use local versions to indicate you've customized it
[13:05:16] <dstufft> if you've customized version 1.0, upload a package 1.0+ronny.1
[13:09:34] <ronny> oh, how exactly do those work, and where is it documented?
[13:11:05] <ronny> dstufft: im just skimming the pep, is there mroe docs on using local versions
[13:11:59] <dstufft> there's not more documentation sadly, basically 1.0+ronny.1 is both ==1.0 and > 1.0 and PyPI won't allow the original author to upload local versions to PyPI
[13:12:25] <dstufft> so it's 1.0 + some some stuff that is identified by this string
[13:12:37] <dstufft> and you're promised that the original author won't release the same version on PyPI