facebook / TestSlide
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

File Change Frequency Overall
File Change Frequency Overall
The number of recorded file updates
  • There are 18 files with 4,903 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 4 files changed 51-100 times (2,264 lines of code)
    • 4 files changed 21-50 times (1,641 lines of code)
    • 7 files changed 6-20 times (936 lines of code)
    • 3 files changed 1-5 times (62 lines of code)
0% | 46% | 33% | 19% | 1%
Legend:
101+
51-100
21-50
6-20
1-5
explore: zoomable circles | data
File Change Frequency per File Extension
py, rst, md, svg, txt, in, json, yml, ini, gitignore, vscodeignore, sh
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 46% | 33% | 19% | 1%
in0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
testslide0% | 47% | 34% | 17% | 0%
ROOT0% | 84% | 0% | 0% | 15%
pytest-testslide0% | 0% | 0% | 93% | 6%
util0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 18)

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
strict_mock.py
in testslide
604 47 163 1297 67 14
mock_callable.py
in testslide
938 73 42 1297 67 17
setup.py
in root
38 - 387 1297 60 10
__init__.py
in testslide
684 69 93 1297 52 15
runner.py
in testslide
683 81 163 1297 47 13
lib.py
in testslide
284 21 93 774 37 9
303 20 351 1297 32 10
cli.py
in testslide
371 13 351 1297 27 9
dsl.py
in testslide
226 26 135 1297 19 7
patch_attribute.py
in testslide
80 3 274 778 14 4
matchers.py
in testslide
358 71 324 778 13 5
patch.py
in testslide
78 9 163 778 11 6
setup.py
in pytest-testslide
37 - 246 761 8 4
import_profiler.py
in testslide
105 12 351 1297 7 5
pytest_testslide.py
in pytest-testslide
52 8 463 761 6 3
49 2 534 727 5 4
in
7 - 466 1297 4 3
in
MANIFEST.in
in pytest-testslide
6 - 459 470 3 2
Files With Most Contributors (Top 18)
Files sorted by the number of unique email addresses found in commits.

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes# contributors
strict_mock.py
in testslide
604 47 163 1297 67 14
mock_callable.py
in testslide
938 73 42 1297 67 17
setup.py
in root
38 - 387 1297 60 10
__init__.py
in testslide
684 69 93 1297 52 15
runner.py
in testslide
683 81 163 1297 47 13
lib.py
in testslide
284 21 93 774 37 9
303 20 351 1297 32 10
cli.py
in testslide
371 13 351 1297 27 9
dsl.py
in testslide
226 26 135 1297 19 7
patch_attribute.py
in testslide
80 3 274 778 14 4
matchers.py
in testslide
358 71 324 778 13 5
patch.py
in testslide
78 9 163 778 11 6
setup.py
in pytest-testslide
37 - 246 761 8 4
import_profiler.py
in testslide
105 12 351 1297 7 5
pytest_testslide.py
in pytest-testslide
52 8 463 761 6 3
49 2 534 727 5 4
in
7 - 466 1297 4 3
in
MANIFEST.in
in pytest-testslide
6 - 459 470 3 2
Correlations

File Size vs. Number of Changes: 18 points

testslide/mock_callable.py x: 938 lines of code y: 67 # changes testslide/__init__.py x: 684 lines of code y: 52 # changes testslide/lib.py x: 284 lines of code y: 37 # changes testslide/dsl.py x: 226 lines of code y: 19 # changes testslide/patch.py x: 78 lines of code y: 11 # changes testslide/strict_mock.py x: 604 lines of code y: 67 # changes testslide/runner.py x: 683 lines of code y: 47 # changes pytest-testslide/setup.py x: 37 lines of code y: 8 # changes testslide/patch_attribute.py x: 80 lines of code y: 14 # changes testslide/matchers.py x: 358 lines of code y: 13 # changes testslide/cli.py x: 371 lines of code y: 27 # changes testslide/import_profiler.py x: 105 lines of code y: 7 # changes testslide/mock_constructor.py x: 303 lines of code y: 32 # changes setup.py x: 38 lines of code y: 60 # changes pytest-testslide/MANIFEST.in x: 6 lines of code y: 3 # changes pytest-testslide/pytest_testslide.py x: 52 lines of code y: 6 # changes MANIFEST.in x: 7 lines of code y: 4 # changes util/run_silent_if_successful.py x: 49 lines of code y: 5 # changes
67.0
# changes
  min: 3.0
  average: 26.61
  25th percentile: 6.75
  median: 16.5
  75th percentile: 48.25
  max: 67.0
0 938.0
lines of code
min: 6.0 | average: 272.39 | 25th percentile: 46.25 | median: 165.5 | 75th percentile: 429.25 | max: 938.0

Number of Contributors vs. Number of Changes: 18 points

testslide/mock_callable.py x: 17 # contributors y: 67 # changes testslide/__init__.py x: 15 # contributors y: 52 # changes testslide/lib.py x: 9 # contributors y: 37 # changes testslide/dsl.py x: 7 # contributors y: 19 # changes testslide/patch.py x: 6 # contributors y: 11 # changes testslide/strict_mock.py x: 14 # contributors y: 67 # changes testslide/runner.py x: 13 # contributors y: 47 # changes pytest-testslide/setup.py x: 4 # contributors y: 8 # changes testslide/patch_attribute.py x: 4 # contributors y: 14 # changes testslide/matchers.py x: 5 # contributors y: 13 # changes testslide/cli.py x: 9 # contributors y: 27 # changes testslide/import_profiler.py x: 5 # contributors y: 7 # changes testslide/mock_constructor.py x: 10 # contributors y: 32 # changes setup.py x: 10 # contributors y: 60 # changes pytest-testslide/MANIFEST.in x: 2 # contributors y: 3 # changes pytest-testslide/pytest_testslide.py x: 3 # contributors y: 6 # changes MANIFEST.in x: 3 # contributors y: 4 # changes util/run_silent_if_successful.py x: 4 # contributors y: 5 # changes
67.0
# changes
  min: 3.0
  average: 26.61
  25th percentile: 6.75
  median: 16.5
  75th percentile: 48.25
  max: 67.0
0 17.0
# contributors
min: 2.0 | average: 7.78 | 25th percentile: 4.0 | median: 6.5 | 75th percentile: 10.75 | max: 17.0