Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mcanouil/quarto-codespaces
Quarto Codespaces setup for quick online testing.
https://github.com/mcanouil/quarto-codespaces
codespaces devcontainer quarto quartopub
Last synced: 2 days ago
JSON representation
Quarto Codespaces setup for quick online testing.
- Host: GitHub
- URL: https://github.com/mcanouil/quarto-codespaces
- Owner: mcanouil
- License: mit
- Created: 2023-10-06T20:23:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-10T20:29:45.000Z (15 days ago)
- Last Synced: 2025-01-10T20:36:20.195Z (15 days ago)
- Topics: codespaces, devcontainer, quarto, quartopub
- Homepage:
- Size: 50.8 KB
- Stars: 6
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - mcanouil/quarto-codespaces - Quarto Codespaces setup for quick online testing. (Others)
README
# Quarto Codespaces
[![Build](https://github.com/mcanouil/quarto-codespaces/actions/workflows/devcontainer.yml/badge.svg)](https://github.com/mcanouil/quarto-codespaces/actions/workflows/devcontainer.yml)
Setup to deploy Codespaces or Devcontainers with Quarto.
## Overview
This repository provides a setup to deploy Codespaces or Devcontainers with Quarto, supporting R, Python, and Julia environments.
It includes configuration files and scripts to initialise and manage these environments.## Using as a Template
You can use this repository as a template for your own projects.
To do so, click the "Use this template" button on the GitHub repository page.
This will create a new repository with the same files and structure.## Using with Codespaces
This repository is configured to work with GitHub Codespaces.
To use it, follow these steps:1. Open the repository on GitHub.
2. Click the "Code" button and select "Open with Codespaces".
3. If you don't have a Codespace already, create a new one.
4. The Codespace will be set up automatically using the configuration provided in this repository.## Devcontainer Configuration
The Dev Container configuration is located in [`.github/.devcontainer/devcontainer.json`](.github/.devcontainer/devcontainer.json).
This file defines the development container settings, including the base image, user settings, and features to be installed.### Key Features
- **Base Image**: The container uses the `buildpack-deps:jammy-curl` image as the base.
- **Remote User**: The default user is set to `vscode`.
- **Installed Features**:
- Common utilities with Zsh shell.
- Latest Git version.
- R environment with `renv` support and `rmarkdown`.
- Latest Python version with shared libraries and `jupyter`.
- Julia environment with the latest release channel and `IJulia`.
- Quarto CLI with TinyTeX installed.### Docker Image
The Dev Container configuration is used to build a Docker image that is available for use.
You can pull the latest image using the following command:```sh
docker pull ghcr.io/mcanouil/quarto-codespaces:latest
```## Initialisation Script
The initialisation script [init.sh](init.sh) is used to set up the R, Python, and Julia environments.
It supports initialising all environments or specific ones based on the provided options.### Usage
```sh
./init.sh [--what/-w all|r|python|julia] [--force/-f] [--help/-h]
```### Script Details
- **Options**:
- `--what/-w`: Specify which environment(s) to initialise (`all`, `r`, `python`, `julia`).
- `--force/-f`: Force reinstallation of the specified environment(s).
- `--help/-h`: Display help message and exit.
- **Functionality**: The script installs necessary dependencies for R, Python, and Julia, inside environments.
- For R, it sets up `renv` and installs required packages.
- For Python, it sets up a virtual environment and installs required libraries.
- For Julia, it sets up an environment and installs required packages.## Contributing
Contributions are welcome!
Please open an issue or submit a pull request for any improvements or bug fixes.## License
This project is licensed under the MIT License.
See the [LICENSE](LICENSE) file for details.