Skip to content

Commit

Permalink
Merge pull request #10 from scientificcomputing/intro
Browse files Browse the repository at this point in the history
Intro
  • Loading branch information
finsberg authored Nov 19, 2023
2 parents fce74e3 + d2ebe42 commit eba071a
Show file tree
Hide file tree
Showing 10 changed files with 62 additions and 53 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Created by https://www.toptal.com/developers/gitignore/api/python
# Edit at https://www.toptal.com/developers/gitignore?templates=python
docs/documentation.html
docs/*.html
_build
### Python ###
# Byte-compiled / optimized / DLL files
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,9 @@ The agenda is as follows
- https://scientificcomputing.github.io
- [The Turing Way](https://the-turing-way.netlify.app/reproducible-research/reproducible-research)
- [Scientific Python Library Development Guide](https://learn.scientific-python.org/development/)


## Authors
- Henrik Finsberg ([email protected])
- Jørgen Dokken ([email protected])
- Benjamin Ragan-Kelly ([email protected])
5 changes: 2 additions & 3 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
# Learn more at https://jupyterbook.org/customize/config.html

title: BioAI Seminar
author: Henrik Finsberg and Jørgen Dokken
author: Henrik Finsberg, Jørgen Dokken and Benjamin Ragan-Kelly
logo: "docs/logo.png"
copyright: "2023"
only_build_toc_files: true

Expand Down Expand Up @@ -36,5 +37,3 @@ sphinx:
- 'sphinx.ext.autodoc'
- 'sphinx.ext.napoleon'
- 'sphinx.ext.viewcode'

exclude_patterns: [".pytest_cache/*"]
46 changes: 1 addition & 45 deletions docs/distribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,48 +15,4 @@ marp: true
# Distribution
Best Practices in Modern Software Development: 23.11.23

Henrik Finsberg and Jørgen Dokken

---

## Agenda

- How to package a python project
- Uploading a package to pypi
- Creating a GitHub action to publish a package on pypi whenever you make a new release
- Uploading conda package to conda-forge
- Creating and publishing docker images
- Creating a GitHub action to publish a new docker image to the GitHub registry whenever you make a new release
- Licensing
- Which license to put on your code and why you should use a permissive license

---

## Creating a package

- A set of modules can be collected in a package

- A package is organized as module files in a directory tree

- Each subdirectory must have a __init__.py file (can be empty)

```
examples/my-package
├── LICENSE
├── pyproject.toml
├── README.md
├── src
│ └── pkg
│ ├── analysis.py
│ ├── __init__.py
│ └── printing
│ ├── __init__.py
│ └── printing.py
└── test
├── test_analysis.py
└── test_printing.py
```

---

## Installing a package
To be included in a future version
2 changes: 1 addition & 1 deletion docs/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
theme: default
paginate: true
header: 'Best Practices in Modern Software Development: Documentation'
footer: '23.11.23 - Henrik Finsberg and Jørgen Dokken'
footer: '23.11.23 - Jørgen Dokken'
size: 16:9
style: |
.small-text {
Expand Down
2 changes: 1 addition & 1 deletion docs/environments.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
theme: default
paginate: true
header: 'Best Practices in Modern Software Development: Reproducible environments'
footer: '23.11.23 - Henrik Finsberg and Jørgen Dokken'
footer: '23.11.23 - Benjamin Ragan-Kelly'
size: 16:9
style: |
.small-text {
Expand Down
Binary file added docs/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
theme: default
paginate: true
header: 'Best Practices in Modern Software Development: Paper with code'
footer: '23.11.23 - Henrik Finsberg and Jørgen Dokken'
footer: '23.11.23 - Henrik Finsberg'
size: 16:9
style: |
.small-text {
Expand Down
2 changes: 1 addition & 1 deletion docs/repo.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
theme: default
paginate: true
header: 'Best Practices in Modern Software Development: Code and Data repositories'
footer: '23.11.23 - Henrik Finsberg and Jørgen Dokken'
footer: '23.11.23 - Henrik Finsberg'
size: 16:9
style: |
.small-text {
Expand Down
48 changes: 48 additions & 0 deletions intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
theme: default
paginate: true
header: 'Best Practices in Modern Software Development'
footer: '23.11.23 - Henrik Finsberg'
size: 16:9
style: |
.small-text {
font-size: 0.55rem;
}
html: true
marp: true
---

# Elevating Scientific Computing at Simula: Best Practices in Modern Software Development.

23.11.23

Henrik Finsberg, Jørgen Dokken and Benjamin Ragan-Kelly

---

## Research at Simula is based on code

* We write code to **pre-process** data
* We write code to **run simulations**
* We write code to create figures and tables (**post-processing**)

* Whenever you publish a paper, you need to have recipe for how to reproduce the results in the paper

---

## Goal of this workshops

- 11.15 - 11.45: Code and data repositories (Henrik)
- 11.45 - 12.15: Reproducible environments (Min)
- 12.15 - 12.45: Lunch
- 12.45 - 13.15: Linters, formatters and continuous integration (Henrik + Jørgen)
- 13.15 - 13.45: Documentation (Jørgen)
- 13.45 - 14.00: Break
- 14.00 - 14.30: A paper with code (Henrik)

---

## Material from the workshop

- https://github.com/scientificcomputing/seminar-23-11-2023
- https://scientificcomputing.github.io/seminar-23-11-2023/README.html

0 comments on commit eba071a

Please sign in to comment.