azure / autorest.python
Source Code Overview

Analysis scope, overview of main, test, generated, deployment, build, and other code.

Source Code Analysis Scope
Files includes and excluded from analyses
in
txt
ini
jinja2
gitattributes
mjs
editorconfig
prettierignore
Overview of Analyzed Files
Basic stats on analyzed files
Intro
For analysis purposes we separate files in scope into several categories: main, test, generated, deployment and build, and other.

  • The main category contains all manually created source code files that are being used in the production.
  • Files in the main category are used as input for other analyses: logical decomposition, concerns, duplication, file size, unit size, and conditional complexity.
  • Test source code files are used only for testing of the product. These files are normally not deployed to production.
  • Build and deployment source code files are used to configure or support build and deployment process.
  • Generated source code files are automatically generated files that have not been manually changed after generation.
  • While a source code folder may contain a number of files, we are primarily interested in the source code files that are being written and maintained by developers.
  • Files containing binaries, documentation, or third-party libraries, for instance, are excluded from analysis. The exception are third-party libraries that have been changed by developers.

main6103 LOC (<1%) 88 files
test493424 LOC (44%) 4,062 files
generated554607 LOC (50%) 5,581 files
build and deployment7134 LOC (<1%) 2 files
other47269 LOC (4%) 790 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
jinja2
mjs
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 88 files match defined criteria (6,103 LOC, 100.0% vs. main code):
    • 46 *.py files (3,628 LOC)
    • 18 *.ts files (1,522 LOC)
    • 9 *.jinja2 files (328 LOC)
    • 3 *.yaml files (252 LOC)
    • 7 *.js files (225 LOC)
    • 3 *.ps1 files (79 LOC)
    • 1 *.mjs files (50 LOC)
    • 1 *.toml files (19 LOC)
  • " *.py" is biggest, containing 59.45% of LOC.
  • " *.toml" is smallest, containing 0.31% of LOC.


*.py3628 LOC (59%) 46 files
*.ts1522 LOC (24%) 18 files
*.jinja2328 LOC (5%) 9 files
*.yaml252 LOC (4%) 3 files
*.js225 LOC (3%) 7 files
*.ps179 LOC (1%) 3 files
*.mjs50 LOC (<1%) 1 file
*.toml19 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
jinja2
in
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/mock[a-zA-Z0-9_\- ]+/.*".
    • files with paths like ".*/[Ss]pecs/.*".
    • files with paths like ".*_tests[.].*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/test[.].*".
  • 4062 files match defined criteria (493,424 LOC, 8084.9% vs. main code):
    • 4,056 *.py files (493,329 LOC)
    • 1 *.jinja2 files (64 LOC)
    • 5 *.in files (31 LOC)
  • " *.py" is biggest, containing 99.98% of LOC.
  • " *.in" is smallest, containing 0.01% of LOC.


*.py493329 LOC (99%) 4,056 files
*.jinja264 LOC (<1%) 1 file
*.in31 LOC (<1%) 5 files
Generated Code
Automatically generated files, not manually changed after generation.
in
txt
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/generated/.*".
    • files with paths like ".*/_generated/.*".
  • 5581 files match defined criteria (554,607 LOC, 9087.4% vs. main code):
    • 4,982 *.py files (547,278 LOC)
    • 284 *.md files (3,333 LOC)
    • 88 *.json files (2,798 LOC)
    • 142 *.in files (934 LOC)
    • 85 *.txt files (264 LOC)
  • " *.py" is biggest, containing 98.68% of LOC.
  • " *.txt" is smallest, containing 0.05% of LOC.


*.py547278 LOC (98%) 4,982 files
*.md3333 LOC (<1%) 284 files
*.json2798 LOC (<1%) 88 files
*.in934 LOC (<1%) 142 files
*.txt264 LOC (<1%) 85 files
Build and Deployment Code
Source code used to configure or support build and deployment process.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/pnpm.*[.]ya?ml".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/[.]gitattributes".
  • 2 files match defined criteria (7,134 LOC, 116.9% vs. main code). All matches are in *.yaml files.


*.yaml7134 LOC (100%) 2 files
Other Code
txt
ini
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[.]prettierignore".
    • files with paths like ".*[.]json".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]txt".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.](rst|rest|resttxt|rsttxt)".
    • files with paths like ".*[.]editorconfig".
  • 790 files match defined criteria (47,269 LOC, 774.5% vs. main code):
    • 217 *.py files (30,347 LOC)
    • 329 *.md files (8,280 LOC)
    • 124 *.json files (7,597 LOC)
    • 103 *.txt files (665 LOC)
    • 16 *.ini files (366 LOC)
    • 1 *.rst files (14 LOC)
  • " *.py" is biggest, containing 64.2% of LOC.
  • " *.rst" is smallest, containing 0.03% of LOC.


*.py30347 LOC (64%) 217 files
*.md8280 LOC (17%) 329 files
*.json7597 LOC (16%) 124 files
*.txt665 LOC (1%) 103 files
*.ini366 LOC (<1%) 16 files
*.rst14 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-06 21:26