github
38 posts — page 2
-
Authenticate FastAPI endpoints with a GitHub organization
FastAPI is a framework that simplifies building APIs in Python. Authentication via Google, Github and many more is provided by FastAPI-SSO.
-
2-way synchronization of Overleaf and GitHub via a GitHub Action
Updated: 2025-02-20 In the past I wrote tutorials on how to handle Github and Overleaf, the latest for example is this. However the Github button in Overleaf is fragile, it often gets disconnected for unknown reasons, and it cannot be reconnected, it forces deletion of the Github repository. Moreover, it seems it is now a Premium feature. Finally, it needs to be triggered manually, and nobody remembers to do that.
-
Deploy GitHub Authenticator in JupyterHub
Updated June 2024: added more options to config file Quick reference on how to deploy the Github Authenticator in JupyterHub, the main reference is the Zero to JupyterHub docs.
-
Work on a LaTeX document in GitHub Codespaces
I was exploring using Github Codespaces instead of Overleaf to work on a Latex document. The most important missing component is the Latex editor, and the other downside is that it is free only for 90 hours per month (with a Pro academic account). However, the other useful features of Overleaf are present:
-
Work on a LaTeX document with GitHub and Overleaf
In the past I have written about coordinating a large document using multiple overleaf documents and Github repositories.
-
Build and host Singularity containers on GitHub
I present a demo repository configured to build Singularity containers using Github actions and then host them using the Github container registry:
-
Access running GitHub Action with SSH
Sometimes Github actions are failing and it is difficult to reproduce the error locally, in particular if you have a different OS.
-
Monitor traffic on Github repositories
Github only shows traffic data for the last 2 weeks. Through the API is possible to gather those data every 2 weeks and save them for later collection and reduction.
-
Upload a JOSS paper to arXiv
If you are in Astrophysics, you probably want to have your JOSS paper published to the Arxiv. Unfortunately some authors don't get it accepted due to the paper being too short for the Arxiv standard.
-
Migrate from Google Docs to Overleaf and GitHub
Once a document on Google Docs becomes too big and complicated to make sure it is consistent, it is a good idea to migrate it to Latex. In particular we can support both Google Docs style editing via Overleaf and Pull Request reviewing via Github.
-
Coordinate a large Latex document with multiple Overleaf projects and Github
In case we need to build a large document (hundreds of pages) and we have a large number of collaborators (more than 50), it is convenient to have each section of the document be a different Overleaf project. Also, we don't want to rely on Overleaf only, we prefer backup of everything to Github.
-
How to share Jupyter Notebooks
I tend to preserve and post online all the work I do for later reference and sharing. Jupyter Notebooks are a bit more complex than standard source code because they are natively in a format (JSON) that needs to be rendered to be readable.
-
Migrate from Travis-CI and ReadTheDocs to GitHub Actions
For a number of years I have been concerned about the duplication of work having to maintain continuous integration environments both on Travis-CI to run the unit tests and on Readthedocs to build and host the documentation.
-
Create a Github account for your research group with free private repositories
Github allows a research group to create their own webpage where they can host, share and develop their software using the git version control system and the powerful Github online issue-tracking interface.
-
Create DockerHub auto build
It is very convenient to create Autobuild repositories on DockerHub linked to a Github repository with a Dockerfile. Then every time you commit to Github, Dockerhub is going to build the image on their service and make it available on and can quickly be pulled to any other system that supports Docker or Singularity.