Science Score: 52.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
    Organization fair2-for-research-software has institutional domain (rse.shef.ac.uk)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

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

README.md

Reproducible Computational Environments - Virtual Environments

About

Ensuring that others are able to take your code, run it, and are able to produce the same (or equivalent) results is one of the key tenets of FAIR and reproducible research software. However, this can be at odds with changes over time to code that you are using but is not your own (i.e. packages/libraries). What can you do to ensure your code and results are reproducible when you re-run it in 1, 2, or 5 years?

This course will provide you with an overview of different ways to answer this question, and then focus on virtual environments as one possible solution. Specifically: What virtual environments are, how they work, and how you can use them to isolate and record the dependencies for your projects to ensure reproducibility.

Target audience

This course is aimed at people who know the basics of Python programming and who write code or software for research, from writing a couple of scripts to automate data collection to writing entire data analysis software. The course is particularly relevant to people who would like to follow best practices and increase the reproducibility of their research code.

This course is intended for researchers who use the Python programming language, but the basic concepts can be applied to other programming languages.

Outline

  • What is computational reproducibility?
    • Code/software is rarely static
    • Levels of computational reproducibility:
    • Package/library level - Virtual environments
    • OS level - Virtualisation/Containers
  • What are Virtual environments and why should I use them?
    • What are Virtual environments?
    • Why use Virtual environments?
    • Why use venv?
  • How do I use a Virtual environment:
    • Creating a virtual environment
    • Activating/Deactivating a virtual environment
    • Installing packages in a virtual environment
    • Specific versions
    • Listing installed packages
    • Recording installed packages & pinning
    • Upgrading installed packages
  • Limitations:
    • Managing different versions of Python
    • Installing more complex packages
    • Keeping track of added/removed packages
    • Alternatives to venv
  • Next steps:
    • Packaging
    • Containers

Prerequisites

Some experience with developing research software or scripts, for example in Python or R.

Learning outcomes

After completing this course, participants should be able to:

  • Understand what computational reproducibility is, and why it is an issue for research
  • Describe the different levels of computational reproducibility
  • Understand the high-level nature and purpose of a virtual environment
  • Use venv along with pip to create and manage virtual environments
  • Understand the limitations of venv, and options to address them

Owner

  • Name: UoS FAIR2 for research software
  • Login: FAIR2-for-research-software
  • Kind: organization
  • Email: rse@sheffield.ac.uk

Training in FAIR (Findable, Accessible, Interoperable, Reusable) and Reproducible research software skills at the University of Sheffield

Citation (CITATION.cff)

# This template CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to replace its contents
# with information about your lesson.
# Remember to update this file periodically, 
# ensuring that the author list and other fields remain accurate.

cff-version: 1.2.0
title: 'Reproducible Computational Environments - Virtual Environments'
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: 'Daniel'
    family-names: 'Brady'
    email: 'daniel.brady@sheffield.ac.uk'
    affiliation: University of Sheffield
    orcid: 'https://orcid.org/0000-0003-4671-0676'
repository-code: 'https://github.com/ubdbra001/FAIR4RS-VirtualEnvs'
url: 'https://github.com/ubdbra001/FAIR4RS-VirtualEnvs'
abstract: >-
  Ensuring that others are able to take your code, run it, and are able to
  produce the same (or equivalent) results is one of the key tenets of FAIR 
  and reproducible research software. 
  This course will provide you with an overview of different ways to make
  your code reproducible and then focus on virtual environments as a specific
  tool for computational reproducibility.

keywords:
  - carpentries
  - fair4rs
  - university of sheffield
  - virtual environments
  - reproducibility
license: CC-BY-4.0

GitHub Events

Total
  • Issue comment event: 1
  • Push event: 7
  • Pull request event: 1
  • Create event: 2
Last Year
  • Issue comment event: 1
  • Push event: 7
  • Pull request event: 1
  • Create event: 2

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 1
  • Total pull requests: 2
  • Average time to close issues: 3 months
  • Average time to close pull requests: less than a minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 2
  • Average time to close issues: 3 months
  • Average time to close pull requests: less than a minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • ubdbra001 (3)
Top Labels
Issue Labels
Pull Request Labels
type: template and tools (1) type: package cache (1)

Dependencies

.github/workflows/pr-close-signal.yaml actions
  • actions/upload-artifact v3 composite
.github/workflows/pr-comment.yaml actions
  • actions/checkout v3 composite
  • carpentries/actions/check-valid-pr main composite
  • carpentries/actions/comment-diff main composite
  • carpentries/actions/download-workflow-artifact main composite
.github/workflows/pr-post-remove-branch.yaml actions
  • carpentries/actions/download-workflow-artifact main composite
  • carpentries/actions/remove-branch main composite
.github/workflows/pr-preflight.yaml actions
  • carpentries/actions/check-valid-pr main composite
  • carpentries/actions/comment-diff main composite
.github/workflows/pr-receive.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • carpentries/actions/check-valid-pr main composite
  • carpentries/actions/setup-lesson-deps main composite
  • carpentries/actions/setup-sandpaper main composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/sandpaper-main.yaml actions
  • actions/checkout v3 composite
  • carpentries/actions/setup-lesson-deps main composite
  • carpentries/actions/setup-sandpaper main composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/update-cache.yaml actions
  • actions/checkout v3 composite
  • carpentries/actions/check-valid-credentials main composite
  • carpentries/actions/update-lockfile main composite
  • carpentries/create-pull-request main composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/update-workflows.yaml actions
  • actions/checkout v3 composite
  • carpentries/actions/check-valid-credentials main composite
  • carpentries/actions/update-workflows main composite
  • carpentries/create-pull-request main composite