Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
ad0f866
3415 Update WSIReader (#3417)
bhashemian Dec 2, 2021
035f91c
update create_file_basename (#3436)
wyli Dec 2, 2021
f6a0c87
Update TiffFile backend in WSIReader (#3438)
bhashemian Dec 2, 2021
0935d5a
3429 Enhance the scalar write logic of TensorBoardStatsHandler (#3431)
Nic-Ma Dec 3, 2021
f3e7cc0
3430 support dataframes and streams in CSVDataset (#3440)
Nic-Ma Dec 6, 2021
8a47227
Add base class for workflows (#3445)
Nic-Ma Dec 7, 2021
a17813b
Enhance deprecated arg for kwargs in CSV datasets (#3446)
Nic-Ma Dec 7, 2021
98c1c43
3293 Remove extra deep supervision modules of DynUNet (#3427)
yiheng-wang-nv Dec 7, 2021
29e9ab3
471- fixes deprecated args (#3447)
wyli Dec 7, 2021
a7bc4a3
improve error message if reader nott available (#3457)
rijobro Dec 8, 2021
d2543ad
adds the missing imports (#3462)
wyli Dec 9, 2021
82576e7
revise MILModel docstring (#3459)
wyli Dec 9, 2021
4b5ad0b
deprecate reduction (#3464)
wyli Dec 9, 2021
5b36d02
3444 Add DatasetFunc (#3456)
Nic-Ma Dec 10, 2021
89f0bd4
Add missing components to API doc (#3468)
Nic-Ma Dec 10, 2021
d386213
3466 3467 Add `channel_wise` and correct doc-string (#3469)
Nic-Ma Dec 12, 2021
a4c1300
[DLMED] remove cls (#3475)
Nic-Ma Dec 13, 2021
360c52f
Add Iteration base class (#3472)
Nic-Ma Dec 13, 2021
cb70e13
fix link error (#3488)
yiheng-wang-nv Dec 14, 2021
9ef0070
3465 Support string as dtype (#3478)
Nic-Ma Dec 14, 2021
7a66f18
[DLMED] update to 0.4.7 (#3483)
Nic-Ma Dec 14, 2021
f6648a3
Improve NVTX Range Naming (#3484)
bhashemian Dec 14, 2021
9927691
3471 3491 Add example images for intensity transforms (#3494)
Nic-Ma Dec 15, 2021
88d91d6
Make bending energy loss invariant to resolution (#3493)
ebrahimebrahim Dec 15, 2021
3761ee0
Removes redundant casting -- ensure tuple (#3495)
wyli Dec 16, 2021
a255648
3498 Correct `kwargs` arg for `convert_to_torchscript` (#3499)
Nic-Ma Dec 16, 2021
531c276
update tests with 1.10.1 (#3500)
wyli Dec 17, 2021
d663d78
3501 Add dict version SavitzkyGolaySmoothd (#3502)
Nic-Ma Dec 17, 2021
d2861a2
remove file (#3507)
wyli Dec 20, 2021
29779d1
avoid 60.0.0 (#3514)
wyli Dec 20, 2021
c9d38f0
[DLMED] add 6 new transform images (#3512)
Nic-Ma Dec 20, 2021
1d3a9d7
support of reversed indexing (#3508)
wyli Dec 20, 2021
9734478
Adding Torchscript utility functions (#3138)
ericspod Dec 21, 2021
8e2ade5
3517 Refine AddCoordinateChannels transform (#3524)
Nic-Ma Dec 21, 2021
1516ca7
3521 Copyright header update (#3522)
wyli Dec 21, 2021
299a0d1
3521 - adds a util to check the licence info (#3523)
wyli Dec 21, 2021
58ded72
3350 Remove PyTorch 1.5.x related logic and mark versions for all new…
Nic-Ma Dec 21, 2021
08f9bac
3533 Update PyTorch docker to 21.12 (#3534)
Nic-Ma Dec 22, 2021
9caa1d0
3531 Add args to subclass of CacheDataset (#3532)
Nic-Ma Dec 22, 2021
6767959
3525 Fix invertible issue in OneOf compose (#3530)
Nic-Ma Dec 22, 2021
e655b4e
3535 - drop python 36 support (#3536)
wyli Dec 23, 2021
21c5f6d
3541 has cupy check (#3544)
wyli Dec 24, 2021
7f23f38
3053 release *_dist.py tests memory to avoid OOM (#3537)
wyli Dec 24, 2021
29bc93b
3539 Remove decollate warning (#3545)
Nic-Ma Dec 24, 2021
df75199
[DLMED] enhance set_determinism (#3547)
Nic-Ma Dec 24, 2021
2e492a9
Smooth Deform (#3551)
ericspod Dec 30, 2021
05f8219
3552 - runtest.sh defaults to no build/install (#3555)
wyli Dec 30, 2021
c8e7fe1
Remove apply_same_field (#3556)
ericspod Dec 30, 2021
885d5b9
skipping pretraining network loading when downloading is unsuccessful…
wyli Dec 31, 2021
ba23afd
[DLMED] fix mypy errors (#3562)
Nic-Ma Jan 1, 2022
adca1bb
3559 Enhance `DatasetSummary` for several points (#3560)
Nic-Ma Jan 1, 2022
06ae905
add box util in monai/data
Can-Zhao Jan 3, 2022
60bf24d
add box util in monai/data
Can-Zhao Jan 3, 2022
9417ff2
[pre-commit.ci] pre-commit suggestions (#3568)
pre-commit-ci[bot] Jan 4, 2022
a7835ab
3565 - adds metadata when loading dicom series (#3566)
wyli Jan 4, 2022
bb4ad5f
3580 - create codeql-analysis.yml (#3579)
wyli Jan 5, 2022
4bd13fe
498 Add logger_handler to LrScheduleHandler (#3570)
Nic-Ma Jan 5, 2022
564cd2a
Merge pull request #1 from Can-Zhao/box_util
Can-Zhao Jan 5, 2022
69a667f
Merge branch 'Project-MONAI:dev' into detection
Can-Zhao Jan 5, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ A few sentences describing the changes proposed in this pull request.
- [ ] Breaking change (fix or new feature that would cause existing functionality to change).
- [ ] New tests added to cover the changes.
- [ ] Integration tests passed locally by running `./runtests.sh -f -u --net --coverage`.
- [ ] Quick tests passed locally by running `./runtests.sh --quick --unittests`.
- [ ] Quick tests passed locally by running `./runtests.sh --quick --unittests --disttests`.
- [ ] In-line docstrings updated.
- [ ] Documentation updated, tested `make html` command in the `docs/` folder.
71 changes: 71 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ dev, main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ dev ]
schedule:
- cron: '18 1 * * 0'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'cpp', 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support

steps:
- name: Checkout repository
uses: actions/checkout@v2

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
# - name: Autobuild
# uses: github/codeql-action/autobuild@v1

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

- name: Build
run: |
python -m pip install -r requirements-dev.txt
BUILD_MONAI=1 ./runtests.sh --build

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
2 changes: 1 addition & 1 deletion .github/workflows/cron-mmar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,6 @@ jobs:
- name: Loading MMARs
run: |
# clean up temporary files
$(pwd)/runtests.sh --clean
$(pwd)/runtests.sh --build --clean
# run tests
python -m tests.ngc_mmar_loading
16 changes: 8 additions & 8 deletions .github/workflows/cron.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ jobs:
python -c $'import torch\na,b=torch.zeros(1,device="cuda:0"),torch.zeros(1,device="cuda:1");\nwhile True:print(a,b)' > /dev/null &
python -c "import torch; print(torch.__version__); print('{} of GPUs available'.format(torch.cuda.device_count()))"
python -c 'import torch; print(torch.rand(5, 3, device=torch.device("cuda:0")))'
BUILD_MONAI=1 ./runtests.sh --coverage --unittests # unit tests with coverage report
BUILD_MONAI=1 ./runtests.sh --coverage --net # integration tests with coverage report
BUILD_MONAI=1 ./runtests.sh --build --coverage --unittests --disttests # unit tests with coverage report
BUILD_MONAI=1 ./runtests.sh --build --coverage --net # integration tests with coverage report
coverage xml
if pgrep python; then pkill python; fi
- name: Upload coverage
Expand All @@ -62,7 +62,7 @@ jobs:
if: github.repository == 'Project-MONAI/MONAI'
strategy:
matrix:
container: ["pytorch:21.02", "pytorch:21.10"] # 21.02 for backward comp.
container: ["pytorch:21.02", "pytorch:21.12"] # 21.02 for backward comp.
container:
image: nvcr.io/nvidia/${{ matrix.container }}-py3 # testing with the latest pytorch base image
options: "--gpus all"
Expand Down Expand Up @@ -91,8 +91,8 @@ jobs:
python -c $'import torch\na,b=torch.zeros(1,device="cuda:0"),torch.zeros(1,device="cuda:1");\nwhile True:print(a,b)' > /dev/null &
python -c "import torch; print(torch.__version__); print('{} of GPUs available'.format(torch.cuda.device_count()))"
python -c 'import torch; print(torch.rand(5, 3, device=torch.device("cuda:0")))'
BUILD_MONAI=1 ./runtests.sh --coverage --unittests # unit tests with coverage report
BUILD_MONAI=1 ./runtests.sh --coverage --net # integration tests with coverage report
BUILD_MONAI=1 ./runtests.sh --build --coverage --unittests --disttests # unit tests with coverage report
BUILD_MONAI=1 ./runtests.sh --build --coverage --net # integration tests with coverage report
coverage xml
if pgrep python; then pkill python; fi
- name: Upload coverage
Expand All @@ -106,7 +106,7 @@ jobs:
if: github.repository == 'Project-MONAI/MONAI'
strategy:
matrix:
container: ["pytorch:21.02", "pytorch:21.10"] # 21.02 for backward comp.
container: ["pytorch:21.02", "pytorch:21.12"] # 21.02 for backward comp.
container:
image: nvcr.io/nvidia/${{ matrix.container }}-py3 # testing with the latest pytorch base image
options: "--gpus all"
Expand Down Expand Up @@ -190,8 +190,8 @@ jobs:
python -c "import torch; print(torch.__version__); print('{} of GPUs available'.format(torch.cuda.device_count()))"
python -c 'import torch; print(torch.rand(5,3, device=torch.device("cuda:0")))'
ngc --version
BUILD_MONAI=1 ./runtests.sh --coverage --pytype --unittests # unit tests with pytype checks, coverage report
BUILD_MONAI=1 ./runtests.sh --coverage --net # integration tests with coverage report
BUILD_MONAI=1 ./runtests.sh --build --coverage --pytype --unittests --disttests # unit tests with pytype checks, coverage report
BUILD_MONAI=1 ./runtests.sh --build --coverage --net # integration tests with coverage report
coverage xml
if pgrep python; then pkill python; fi
- name: Upload coverage
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
which python
python -m pip install --upgrade pip wheel
python -m pip uninstall -y torch torchvision
python -m pip install torch==1.10.0+cu111 torchvision==0.11.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
python -m pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 -f https://download.pytorch.org/whl/torch_stable.html
python -m pip install -r requirements-dev.txt
- name: Run integration tests
run: |
Expand All @@ -46,8 +46,8 @@ jobs:
python -c $'import torch\na,b=torch.zeros(1,device="cuda:0"),torch.zeros(1,device="cuda:1");\nwhile True:print(a,b)' > /dev/null &
python -c "import torch; print(torch.__version__); print('{} of GPUs available'.format(torch.cuda.device_count()))"
python -c 'import torch; print(torch.rand(5,3, device=torch.device("cuda:0")))'
BUILD_MONAI=1 ./runtests.sh --net
BUILD_MONAI=1 ./runtests.sh --unittests
BUILD_MONAI=1 ./runtests.sh --build --net
BUILD_MONAI=1 ./runtests.sh --build --unittests --disttests
if pgrep python; then pkill python; fi
shell: bash
- name: Add reaction
Expand Down
26 changes: 14 additions & 12 deletions .github/workflows/pythonapp-gpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,34 +20,36 @@ jobs:
matrix:
environment:
- "PT17+CUDA102"
- "PT17+CUDA110"
- "PT18+CUDA102"
- "PT18+CUDA110"
- "PT18+CUDA112"
- "PT19+CUDA114"
- "PT110+CUDA115"
- "PT110+CUDA102"
include:
# https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes
- environment: PT17+CUDA102
pytorch: "torch==1.7.1 torchvision==0.8.2"
base: "nvcr.io/nvidia/cuda:10.2-devel-ubuntu18.04"
- environment: PT17+CUDA110
# we explicitly set pytorch to -h to avoid pip install error
pytorch: "-h"
base: "nvcr.io/nvidia/pytorch:20.09-py3"
- environment: PT18+CUDA102
pytorch: "torch==1.8.1 torchvision==0.9.1"
base: "nvcr.io/nvidia/cuda:10.2-devel-ubuntu18.04"
- environment: PT18+CUDA110
- environment: PT18+CUDA112
# we explicitly set pytorch to -h to avoid pip install error
# 21.03: 1.9.0a0+df837d0
pytorch: "-h"
base: "nvcr.io/nvidia/pytorch:21.02-py3"
base: "nvcr.io/nvidia/pytorch:21.03-py3"
- environment: PT19+CUDA114
# we explicitly set pytorch to -h to avoid pip install error
# https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes
# 21.10: 1.10.0a0+0aef44c
pytorch: "-h"
base: "nvcr.io/nvidia/pytorch:21.10-py3"
- environment: PT110+CUDA115
# we explicitly set pytorch to -h to avoid pip install error
# 21.12: 1.11.0a0+b6df043
pytorch: "-h"
base: "nvcr.io/nvidia/pytorch:21.12-py3"
- environment: PT110+CUDA102
pytorch: "torch==1.10.0 torchvision==0.11.1"
pytorch: "torch==1.10.1 torchvision==0.11.2"
base: "nvcr.io/nvidia/cuda:10.2-devel-ubuntu18.04"
container:
image: ${{ matrix.base }}
Expand All @@ -61,7 +63,7 @@ jobs:
[ ${{ matrix.environment }} = "PT18+CUDA102" ] || \
[ ${{ matrix.environment }} = "PT110+CUDA102" ]
then
PYVER=3.6 PYSFX=3 DISTUTILS=python3-distutils && \
PYVER=3.7 PYSFX=3 DISTUTILS=python3-distutils && \
apt-get update && apt-get install -y --no-install-recommends \
curl \
pkg-config \
Expand Down Expand Up @@ -122,7 +124,7 @@ jobs:
python -c 'import torch; print(torch.rand(5, 3, device=torch.device("cuda:0")))'
python -c "import monai; monai.config.print_config()"
# build for the current self-hosted CI Tesla V100
BUILD_MONAI=1 TORCH_CUDA_ARCH_LIST="7.0" ./runtests.sh --quick --unittests
BUILD_MONAI=1 TORCH_CUDA_ARCH_LIST="7.0" ./runtests.sh --build --quick --unittests --disttests
if [ ${{ matrix.environment }} = "PT110+CUDA102" ]; then
# test the clang-format tool downloading once
coverage run -m tests.clang_format_utils
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/pythonapp-min.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,11 @@ jobs:
- if: runner.os == 'windows'
name: Install torch cpu from pytorch.org (Windows only)
run: |
python -m pip install torch==1.10.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
python -m pip install torch==1.10.1+cpu -f https://download.pytorch.org/whl/torch_stable.html
- name: Install the dependencies
run: |
# min. requirements
python -m pip install torch==1.10.0
python -m pip install torch==1.10.1
python -m pip install -r requirements-min.txt
python -m pip list
BUILD_MONAI=0 python setup.py develop # no compile of extensions
Expand All @@ -74,7 +74,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
python-version: [3.7, 3.8, 3.9]
timeout-minutes: 40
steps:
- uses: actions/checkout@v2
Expand All @@ -101,7 +101,7 @@ jobs:
- name: Install the dependencies
run: |
# min. requirements
python -m pip install torch==1.10.0
python -m pip install torch==1.10.1
python -m pip install -r requirements-min.txt
python -m pip list
BUILD_MONAI=0 python setup.py develop # no compile of extensions
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/pythonapp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ jobs:
- name: Lint and type check
run: |
# clean up temporary files
$(pwd)/runtests.sh --clean
$(pwd)/runtests.sh --build --clean
# Git hub actions have 2 cores, so parallize pytype
$(pwd)/runtests.sh --codeformat -j 2
$(pwd)/runtests.sh --build --codeformat -j 2

quick-py3: # full dependencies installed tests for different OS
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -87,10 +87,10 @@ jobs:
- if: runner.os == 'windows'
name: Install torch cpu from pytorch.org (Windows only)
run: |
python -m pip install torch==1.10.0+cpu torchvision==0.11.1+cpu -f https://download.pytorch.org/whl/torch_stable.html
python -m pip install torch==1.10.1+cpu torchvision==0.11.2+cpu -f https://download.pytorch.org/whl/torch_stable.html
- name: Install the dependencies
run: |
python -m pip install torch==1.10.0 torchvision==0.11.1
python -m pip install torch==1.10.1 torchvision==0.11.2
cat "requirements-dev.txt"
python -m pip install -r requirements-dev.txt
python -m pip list
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
python-version: [3.7, 3.8, 3.9]
steps:
- uses: actions/checkout@v2
with:
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/setupapp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
python -m pip install --upgrade pip wheel
python -m pip uninstall -y torch torchvision
rm -rf $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")/ruamel*
python -m pip install torch==1.10.0 torchvision==0.11.1
python -m pip install torch==1.10.1 torchvision==0.11.2
python -m pip install -r requirements-dev.txt
- name: Run unit tests report coverage
run: |
Expand All @@ -59,8 +59,8 @@ jobs:
python -c $'import torch\na,b=torch.zeros(1,device="cuda:0"),torch.zeros(1,device="cuda:1");\nwhile True:print(a,b)' > /dev/null &
python -c "import torch; print(torch.__version__); print('{} of GPUs available'.format(torch.cuda.device_count()))"
python -c 'import torch; print(torch.rand(5, 3, device=torch.device("cuda:0")))'
BUILD_MONAI=1 ./runtests.sh --coverage --unittests # unit tests with coverage report
BUILD_MONAI=1 ./runtests.sh --coverage --net # integration tests with coverage report
BUILD_MONAI=1 ./runtests.sh --build --coverage --unittests --disttests # unit tests with coverage report
BUILD_MONAI=1 ./runtests.sh --build --coverage --net # integration tests with coverage report
coverage xml
if pgrep python; then pkill python; fi
shell: bash
Expand All @@ -74,7 +74,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9]
python-version: [3.7, 3.8, 3.9]
steps:
- uses: actions/checkout@v2
with:
Expand All @@ -98,13 +98,13 @@ jobs:
- name: Install the dependencies
run: |
python -m pip install --upgrade pip wheel
python -m pip install torch==1.10.0 torchvision==0.11.1
python -m pip install torch==1.10.1 torchvision==0.11.2
python -m pip install -r requirements-dev.txt
- name: Run quick tests CPU ubuntu
run: |
python -m pip list
python -c 'import torch; print(torch.__version__); print(torch.rand(5,3))'
BUILD_MONAI=1 ./runtests.sh --quick --unittests
BUILD_MONAI=1 ./runtests.sh --build --quick --unittests --disttests
coverage xml
- name: Upload coverage
uses: codecov/codecov-action@v1
Expand Down
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ ci:

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
rev: v4.1.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
Expand All @@ -23,10 +23,10 @@ repos:
- id: detect-private-key

- repo: https://github.com/asottile/pyupgrade
rev: v2.29.0
rev: v2.31.0
hooks:
- id: pyupgrade
args: [--py36-plus]
args: [--py37-plus]
name: Upgrade code
exclude: |
(?x)^(
Expand All @@ -35,7 +35,7 @@ repos:
)$

- repo: https://github.com/asottile/yesqa
rev: v1.2.3
rev: v1.3.0
hooks:
- id: yesqa
name: Unused noqa
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ python -m pip install -U -r requirements-dev.txt

License information: all source code files should start with this paragraph:
```
# Copyright <Year> MONAI Consortium
# Copyright (c) MONAI Consortium
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
Expand Down Expand Up @@ -113,7 +113,7 @@ or (for new features that would not break existing functionality):
```

It is recommended that the new test `test_[module_name].py` is constructed by using only
python 3.6+ build-in functions, `torch`, `numpy`, `coverage` (for reporting code coverages) and `parameterized` (for organising test cases) packages.
python 3.7+ build-in functions, `torch`, `numpy`, `coverage` (for reporting code coverages) and `parameterized` (for organising test cases) packages.
If it requires any other external packages, please make sure:
- the packages are listed in [`requirements-dev.txt`](requirements-dev.txt)
- the new test `test_[module_name].py` is added to the `exclude_cases` in [`./tests/min_tests.py`](./tests/min_tests.py) so that
Expand Down Expand Up @@ -228,7 +228,7 @@ Notably,
for example, ``import monai.transforms.Spacing`` is the equivalent of ``monai.transforms.spatial.array.Spacing`` if
``class Spacing`` defined in file `monai/transforms/spatial/array.py` is decorated with ``@export("monai.transforms")``.

For string definition, [f-string](https://www.python.org/dev/peps/pep-0498/) is recommended to use over `%-print` and `format-print` from python 3.6. So please try to use `f-string` if you need to define any string object.
For string definition, [f-string](https://www.python.org/dev/peps/pep-0498/) is recommended to use over `%-print` and `format-print`. So please try to use `f-string` if you need to define any string object.

#### Backwards compatibility
MONAI is currently under active development, and with major version zero (following the [Semantic Versioning](https://semver.org/)).
Expand Down
Loading