Can I have readthedocs do a build of a feature branch of my github-hosted repository in order to see how changes I'm making will appear on readthedocs.org after they're merged into master?
ericholscher
yea, it should show up in the versions tab
if not, you need to do a build, as we only update the versions on build
exarkun
Does the branch have to be in the ... "main" ... repository or can I get readthedocs to see branches in my fork as well?
ericholscher
main repo
exarkun
Okay. Thanks.
I turned on the readthedocs hook in the github settings ui for my fork and I thought that would make my branch in my fork show up on readthedocs.org.
kushal has quit
Okay... Having pushed to the main repo, readthedocs.org is now trying (but failing) to build my docs. :)
I have a setup.py with install_requires including 8 things. And it seems like only one of them gets installed.
ericholscher
you have an import at the top of your setup.py it appears
that fails..
exarkun
There's that, too - except I deleted that import. And notice that the last two lines of that traceback are nonsense. `import versioneer` -> "No module named epsilon"?
epsilon is one of the modules that setup.py declares a dependency on and that doesn't get installed by "setup.py install" when readthedocs.org runs it.
Right. The first line is "import versioneer".
And the exception is `ImportError: No module named epsilon“
Okay, yes, it's my code, I screwed it up, but I don't understand how.
Alright nevermind, I can reproduce the problem locally. I'll figure it out.
CraigyDavi_ joined the channel
CraigyDavi has quit
is there any way to get readthedocs.org to use pip to install the package instead?
CraigyDavi_ has quit
ericholscher
not really
the code has an option for it -- but it's global
we could switch everything to using pip, but that scares me
(has a large chance of breaking random things that have been working before)
exarkun
Sure, I understand.
wlach joined the channel
wlach has quit
wlach joined the channel
wlach has quit
wlach joined the channel
Packages listed earlier in a requirements.txt file don't seem to be available to be used installing packages listed later in that requirements.txt file?
dstufft
no I don't think so
exarkun
:(
dstufft
what's the problem
exarkun
Imaginary depends on a bunch of projects that use Epsilon in their setup.py
I can't find a way to convince readthedocs to be able to deal with this.
dstufft
oh
uh
jodal
upload wheels to pypi for all the packages that use epsilon in their setup.py, so they don't need to run any code to be installed</devils-advocate>
Because installing the entire project and all its dependencies is the only way to make it possible to do "from imaginary import __version__" in conf.py, as far as I can tell.
dstufft
move __version__ to __about__.py and exec it
exarkun
Sure, that's a style of solution.
That's what I'm working on now, in fact.
Well, sort of. exec is crappy.
imaginary uses your most favorite project ever, python-versioneer
it's not clear that I can have an `__about__.py` that is exec-able without going through the whole install process
dstufft
I don't think there's another solution there besides maybe overriding your setup.py's install command
at least nothing else is coming to mind
well besides the obvious of fix those other projects, but I assume that's not an available option if you haven't done that already
jodal
exarkun: I usually read the __init__.py with open() and use regexps to find the __version__ line
exarkun
jodal: I've seen that pattern.
I'm not interested in writing regexps to match random snippets of Python code.