These are chat archives for ipython/ipython

29th
May 2015
Jonathan Frederic
@jdfreder
May 29 2015 21:09
Continuing the conversation here, http://mixu.net/gr/ looks neat.
Anyone tried it?
Reposting my original question:
What's the niftiest way to work across all the repos at once? Right now I'm using aliases to execute batch commands, but it would be nice to have something that could execute git commands on all the repos at once. For example, update all the repos to upstream master, and create a new branch an all called "my-repo-spanning-pr".
It would be even cooler if I could commit across repos in one step.
i.e. multigit commit -m "Fixed that ugly bug"
Min RK
@minrk
May 29 2015 21:09
That looks like a good tool
Jonathan Frederic
@jdfreder
May 29 2015 21:09
This message was deleted
Min RK
@minrk
May 29 2015 21:10
I was going to say that you are never going to operate on all repos. Even the most spanning PRs are going to be 2-3 repos, most likely.
Jonathan Frederic
@jdfreder
May 29 2015 21:10
True
Min RK
@minrk
May 29 2015 21:10
So making sure you can easily specify "these two repos" is important for such a tool.
Jonathan Frederic
@jdfreder
May 29 2015 21:11
It looks like gr lets you define groups
Min RK
@minrk
May 29 2015 21:11
It looks like gr does exactly that
In theory, these multi-repo PRs won't come up too much after we get 4.0 out
Since we won't allow cross-repo breaking changes.
Sylvain Corlay
@SylvainCorlay
May 29 2015 21:14
This might create complex dependencies btween PRs right?
Min RK
@minrk
May 29 2015 21:14
Exactly, that's why we can't have that.
Sylvain Corlay
@SylvainCorlay
May 29 2015 21:15
do you fear that it might slow down development?
Min RK
@minrk
May 29 2015 21:16
@SylvainCorlay I'm not sure what you mean.
Sylvain Corlay
@SylvainCorlay
May 29 2015 21:16
Well, for example a new feature in notebook requires a change in traitlets...
two PRs
Min RK
@minrk
May 29 2015 21:17
Those changes should be rare.
Sylvain Corlay
@SylvainCorlay
May 29 2015 21:17
ok
Min RK
@minrk
May 29 2015 21:17
The notebook server hasn't needed changes in traitlets for a year or two.
Sylvain Corlay
@SylvainCorlay
May 29 2015 21:17
That's right.
Min RK
@minrk
May 29 2015 21:17
Widgets are a different story, and likely to need tracking recent versions of notebook, and possibly traitlets.
But I expect traitlets changes to be few and far between, and breaking changes in traitlets are probably going to be forbidden for a long time.
Sylvain Corlay
@SylvainCorlay
May 29 2015 21:18
I opened a PR in traitlets, to simplify its extension in widgets
btw
Min RK
@minrk
May 29 2015 21:18
i.e. I wouldn't expect traitlets 5.0 for a year or two.
It's fine to add things in 4.1, etc.
Jonathan Frederic
@jdfreder
May 29 2015 21:20
WRT to gr, setup was easy. After npm install -g git-run I ran gr tag discover which gave me a list of repos in nano which I was able to tag quickly:
~/hub @hub @all
~/ipython/ipykernel @ipy @ipykernel @all
~/ipython/ipython @ipy @ipython @all
~/ipython/ipywidgets @ipy @ipywidgets @widgets @all
~/ipython/traitlets @ipy @traitlets @all
~/jupyter/jupyter_client @jpy @jupyter_client @all
~/jupyter/jupyter_console @jpy @jupyter_console @all
~/jupyter/jupyter_core @jpy @jupyter_core @all
~/jupyter/nbconvert @jpy @nbconvert @all
~/jupyter/nbformat @jpy @nbformat @all
~/jupyter/notebook @jpy @notebook @widgets @all
~/jupyter/qtconsole @jpy @qtconsole @all
Min RK
@minrk
May 29 2015 21:21
@jdfreder nice
Jonathan Frederic
@jdfreder
May 29 2015 21:21
I'm curious to see if this works with hub
or if it calls git directly
cool ->
on@jon-VirtualBox ~/jupyter/notebook $ gr status
~/hub                      Clean                     @all @hub
~/ipython/ipykernel        Clean                     @all @ipy @ipykernel
~/ipython/ipython          Clean                     @all @ipy @ipython
~/ipython/ipywidgets       2 modified                @all @ipy @ipywidgets @widgets
~/ipython/traitlets        Clean                     @all @ipy @traitlets
~/jupyter/jupyter_client   Clean        [ahead 19]   @all @jpy @jupyter_client
~/jupyter/jupyter_console  Clean        [ahead 2]    @all @jpy @jupyter_console
~/jupyter/jupyter_core     Clean                     @all @jpy @jupyter_core
~/jupyter/nbconvert        Clean        [ahead 1809, behind 3981]@all @jpy @nbconvert
~/jupyter/nbformat         Clean        [ahead 4]    @all @jpy @nbformat
~/jupyter/notebook         2 modified                @all @widgets @jpy @notebook
~/jupyter/qtconsole        Clean        [ahead 8]    @all @jpy @qtconsole
Matthias Bussonnier
@Carreau
May 29 2015 21:37
Added a banner to jupyter room to tell people to discuss here :-)
Jonathan Frederic
@jdfreder
May 29 2015 21:40
So gr ignores aliases, do you guys know of a tool that exports aliases to little bash scripts?
Jonathan Frederic
@jdfreder
May 29 2015 21:49
jupyter profile locate -> jupyter: 'profile' is not a Jupyter command huh?
Min RK
@minrk
May 29 2015 21:49
Jupyter doesn't have profiles
Jonathan Frederic
@jdfreder
May 29 2015 21:49
jupyter notebook profile locate ?
Min RK
@minrk
May 29 2015 21:49
Also nope. Notebook doesn't have profiles, either.
Profiles are an IPython thing.
Jonathan Frederic
@jdfreder
May 29 2015 21:50
interesting
didn't know that
I thought they were a traitlet thing
Min RK
@minrk
May 29 2015 21:50
We talked about it a lot at the dev meeting.
No, 100% IPython.
Jonathan Frederic
@jdfreder
May 29 2015 21:51
At one a while ago? I don't remember talking about it recently
Min RK
@minrk
May 29 2015 21:51
The big in-person meeting in Berkeley talking about the big split.
Jonathan Frederic
@jdfreder
May 29 2015 21:51
jupyter_notebook_config.py seems like something that would reside in a profile.
Min RK
@minrk
May 29 2015 21:52
Talking about what aspects of IPython config would be inherited by Jupyter, and Profiles are not inherited.
It would, if Jupyter had profiles
Jupyter has a single config directory.
If you want to use different config, specify a different config directory with JUPYTER_CONFIG_DIR=whatever
Jonathan Frederic
@jdfreder
May 29 2015 21:52
ah
Min RK
@minrk
May 29 2015 21:53
The .ipython directory has several things in it:
Jonathan Frederic
@jdfreder
May 29 2015 21:53
thanks
Min RK
@minrk
May 29 2015 21:53
  • multiple config directories (called profiles)
  • one 'data' directory, containing things like kernelspecs, nbextensions
  • runtime info scattered throughout, but mostly in profiles
Jupyter follows more platform-appropriate conventions:
  • one config dir at JUPYTER_CONFIG_DIR, default: .jupyter
  • one data dir at JUPYTER_DATA_DIR, default: platform-specific
  • one runtime dir at JUPYTER_RUNTIME_DIR, default: platform-specific
Jonathan Frederic
@jdfreder
May 29 2015 21:55
ah
I vaguely remember talking about this now
Min RK
@minrk
May 29 2015 21:55
so setting a profile in IPython is equivalent to setting a config directory in Jupyter
and data_dir can be set independently of config_dir, which can't be done in IPython, since IPYTHONDIR dictates what profiles are available.