sat28 / githubcommit Goto Github PK
View Code? Open in Web Editor NEWA jupyter notebook extension enabling users push ipython notebooks to a git repo
License: MIT License
A jupyter notebook extension enabling users push ipython notebooks to a git repo
License: MIT License
Hi, I have a few doubts.
Does this extension work with JupyterHub? If yes, do I need to add any extra setting to jupyterhub_config.py?
Does this extension work with GitHub Enterprise (or only the public GitHub)?
If yes, what additional settings are required in my ~/githubcommit/env.sh to connect my JupyterHub user to GitHub Enterprise?
I have set the settings to env.sh as in your example, but when I click on Commit and Push Notebook, I don't get any output and I don't see the notebook in my GitHub Enterprise repo either.
Is this program working only on Linux?
It seems not possible to run source ~/githubcommit/env.sh
under Windows 10.
I tried git bash
, Windows Linux Subsystem
, Cygwin
... they all can run that line, but all set the env. vars in a linux environment that the later handles.py
can't access.
Hello,
Great extension. After following all steps from readme.txt I get "Internal Server Error" when pressing the GitHub button in my jupyter notebook. Any advise why this could be?
githubcommit/githubcommit/handlers.py
Line 62 in 44f52ce
Hi!
I came across your comment in Lab41/sunny-side-up#78 (comment) and I am pretty excited about the possibility of using your extension. I was really craving for something to push/pull changes straight from the Jupyter Notebooks in JupyterHub to/from Github.
Is your extension the only way to do it?
We will give you feedback on our experience.
Great effort.
Thanks
When executing below command I am getting an error, am I missing anything in this
jupyter nbextension install --py githubcommit
Installing /app/anaconda3/lib/python3.7/site-packages/githubcommit-0.1.0-py3.7.egg/githubcommit/static -> githubcommit
Copying: /app/anaconda3/lib/python3.7/site-packages/githubcommit-0.1.0-py3.7.egg/githubcommit/static -> /usr/local/share/jupyter/nbextensions/githubcommit
Traceback (most recent call last):
File "/app/anaconda3/bin/jupyter-nbextension", line 11, in
load_entry_point('notebook==5.6.0', 'console_scripts', 'jupyter-nbextension')()
File "/app/anaconda3/lib/python3.7/site-packages/jupyter_core/application.py", line 266, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File "/app/anaconda3/lib/python3.7/site-packages/traitlets/config/application.py", line 658, in launch_instance
app.start()
File "/app/anaconda3/lib/python3.7/site-packages/notebook/nbextensions.py", line 988, in start
super(NBExtensionApp, self).start()
File "/app/anaconda3/lib/python3.7/site-packages/jupyter_core/application.py", line 255, in start
self.subapp.start()
File "/app/anaconda3/lib/python3.7/site-packages/notebook/nbextensions.py", line 716, in start
self.install_extensions()
File "/app/anaconda3/lib/python3.7/site-packages/notebook/nbextensions.py", line 695, in install_extensions
**kwargs
File "/app/anaconda3/lib/python3.7/site-packages/notebook/nbextensions.py", line 225, in install_nbextension_python
destination=dest, logger=logger
File "/app/anaconda3/lib/python3.7/site-packages/notebook/nbextensions.py", line 199, in install_nbextension
_maybe_copy(src, full_dest, logger=logger)
File "/app/anaconda3/lib/python3.7/site-packages/notebook/nbextensions.py", line 1046, in _maybe_copy
shutil.copy2(src, dest)
File "/app/anaconda3/lib/python3.7/shutil.py", line 257, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "/app/anaconda3/lib/python3.7/shutil.py", line 120, in copyfile
with open(src, 'rb') as fsrc:
NotADirectoryError: [Errno 20] Not a directory: '/app/anaconda3/lib/python3.7/site-packages/githubcommit-0.1.0-py3.7.egg/githubcommit/static'
Hi,
I do not know if I write in the good location. But I have a question.
The instruction to finish the git version control on a file are not clear to me :/.
Can you help us through this?
Where the file is I did a :
git init
git add file.ipynb
git commit -m 'initial project using fluomean as the signal'
This is what should be done right?
But when I click on the git button to push in jupyter notebook a got insulted with:
Uncaught exception PUT /git/commit (::1) HTTPServerRequest(protocol='http', host='localhost:8888', method='PUT', uri='/git/commit', version='HTTP/1.1', remote_ip='::1', headers={'Accept': 'application/json, text/javascript, */*; q=0.01', 'X-Requested-With': 'XMLHttpRequest', 'Content-Length': '68', 'Accept-Language': 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Host': 'localhost:8888', 'Dnt': '1', 'Accept-Encoding': 'gzip, deflate', 'Referer': 'http://localhost:8888/notebooks/cleanPipeline2018-01-05.ipynb', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:59.0) Gecko/20100101 Firefox/59.0'}) Traceback (most recent call last): File "/usr/local/lib/python3.5/site-packages/tornado/web.py", line 1467, in _execute result = method(*self.path_args, **self.path_kwargs) File "/usr/local/lib/python3.5/site-packages/githubcommit/handlers.py", line 21, in put git_dir = "{}/{}".format(os.path.expandvars(os.environ.get('GIT_PARENT_DIR')), os.path.expandvars(os.environ.get('GIT_REPO_NAME'))) File "/usr/local/Cellar/python3/3.5.2_3/Frameworks/Python.framework/Versions/3.5/lib/python3.5/posixpath.py", line 281, in expandvars if '$' not in path: TypeError: argument of type 'NoneType' is not iterable [E 17:13:35.608 NotebookApp] { "Accept": "application/json, text/javascript, */*; q=0.01", "X-Requested-With": "XMLHttpRequest", "Content-Length": "68", "Accept-Language": "fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3", "Connection": "keep-alive", "Content-Type": "application/json", "Host": "localhost:8888", "Dnt": "1", "Accept-Encoding": "gzip, deflate", "Referer": "http://localhost:8888/notebooks/cleanPipeline2018-01-05.ipynb", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:59.0) Gecko/20100101 Firefox/59.0" } [E 17:13:35.608 NotebookApp] 500 PUT /git/commit (::1) 4.41ms referer=http://localhost:8888/notebooks/cleanPipeline2018-01-05.ipynb
I also strongly advice to install the githubcommit package from inside the jupyter with :
the snippet:
import sys
!{sys.executable} -m pip install requests
!{sys.executable} -m pip install git+https://github.com/sat28/githubcommit.git
Cheers
I followed all of your installation steps on linux and added plugin to my jupyter notebook.
But I am getting this error after committing code into repo.
Warning! Something went wrong.
Forbidden
Hello, I was trying to install the extension and when I entered in the (jupyter nbextension install --py githubcommit) command in the terminal (FYI using a Mac) I got the following error:
"PermissionError: [Errno 13] Permission denied: '/usr/local/share/jupyter'"
I'm still relatively new to Github and Jupyter so I'm a little lost on how to fix this. Any help would be greatly appreciated!
Thanks!
I'm trying to run this and it shows me the following error:
[I 14:19:36.206 NotebookApp] Kernel started: 1d7c0d5a-6058-4428-98c8-8616927168c7
[I 14:19:36.953 NotebookApp] Adapting to protocol v5.1 for kernel 1d7c0d5a-6058-4428-98c8-8616927168c7
[W 14:19:43.245 NotebookApp] 403 PUT /git/commit (::1): '_xsrf' argument missing from POST
[W 14:19:43.247 NotebookApp] 403 PUT /git/commit (::1) 3.15ms referer=http://localhost:8888/notebooks/examples/Pulling%20Data.ipynb
With the message:
Warning! Something went wrong.
Forbidden
Hello,
I strictly follow your steps but at the and I have this error :
Cmd('git') failed due to: exit code(128)
cmdline: git add /Users/matt/SDMA/Users/matt/SDMA/Untitled.py
stderr: 'fatal: pathspec '/Users/matt/SDMA/Users/matt/SDMA/Untitled.py' did not match any files'
Looks like the path is copied twice : '/Users/matt/SDMA/ Users/matt/SDMA/ Untitled.py'
Do you know on which file I can change this ?
Below my env.py file :
###################### GIT PARAMETERS #####################################
export GIT_PARENT_DIR=~
export GIT_REPO_NAME=SDMA
export GIT_BRANCH_NAME=master
export GIT_USER=MJ57
export GIT_EMAIL=ma******@gmail.com
export GITHUB_ACCESS_TOKEN=4f1***********************
export GIT_USER_UPSTREAM=MJ57
And my log :
(base) MacBook-Pro-de-Matthieu:SDMA matt$ jupyter notebook
[I 14:50:01.395 NotebookApp] The port 8888 is already in use, trying another port.
[I 14:50:01.396 NotebookApp] The port 8889 is already in use, trying another port.
[I 14:50:01.757 NotebookApp] JupyterLab extension loaded from /Users/matt/opt/anaconda3/lib/python3.7/site-packages/jupyterlab
[I 14:50:01.757 NotebookApp] JupyterLab application directory is /Users/matt/opt/anaconda3/share/jupyter/lab
[I 14:50:01.759 NotebookApp] Serving notebooks from local directory: /Users/matt/SDMA
[I 14:50:01.759 NotebookApp] The Jupyter Notebook is running at:
[I 14:50:01.759 NotebookApp] http://localhost:8890/?token=eb60459b33ebb3ac5ec6f3f8fdcb950ad23327c4c88f0e19
[I 14:50:01.759 NotebookApp] or http://127.0.0.1:8890/?token=eb60459b33ebb3ac5ec6f3f8fdcb950ad23327c4c88f0e19
[I 14:50:01.759 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 14:50:01.768 NotebookApp]
To access the notebook, open this file in a browser:
file:///Users/matt/Library/Jupyter/runtime/nbserver-19108-open.html
Or copy and paste one of these URLs:
http://localhost:8890/?token=eb60459b33ebb3ac5ec6f3f8fdcb950ad23327c4c88f0e19
or http://127.0.0.1:8890/?token=eb60459b33ebb3ac5ec6f3f8fdcb950ad23327c4c88f0e19
[I 14:50:09.528 NotebookApp] Creating new notebook in
[I 14:50:10.214 NotebookApp] Kernel started: 1efaf963-7c6d-4953-adb5-3d6d3c3d5808
[I 14:50:20.063 NotebookApp] Saving file at /Untitled.ipynb
Switching to master
[NbConvertApp] Converting notebook /Users/matt/SDMA/Untitled.ipynb to script
[NbConvertApp] Writing 79 bytes to /Users/matt/SDMA/Untitled.py
Cmd('git') failed due to: exit code(128)
cmdline: git add /Users/matt/SDMA/Users/matt/SDMA/Untitled.py
stderr: 'fatal: pathspec '/Users/matt/SDMA/Users/matt/SDMA/Untitled.py' did not match any files'
[E 14:50:24.671 NotebookApp] {
"Host": "localhost:8890",
"Accept": "application/json, text/javascript, /; q=0.01",
"X-Requested-With": "XMLHttpRequest",
"Accept-Language": "fr-fr",
"Accept-Encoding": "gzip, deflate",
"Content-Type": "application/json",
"Origin": "http://localhost:8890",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15",
"Connection": "keep-alive",
"Referer": "http://localhost:8890/notebooks/Untitled.ipynb?kernel_name=python3",
"Content-Length": "67",
"Cookie": "username-localhost-8890="2|1:0|10:1575201003|23:username-localhost-8890|44:YTlkNTU2YTAyYTE2NDRkZmE0M2Y1YjM2MGRmMzZkZTg=|664191a5d060a751f7d2bddf15764ab2c710c076c4a81203d30713d323076fc3"; username-localhost-8888="2|1:0|10:1574942879|23:username-localhost-8888|44:YmI2N2ZkYzA0ODI5NDMxNWI2NmU3NTAwZDM0MDg0ODU=|a58e465d6d1f2d90b49843fde7889fcd3e0c2a18ad9d7665e825f8a5654f17c1"; _xsrf=2|84779502|42dbb1e83a660d78b6fed4780c2ae434|1574793038; username-localhost-8889="2|1:0|10:1574206383|23:username-localhost-8889|44:Y2QzZWIzNjNlN2M3NGY4ZmFkNDMzOTIxNTU1NzQwZTM=|232fd2be0d890a5b1792cfb83bc857cce550cd35d4d861dbb4c3ef526942b927""
}
[E 14:50:24.672 NotebookApp] 500 PUT /git/commit (::1) 979.47ms referer=http://localhost:8890/notebooks/Untitled.ipynb?kernel_name=python3
Thank you for your help ;-)
Would you please explain more about the following points:
Hello,
I use this code for Jupyterhub, and I got 405 Error method not allowed.
And I do not know how to fix this issue.
Can you give to me any instruction ?
Thank you,
It would be helpful if this can also work with gitbucket or any open-source git
I was following the installation steps as mentioned in the Readme.
The following command gives the PermissionError
jupyter nbextension install --py githubcommit
The description of the error is as follows:
Installing /home/singla/.local/lib/python3.6/site-packages/githubcommit/static -> githubcommit
Traceback (most recent call last):
File "/home/singla/.local/bin/jupyter-nbextension", line 11, in <module>
sys.exit(main())
File "/home/singla/.local/lib/python3.6/site-packages/jupyter_core/application.py", line 270, in launch_instance
return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
File "/home/singla/.local/lib/python3.6/site-packages/traitlets/config/application.py", line 664, in launch_instance
app.start()
File "/home/singla/.local/lib/python3.6/site-packages/notebook/nbextensions.py", line 983, in start
super(NBExtensionApp, self).start()
File "/home/singla/.local/lib/python3.6/site-packages/jupyter_core/application.py", line 259, in start
self.subapp.start()
File "/home/singla/.local/lib/python3.6/site-packages/notebook/nbextensions.py", line 711, in start
self.install_extensions()
File "/home/singla/.local/lib/python3.6/site-packages/notebook/nbextensions.py", line 690, in install_extensions
**kwargs
File "/home/singla/.local/lib/python3.6/site-packages/notebook/nbextensions.py", line 220, in install_nbextension_python
destination=dest, logger=logger
File "/home/singla/.local/lib/python3.6/site-packages/notebook/nbextensions.py", line 121, in install_nbextension
ensure_dir_exists(nbext)
File "/home/singla/.local/lib/python3.6/site-packages/jupyter_core/utils/__init__.py", line 13, in ensure_dir_exists
os.makedirs(path, mode=mode)
File "/usr/lib/python3.6/os.py", line 210, in makedirs
makedirs(head, mode, exist_ok)
File "/usr/lib/python3.6/os.py", line 220, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/usr/local/share/jupyter'
I have deployed Jupyter notebook to Azure Kubernetes service through a helm chart which have the docker image "jupyter/all-spark-notebook".
I have used commands you have provided and installed the extension to my pod using kubectl exec command.
But I am unable to find the env.py file from the pod and provide the configuration.
Kindly help me to understand how to provide the git configurations to my pod?
Also, have one more question. Can we have the Azure Devops git repository configured instead of Github repository?
Thanks in advance,
Silpa
Hi
would it be possible to give more details about the configuration of this extension?
Once I install it as described there is no env.sh file anywhere?
Where should I edit it?
Hi.
I'm trying to use githubcommit integrating with AWS codecommit.
Would it be possible? If it is so, how do I modify handler.py?
Could you help me plz?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.