gitpod-rust-project

Exploring Rust with a template project

https://github.com/mfouesneau/gitpod-rust-project

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Exploring Rust with a template project

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

Exploring Rust with a template project

VSCode Rust project template for use with cargo

  • prelinimary project structure
    • src/*.rs, source code of the project
    • Cargo.toml, project definition and configuration
  • Usual files
    • LICENSE, licensing and copyright notice
    • CODE_OF_CONDUCT, code of conduct expected by the project
    • CITATION.cff, copyright notice
    • CONTRIBUTING.md, contributing notice
  • Git repository
    • .gitignore, set to ignore build directory (target) and lock files
    • .github/workflows, set to contains minimal CI workflow (check, unit tests, rustfmt, clippy)
    • .github/ISSUE_TEMPLATE, set to contain minimal bug report template
  • vscode et al.
    • .vscode/settings.json, set to contain minimal rust settings
    • .vscode/tasks.json, set to contain minimal test task
    • .vscode/launch.json, set to contain minimal test launch task

Containers

Devcontainer / GitHub Codespace

Open in GitHub Codespaces

A devcontainer (short for Development Container) allows you to use a container as a full-featured development environment. It provides a consistent and reproducible environment for developing code, regardless of the underlying operating system or development machine.

Devcontainers are typically defined using a .devcontainer/devcontainer.json file, which contains metadata and settings required to configure the development container. This file defines the tooling and runtime stack needed for your project, such as the programming language, dependencies, and extensions.

This repository is setup to run the minimal Rust image with some vscode extensions for rust code developments.

Gitpod

Open in Gitpod

Gitpod is a friendly online IDE very similar to VSCode (Gitpod.io In particular, it provides an entire container-based platform (not saying Docker) and provides varied CDE features such as pair-coding while still compiling and running codes. It's also very convenient to write/edit and run some codes rapidly. You can pick your working environement (VSCode, JetBrain, Terminal, etc.)

Sadly the support for devcontainers is under development and we need to define gitpod.yml configuration instead.

This repository sets a similar basic workspace to the devcontainer to start a rust project and work with Gitpod.

Notebook (optional)

The EvCxR Jupyter Kernel (pronounced "Evic-ser") allows us to execute Rust code in a Jupyter Notebook.

You can install it by running the following command in a terminal:

bash cargo install evcxr_jupyter && evcxr_jupyter --install

ℹ️ you need jupyter installed on your system even if you use vscode. In the latter, you also need the ms-toolsai.jupyter extension to use jupyter kernels.

By default the containers do not install jupyter or the kernel to remain rapidly usable. For the containers, you can install it by running the following command in a terminal:

bash sudo apt update && sudo apt install -y jupyter cargo install evcxr_jupyter && evcxr_jupyter --install

An example of notebook is provided in the notebooks folder.

Owner

  • Name: Morgan Fouesneau
  • Login: mfouesneau
  • Kind: user

@mfouesneau@mastodon.online

Citation (CITATION.cff)

# For citing software, see:

# http://journals.aas.org/authors/references.html

# GitHub has Zenodo DOI integration:
# https://guides.github.com/activities/citable-code/

# What is a CITATION.cff file:
# https://citation-file-format.github.io/

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: online-dot
message: If you use this software, please cite it using the metadata from this file.
date-released: 2022-08-17
url: 'https://github.com/mfouesneau/gitpod-python-template'
version: 0.1
type: software
authors:
  - family-names: Fouesneau
    given-names: Morgan
    orcid: 'https://orcid.org/0000-0001-9256-5516'

GitHub Events

Total
Last Year

Dependencies

.github/workflows/rust-ci.yml actions
  • actions-rs/cargo v1 composite
  • actions-rs/toolchain v1 composite
  • actions/checkout v2 composite
  • actions/checkout v3 composite
  • dtolnay/rust-toolchain stable composite
  • mbrobbel/rustfmt-check master composite
.github/workflows/rust-doc.yml actions
  • actions-rs/cargo v1 composite
  • actions-rs/toolchain v1 composite
  • actions/checkout v1 composite
  • peaceiris/actions-gh-pages v3 composite
Cargo.toml cargo