Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.gitignore #136

Closed
wants to merge 6 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 167 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
# file copied from https://github.com/github/gitignore/blob/main/Python.gitignore

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
.idea/

# Mac
.DS_Store
3 changes: 2 additions & 1 deletion modules/citation/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ type: info
order: 0
---

Obtain the skills and knowledge necessary to address the following questions:
In this module you will learn to answer the following questions:

- Why is it important to cite research software?
- What are the principles of software citation?
- How do I communicate the importance of citing software to researchers?
Expand Down
3 changes: 2 additions & 1 deletion modules/documentation/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ type: info
order: 0
---

Obtain the skills and knowledge necessary to address the following questions:
In this module you will learn to answer the following questions:

- What is code documentation?
- Why is documentation considered best practice in software development and how do I communicate that to researchers?
- What are some of the ways code is documented in practice?
2 changes: 1 addition & 1 deletion modules/licenses/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ type: info
order: 0
---

Obtain the skills and knowledge necessary to address the following questions:
In this module you will learn to answer the following questions:

- What is a software license? What is copyright?
- What are the different kinds of software license?
Expand Down
3 changes: 2 additions & 1 deletion modules/publication/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ type: info
order: 0
---

Obtain the skills and knowledge necessary to address the following questions:
In this module you will learn to answer the following questions:

- What does publishing software mean?
- Why should researchers publish their software?
- Where should researchers publish their software?
Expand Down
7 changes: 4 additions & 3 deletions modules/researchsoftware/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ type: info
order: 0
---

Obtain the skills and knowledge necessary to address the following questions:
- What is the difference between "research software" and "software in research"?
- What is the difference between software and data?
In this module you will learn to answer the following questions:

- What are the similarities and differences between software and data?
- What is the difference between "Research Software" and "software in research"?
- Why are these distinctions important and useful? How do I effectively communicate that to researchers?
2 changes: 1 addition & 1 deletion modules/researchsoftware/slides-researchsoftware.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ By defining research software:

- Software is an important part of research
- Not all software used in research is Research Software
- Defining "Research Software" provides recognzition in the research community
- Defining "Research Software" provides recognition in the research community

===

Expand Down
6 changes: 1 addition & 5 deletions modules/researchsoftware/slides-software.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,12 +151,12 @@ Software can be ...
- stored as bits
- read, loaded, and processed
- input and/or output
- can be assigned a DOI, licence, etc

<!-- Speaker notes -->
Note:
- Software is stored as bits and read from disk, loaded into memory, and processed similar to other types of data.
- Software can be input, and software can be output. In fact, one of the major breakthroughs in computer science was when people realized that the instructions of the machine could be handled and stored the same as the data that it operated on.
- And fits all 3 dictionary definitions of data quite well.

==

Expand All @@ -181,10 +181,6 @@ Software is...
Note:
While technically, software is a special kind of data (in that it is representation of information in a digital state), they are in essence quite different.

Software and data both are digital objects, sharing certain characteristics: they can be assigned a DOI, and they can have a license.

Software is quite different from data, however. Consider:

- Complexity; it is not a single file, but a collection of files that are interconnected and multi-layered, and do not necessarily stand on their own. Software is also the result of a creative process that provides a tool to do something, and not the result of a measurement or observation.
- Interdependence; software is often built using other software, and rarely built completely from scratch. This makes it dependent on other existing applications, which themselves may also change over time. In the context of research software it also often depends on the data, data formats, data standards, metadata, etc, which also change when new equipment becomes available.
- Executability; software is in its dryest form a set of instructions that can be an archive of a procedure. However, the main goal of software is that these instructions can be executed. While most forms of data can stand on their own (e.g. I can look at the list of ages of all the people in a room and make conclusions about average age, etc.), software cannot be directly interpreted (only in the context of what it does).
Expand Down
5 changes: 3 additions & 2 deletions modules/softwarelandscape/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ type: info
order: 0
---

Obtain the skills and knowledge necessary to address the following questions:
In this module you will learn to answer the following questions:

- Why do researchers write software themselves?
- What problems arise because of this?
- What initiatives exist to tackle these issues?
- What initiatives exist to tackle these issues?
2 changes: 1 addition & 1 deletion modules/softwarelandscape/slides.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ order: 1

- **So** researchers often write software themselves
- **But** researchers are not trained as software engineers
- **And** Software is not (yet) regarded as valuable research output
- **And** software is not (yet) regarded as valuable research output

Note:
First is a true statement.
Expand Down
2 changes: 1 addition & 1 deletion modules/softwaremanagementplans/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ type: info
order: 0
---

Obtain the skills and knowledge necessary to address the following questions:
In this module you will learn to answer the following questions:

- What is a software management plan?
- Why are software management plans important for science?
Expand Down
6 changes: 4 additions & 2 deletions modules/softwaremanagementplans/slides-smp.md
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,7 @@ Finally, a *risk analysis* should be performed: for instance, are there privacy
- Resources for information and support
- Institution-specific regulations
- Institution-specific resources available
- Who to contact for clarification/further information
- Include an assessment rubric (e.g. with (un)acceptable answers)

Note:
Expand Down Expand Up @@ -341,7 +342,7 @@ The SMP Guide distinguishes software with low, medium, and high management needs
- Single purpose scripts
- Developer is the primary user
- Performs limited function:
- Analyses a single experiment or dataset
- Analyses a single/few experiment(s) or dataset(s)
- Automates a routine task

Note:
Expand Down Expand Up @@ -386,7 +387,7 @@ Software management planning should include providing information on archiving a

## SMP level: high

- Mission critical software
- "Mission critical" software
- High standards required for reliability
- Absence or replacement of the software would threaten research
- Software that is continually in use:
Expand All @@ -412,6 +413,7 @@ Thus, maintenance strategies, including funding and/or community development pla
- **Purpose**: what is the reason or expected end-use for the software?
- **Reliability**: what is the effect of software failure and/or non-maintenance?
- **Maintenance**: what is the long-term effort needed to maintain the software?
- **Lifetime**: How long do you expect (wish) the software to remain in use?

Check the Practical Guide: [doi:10.5281/zenodo.7038280](https://doi.org/10.5281/zenodo.7038280)

Expand Down
4 changes: 3 additions & 1 deletion modules/testing/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ type: info
order: 0
---

In this module you will learn to answer the following questions:

- Appreciate the importance of testing software
- Understand the various benefits of testing
- Understand the types of tests and what info they convey
- Get familiar with the idea of continuous integration and its importance
- Get familiar with the idea of continuous integration and its importance
5 changes: 3 additions & 2 deletions modules/version-control/info.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ type: info
order: 0
---

## Learning Objectives
In this module you will learn to answer the following questions:

- Explain what version control of research software is
- Illustrate the importance of using version control
- Identify when in the research cycle to employ version control
- Compare the use of local and remote version control
- List the various tools or systems for version control
- Identify relevant resources for researchers about features commonly used in version control
- Identify relevant resources for researchers about features commonly used in version control
Loading