Comments (9)
Hi @jhgoebbert, this plugin is fairly customized to the GitHub API, so it would not be trivial to do. That said, it does look like GitLab provides a reasonably similar API, so it should be possible to port the extension. Porting would involve:
- Constructing different URLs to hit the different GitLab REST endpoints.
- The GitHub API returns its own JSON contents models, which we must convert to the kind of contents model that JupyterLab expects. We would also need to do that for the GitLab contents.
- We would need to swap out the branding images.
- There will likely be the need to change how we respond to error messages, branding information, etc.
At some point, both GitHub and GitLab will move to a GraphQL-based API, and that will likely make porting it easier.
from jupyterlab-github.
Thanks for your detailed answer, Ian.
GraphQL probably would solve some issues.
Just for other readers:
GraphQL is currently planned for GitLab for 2018-Q2
from jupyterlab-github.
I came across this the other day, which appears to be based on this extension. I don't know how functional it is, but it may be worth investigating.
from jupyterlab-github.
For those interested I created a jupyterlab-gitlab extension based on jupyterlab-github 0.10.0.
I looked at the jupyterlab_gitlab extension mentioned above but it's based on a much older version of the github extension and it didn't fit my needs:
- the user can only be changed in the advanced settings
- files without a β.β in the name canβt be opened
- no server extension
That's why I decided to create a new one based on a recent version of jupyterlab-github.
This is to use at work with our own instance of GitLab.
It might be useful to others.
Thanks to the Jupyter team for the initial extension!
from jupyterlab-github.
Awesome, thanks for sharing @beenje!
from jupyterlab-github.
Wondering if there isn't a way to share most (all of the frontend?) code by abstracting out the api calls (different server extension, same JupyterLab extension).
Just musing out loud...
from jupyterlab-github.
Today, the server extension is not mandatory and all the logic is in the lab extension.
The server is just used as a proxy.
But I guess the logic could be moved to the server extension...
from jupyterlab-github.
from jupyterlab-github.
Closing as there is now a jupyterlab-gitlab
extension under the jupyterlab-contrib
GitHub organization: https://github.com/jupyterlab-contrib/jupyterlab-gitlab
from jupyterlab-github.
Related Issues (20)
- ValueError: The extension does not support current version od JupyterLab HOT 1
- Add Copy & Paste for files and directories HOT 4
- Ability to enter notebook URL (Enhancement)
- RuntimeError: npm dependencies failed to install
- Extension shows a subset of repos owned by a user HOT 1
- jupyterlab-sql is outdated
- Cannot see private repositories. HOT 1
- ValueError: The extension "@jupyterlab/github" does not yet support the current version of JupyterLab. HOT 4
- Can the license file be packaged in? HOT 2
- I can't search the repositories HOT 1
- migrate github extension to run with jupyterlab 4 HOT 1
- Rename the default branch to `main` HOT 2
- Add releaser tokens to the repo HOT 9
- Missing icons and styling issues in version 4
- Cannot open `directory` because it is a submodule' HOT 2
- Config option `client_id` not recognized by `GitHubConfig` HOT 5
- JupyterLab failed to build Error: Cannot find module './_baseValues' HOT 1
- Github deprecation notice HOT 5
- RuntimeError: JupyterLab failed to build HOT 5
- [GitHub] Deprecation Notice
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jupyterlab-github.