Pylint output¶
Please keep in mind, that linting is, at it’s heart, pendanticism so boneheaded, even a computer can do it. Don’t take what the linter tells you as a command ;). If you look at the Makefile
in the docs directory, you will see that I have dissabled many warnings. Some of the warnings, like too many local variables, are quite absurd!
I have removed pylint’s “Global Evaluation” field from the output. This is because such ratings are truely misguided. Code quality cannot be analized by a linter.
However, in Python, linting can be helpfull to point out the most trivial mistakes. It also provides us some nice statistics about how many lines of code/modules/classes subuser has. This linter gets run every time the website is updated. It was last run:
2017-02-07 22:09:59
- Module subuserlib.test
- W: 14, 2: Reimport ‘os’ (imported line 8) (reimported)
- Module subuserlib.removeOldImages
- E: 7, 0: invalid syntax (syntax-error)
- Module subuserlib.permissions
- W: 11, 0: Unused import os (unused-import)
- Module subuserlib.verify
- W: 21, 0: Dangerous default value [] as argument (dangerous-default-value)
- W: 85, 2: Redefining name ‘exceptions’ from outer scope (line 18) (redefined-outer-name)
- W:107,34: Unused argument ‘user’ (unused-argument)
- E:180, 9: Undefined variable ‘FileNotFoundError’ (undefined-variable)
- W: 18, 0: Unused import exceptions (unused-import)
- Module subuserlib.subprocessExtras
- W: 12, 0: Unused import subuserlib (unused-import)
- Module subuserlib.lock
- W: 17,30: Unused argument ‘frame’ (unused-argument)
- W: 17,22: Unused argument ‘signum’ (unused-argument)
- W: 11, 0: Unused import errno (unused-import)
- W: 8, 0: Unused import os (unused-import)
- Module subuserlib.print
- W: 10, 0: TODO, utf-16 should also be supported. (fixme)
- E: 14, 6: Instance of ‘file’ has no ‘buffer’ member (no-member)
- Module subuserlib.version
- W: 13, 0: Unused import DockerDaemon (unused-import)
- Module subuserlib.update
- W: 13, 0: Redefining built-in ‘all’ (redefined-builtin)
- W: 20, 2: Redefining name ‘subusers’ from outer scope (line 24) (redefined-outer-name)
- W: 24,18: Redefining name ‘subusers’ from outer scope (line 24) (redefined-outer-name)
- E: 39, 2: No name ‘registry’ in module ‘subuserlib.classes’ (no-name-in-module)
- F: 39, 2: Unable to import ‘subuserlib.classes.registry’ (invalid syntax (<string>, line 18)) (import-error)
- Module subuserlib.subuser
- W: 48, 4: No exception type(s) specified (bare-except)
- W: 16, 0: Unused import exceptions (unused-import)
- Module subuserlib.loadMultiFallbackJsonConfigFile
- W: 11, 0: Unused import subuserlib (unused-import)
- Module subuserlib.executablePath
- W: 27, 2: Using global for ‘programs’ but no assignment is done (global-variable-not-assigned)
- W: 40,19: Redefining built-in ‘list’ (redefined-builtin)
- Module subuserlib.paths
- F: 39, 4: Unable to import ‘pkg_resources’ (import-error)
- Module subuserlib.docker
- W: 23, 2: Using global for ‘executable’ but no assignment is done (global-variable-not-assigned)
- W: 36, 2: Using the global statement (global-statement)
- W: 37, 2: Using the global statement (global-statement)
- W: 65,22: Redefining built-in ‘hash’ (redefined-builtin)
- W: 11, 0: Unused import grp (unused-import)
- W: 10, 0: Unused import getpass (unused-import)
- Module subuserlib.classes.service
- W: 15, 0: Unused import shutil (unused-import)
- Module subuserlib.classes.config
- W: 14, 2: __init__ method from base class ‘dict’ is not called (super-init-not-called)
- Module subuserlib.classes.endUser
- C:112, 0: Trailing whitespace (trailing-whitespace)
- E:136,13: Undefined variable ‘FileNotFoundError’ (undefined-variable)
- W: 14, 0: Unused import paths (unused-import)
- W: 9, 0: Unused import sys (unused-import)
- Module subuserlib.classes.imageSource
- E: 17, 0: invalid syntax (syntax-error)
- Module subuserlib.classes.repository
- W:157, 0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)
- E: 13, 0: No name ‘imageSource’ in module ‘subuserlib.classes’ (no-name-in-module)
- F: 13, 0: Unable to import ‘subuserlib.classes.imageSource’ (invalid syntax (<string>, line 17)) (import-error)
- R: 19, 0: Too many instance attributes (8/7) (too-many-instance-attributes)
- W: 20, 2: __init__ method from base class ‘dict’ is not called (super-init-not-called)
- W:200,11: Catching too general exception Exception (broad-except)
- Module subuserlib.classes.repositories
- W: 21, 0: TODO rename and document these variables (fixme)
- W: 26, 0: TODO how does this work on windows? (fixme)
- R:128, 2: Method could be a function (no-self-use)
- Module subuserlib.classes.fileStructure
- W: 98, 0: TODO - what about symlinks? (fixme)
- W: 99, 0: TODO - what about devices? (fixme)
- W:100, 0: TODO - what about hard link loops? (fixme)
- W:101, 0: TODO - what about sockets? (fixme)
- W:102, 0: TODO - what about named pipes? (fixme)
- Module subuserlib.classes.subusers
- E: 16, 0: No name ‘imageSource’ in module ‘subuserlib.classes’ (no-name-in-module)
- F: 16, 0: Unable to import ‘subuserlib.classes.imageSource’ (invalid syntax (<string>, line 17)) (import-error)
- W: 22, 2: __init__ method from base class ‘dict’ is not called (super-init-not-called)
- W: 66,19: Cell variable subuserAttributes defined in loop (cell-var-from-loop)
- W: 67,17: Cell variable subuserAttributes defined in loop (cell-var-from-loop)
- W: 11, 0: Unused import sys (unused-import)
- W: 16, 0: Unused import subuserlib (unused-import)
- Module subuserlib.classes.installationTask
- R: 58, 2: Too many return statements (8/6) (too-many-return-statements)
- W: 8, 0: Unused import sys (unused-import)
- Module subuserlib.classes.uhttpConnection
- F: 13, 2: Unable to import ‘http.client’ (import-error)
- Module subuserlib.classes.registry
- E: 18, 0: invalid syntax (syntax-error)
- Module subuserlib.classes.gitRepository
- W:121, 2: Dangerous default value [] as argument (dangerous-default-value)
- W:159, 2: Dangerous default value [] as argument (dangerous-default-value)
- W:188, 2: Dangerous default value [] as argument (dangerous-default-value)
- W:188, 2: Arguments number differs from overridden method (arguments-differ)
- W: 9, 0: Unused import tempfile (unused-import)
- Module subuserlib.classes.subuser
- W:204, 0: TODO clean this up so that we aren’t forwarding arguments in needless fluff. (fixme)
- E: 19, 0: No name ‘x11Bridge’ in module ‘subuserlib.classes.subuserSubmodules.run’ (no-name-in-module)
- F: 19, 0: Unable to import ‘subuserlib.classes.subuserSubmodules.run.x11Bridge’ (invalid syntax (<string>, line 264)) (import-error)
- R: 23, 0: Too many instance attributes (16/7) (too-many-instance-attributes)
- Module subuserlib.classes.user
- E: 13, 0: No name ‘registry’ in module ‘subuserlib.classes’ (no-name-in-module)
- R: 21, 0: Too many instance attributes (8/7) (too-many-instance-attributes)
- W: 71,24: Redefining name ‘registry’ from outer scope (line 13) (redefined-outer-name)
- W: 8, 0: Unused import getpass (unused-import)
- W: 19, 0: Unused import paths (unused-import)
- W: 10, 0: Unused import sys (unused-import)
- W: 11, 0: Unused import pwd (unused-import)
- Module subuserlib.classes.installedImages
- W: 18, 2: __init__ method from base class ‘dict’ is not called (super-init-not-called)
- Module subuserlib.classes.permissionsAccepters.acceptPermissionsAtCLI
- E: 13, 0: invalid syntax (syntax-error)
- Module subuserlib.classes.docker.mockDockerDaemon
- E: 14, 0: invalid syntax (syntax-error)
- Module subuserlib.classes.docker.container
- E: 42,30: Module ‘urllib’ has no ‘parse’ member (no-member)
- Module subuserlib.classes.docker.dockerDaemon
- F: 19, 2: Unable to import ‘http.client’ (import-error)
- E:114,13: Undefined variable ‘PermissionError’ (undefined-variable)
- E:120,28: Module ‘urllib’ has no ‘parse’ member (no-member)
- E:178,28: Module ‘urllib’ has no ‘parse’ member (no-member)
- R:226, 2: Method could be a function (no-self-use)
- E:250, 2: No name ‘mockDockerDaemon’ in module ‘subuserlib.classes.docker’ (no-name-in-module)
- F:250, 2: Unable to import ‘subuserlib.classes.docker.mockDockerDaemon’ (invalid syntax (<string>, line 14)) (import-error)
- W: 22, 2: Unused import StringIO (unused-import)
- Module subuserlib.classes.subuserSubmodules.run.runReadyImage
- W: 8, 0: Unused import os (unused-import)
- Module subuserlib.classes.subuserSubmodules.run.x11Bridge
- E:264, 0: invalid syntax (syntax-error)
- Module subuserlib.classes.subuserSubmodules.run.runtimeCache
- W: 15, 2: __init__ method from base class ‘dict’ is not called (super-init-not-called)
- Module subuserlib.classes.subuserSubmodules.run.runtime
- R: 26, 0: Too many instance attributes (10/7) (too-many-instance-attributes)
- R: 70, 2: Method could be a function (no-self-use)
- R: 86, 2: Method could be a function (no-self-use)
- R: 99, 2: Method could be a function (no-self-use)
- E:156,40: Undefined variable ‘getSubuserDir’ (undefined-variable)
- Module subuserlib.builtInCommands.list
- E: 13, 0: invalid syntax (syntax-error)
- Module subuserlib.builtInCommands.repository
- W: 59, 0: Bad indentation. Found 5 spaces, expected 4 (bad-indentation)
- Module subuserlib.builtInCommands.ps
- W: 9, 0: Unused import uuid (unused-import)
- W: 8, 0: Unused import os (unused-import)
- W: 5, 0: Unused import sys (unused-import)
- W: 7, 0: Unused import json (unused-import)
- Module subuserlib.builtInCommands.remove-old-images
- E: 9, 0: No name ‘removeOldImages’ in module ‘subuserlib’ (no-name-in-module)
- F: 9, 0: Unable to import ‘subuserlib.removeOldImages’ (invalid syntax (<string>, line 7)) (import-error)
- E: 37, 4: Module ‘subuserlib’ has no ‘removeOldImages’ member (no-member)
- Module subuserlib.builtInCommands.pkg
- E: 68, 0: invalid syntax (syntax-error)
- Module subuserlib.builtInCommands.version
- W: 5, 0: Unused import sys (unused-import)
- Module subuserlib.builtInCommands.repair
- E: 11, 0: No name ‘acceptPermissionsAtCLI’ in module ‘subuserlib.classes.permissionsAccepters’ (no-name-in-module)
- F: 11, 0: Unable to import ‘subuserlib.classes.permissionsAccepters.acceptPermissionsAtCLI’ (invalid syntax (<string>, line 13)) (import-error)
- W: 4, 0: Unused import sys (unused-import)
- Module subuserlib.builtInCommands.run
- C: 32, 0: Old-style class defined. (old-style-class)
- Module subuserlib.builtInCommands.print-dependency-info
- E: 12, 0: invalid syntax (syntax-error)
- Module subuserlib.builtInCommands.describe
- E: 12, 0: invalid syntax (syntax-error)
- Module subuserlib.builtInCommands.registry
- R: 37, 0: Too many statements (54/50) (too-many-statements)
- Module subuserlib.builtInCommands.update
- E: 11, 0: No name ‘acceptPermissionsAtCLI’ in module ‘subuserlib.classes.permissionsAccepters’ (no-name-in-module)
- F: 11, 0: Unable to import ‘subuserlib.classes.permissionsAccepters.acceptPermissionsAtCLI’ (invalid syntax (<string>, line 13)) (import-error)
- Module subuserlib.builtInCommands.subuser
- W:108, 0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)
- W:109, 0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)
- E: 9, 0: No name ‘acceptPermissionsAtCLI’ in module ‘subuserlib.classes.permissionsAccepters’ (no-name-in-module)
- F: 9, 0: Unable to import ‘subuserlib.classes.permissionsAccepters.acceptPermissionsAtCLI’ (invalid syntax (<string>, line 13)) (import-error)
- W: 6, 0: Unused import os (unused-import)
- R: 19, 0: Abstract class not referenced (abstract-class-not-used)
- Module subuserlib.classes.permissionsAccepters.permissionsAccepter
- R: 13, 0: Abstract class not referenced (abstract-class-not-used)
- R: 1, 0: Cyclic import (subuserlib.classes.installationTask -> subuserlib.verify) (cyclic-import)
- R: 1, 0: Cyclic import (subuserlib.classes.docker.dockerDaemon -> subuserlib.test -> subuserlib.classes.user) (cyclic-import)
- R: 1, 0: Cyclic import (subuserlib.classes.user -> subuserlib.test) (cyclic-import)
- R: 1, 0: Cyclic import (subuserlib.classes.docker.dockerDaemon -> subuserlib.test -> subuserlib.classes.user -> subuserlib.classes.installedImages -> subuserlib.classes.installedImage) (cyclic-import)
- R: 1, 0: Cyclic import (subuserlib.classes.docker.dockerDaemon -> subuserlib.docker -> subuserlib.subprocessExtras -> subuserlib.test -> subuserlib.classes.user) (cyclic-import)
- R: 1, 0: Cyclic import (subuserlib.classes.endUser -> subuserlib.test -> subuserlib.classes.user) (cyclic-import)
- R: 1, 0: Similar lines in 2 files
==subuserlib.classes.docker.container:23 ==subuserlib.classes.docker.dockerDaemon:219
- if not response.status == 200:
- response.read() # Read the response and discard it to prevent the server from getting locked up: http://stackoverflow.com/questions/3231543/python-httplib-responsenotready return None
- else:
- return json.loads(response.read().decode(“utf-8”))
(duplicate-code)
- R: 1, 0: Similar lines in 2 files
==subuserlib.builtInCommands.dev:4 ==subuserlib.builtInCommands.ps:4 import sys import optparse import json import os import uuid (duplicate-code)
- R: 1, 0: Similar lines in 2 files
==subuserlib.classes.docker.dockerDaemon:15 ==subuserlib.classes.uhttpConnection:9 try:
import httplib
- except ImportError:
- import http.client httplib = http.client (duplicate-code)
Report¶
3058 statements analysed.
Statistics by type¶
type | number | old number | difference | %documented | %badname |
---|---|---|---|---|---|
module | 62 | 62 | = | 70.97 | 35.48 |
class | 39 | 39 | = | 15.38 | 0.00 |
method | 261 | 261 | = | 57.85 | 68.20 |
function | 115 | 115 | = | 41.74 | 83.48 |
Duplication¶
now | previous | difference | |
---|---|---|---|
nb duplicated lines | 16 | 16 | = |
percent duplicated lines | 0.311 | 0.311 | +0.00 |
Raw metrics¶
type | number | % | previous | difference |
---|---|---|---|---|
code | 3453 | 68.50 | 3455 | -2.00 |
docstring | 943 | 18.71 | 943 | = |
comment | 190 | 3.77 | 190 | = |
empty | 455 | 9.03 | 455 | = |
Messages by category¶
type | number | previous | difference |
---|---|---|---|
convention | 2 | 2 | = |
refactor | 22 | 22 | = |
warning | 72 | 72 | = |
error | 29 | 29 | = |
% errors / warnings by module¶
module | error | warning | refactor | convention |
---|---|---|---|---|
subuserlib.classes.docker.dockerDaemon | 13.79 | 1.39 | 4.55 | 0.00 |
subuserlib.builtInCommands.remove-old-images | 6.90 | 0.00 | 0.00 | 0.00 |
subuserlib.classes.user | 3.45 | 6.94 | 4.55 | 0.00 |
subuserlib.classes.subusers | 3.45 | 6.94 | 0.00 | 0.00 |
subuserlib.verify | 3.45 | 5.56 | 0.00 | 0.00 |
subuserlib.builtInCommands.subuser | 3.45 | 4.17 | 50.00 | 0.00 |
subuserlib.classes.repository | 3.45 | 4.17 | 4.55 | 0.00 |
subuserlib.update | 3.45 | 4.17 | 0.00 | 0.00 |
subuserlib.classes.endUser | 3.45 | 2.78 | 0.00 | 50.00 |
subuserlib.classes.subuser | 3.45 | 1.39 | 4.55 | 0.00 |
subuserlib.print | 3.45 | 1.39 | 0.00 | 0.00 |
subuserlib.builtInCommands.repair | 3.45 | 1.39 | 0.00 | 0.00 |
subuserlib.classes.subuserSubmodules.run.runtime | 3.45 | 0.00 | 18.18 | 0.00 |
subuserlib.removeOldImages | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.classes.subuserSubmodules.run.x11Bridge | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.classes.registry | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.classes.permissionsAccepters.acceptPermissionsAtCLI | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.classes.imageSource | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.classes.docker.mockDockerDaemon | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.classes.docker.container | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.builtInCommands.update | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.builtInCommands.print-dependency-info | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.builtInCommands.pkg | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.builtInCommands.list | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.builtInCommands.describe | 3.45 | 0.00 | 0.00 | 0.00 |
subuserlib.docker | 0.00 | 8.33 | 0.00 | 0.00 |
subuserlib.classes.gitRepository | 0.00 | 6.94 | 0.00 | 0.00 |
subuserlib.classes.fileStructure | 0.00 | 6.94 | 0.00 | 0.00 |
subuserlib.lock | 0.00 | 5.56 | 0.00 | 0.00 |
subuserlib.builtInCommands.ps | 0.00 | 5.56 | 0.00 | 0.00 |
subuserlib.classes.repositories | 0.00 | 2.78 | 4.55 | 0.00 |
subuserlib.subuser | 0.00 | 2.78 | 0.00 | 0.00 |
subuserlib.executablePath | 0.00 | 2.78 | 0.00 | 0.00 |
subuserlib.classes.installationTask | 0.00 | 1.39 | 4.55 | 0.00 |
subuserlib.version | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.test | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.subprocessExtras | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.permissions | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.loadMultiFallbackJsonConfigFile | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.classes.subuserSubmodules.run.runtimeCache | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.classes.subuserSubmodules.run.runReadyImage | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.classes.service | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.classes.installedImages | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.classes.config | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.builtInCommands.version | 0.00 | 1.39 | 0.00 | 0.00 |
subuserlib.builtInCommands.repository | 0.00 | 1.39 | 0.00 | 0.00 |
Messages¶
message id | occurrences |
---|---|
unused-import | 30 |
import-error | 12 |
syntax-error | 10 |
no-name-in-module | 10 |
fixme | 9 |
cyclic-import | 6 |
super-init-not-called | 5 |
no-self-use | 5 |
no-member | 5 |
undefined-variable | 4 |
too-many-instance-attributes | 4 |
redefined-outer-name | 4 |
dangerous-default-value | 4 |
bad-indentation | 4 |
unused-argument | 3 |
redefined-builtin | 3 |
duplicate-code | 3 |
global-variable-not-assigned | 2 |
global-statement | 2 |
cell-var-from-loop | 2 |
abstract-class-not-used | 2 |
trailing-whitespace | 1 |
too-many-statements | 1 |
too-many-return-statements | 1 |
reimported | 1 |
old-style-class | 1 |
broad-except | 1 |
bare-except | 1 |
arguments-differ | 1 |
External dependencies¶
subuserlib
\-builtInCommands (subuserlib.commands)
\-classes
| \-config (subuserlib.classes.user)
| \-describable (subuserlib.classes.repository,subuserlib.classes.installedImage,subuserlib.classes.subuser)
| \-docker
| | \-container (subuserlib.classes.docker.dockerDaemon)
| | \-dockerDaemon (subuserlib.classes.installedImage,subuserlib.version,subuserlib.classes.user)
| \-endUser (subuserlib.classes.user)
| \-exceptions (subuserlib.classes.installationTask,subuserlib.classes.docker.dockerDaemon,subuserlib.verify,subuserlib.classes.subuserSubmodules.run.runReadyImage,subuserlib.subuser)
| \-fileBackedObject (subuserlib.classes.subuserSubmodules.run.runtimeCache,subuserlib.classes.permissions,subuserlib.classes.subusers,subuserlib.classes.installedImages,subuserlib.classes.repositories)
| \-fileStructure (subuserlib.classes.repository,subuserlib.classes.gitRepository)
| \-gitRepository (subuserlib.classes.repository,subuserlib.version)
| \-installationTask (subuserlib.verify)
| \-installedImage (subuserlib.classes.installationTask,subuserlib.classes.installedImages)
| \-installedImages (subuserlib.classes.user)
| \-permissions (subuserlib.classes.subuser)
| \-registry (subuserlib.classes.user)
| \-repository (subuserlib.resolve,subuserlib.classes.repositories,subuserlib.repository)
| \-subuser (subuserlib.verify,subuserlib.classes.subusers,subuserlib.subuser)
| \-subuserSubmodules
| | \-run
| | \-runReadyImage (subuserlib.classes.subuser)
| | \-runtime (subuserlib.classes.subuser)
| | \-runtimeCache (subuserlib.classes.subuser)
| \-uhttpConnection (subuserlib.classes.docker.dockerDaemon)
| \-user (subuserlib.builtInCommands.dev,subuserlib.builtInCommands.repository,subuserlib.update,subuserlib.builtInCommands.version,subuserlib.builtInCommands.subuser,subuserlib.builtInCommands.registry,subuserlib.builtInCommands.remove-old-images,subuserlib.builtInCommands.ps,subuserlib.test,subuserlib.builtInCommands.run,subuserlib.builtInCommands.repair,subuserlib.builtInCommands.update)
| \-userOwnedObject (subuserlib.classes.subuserSubmodules.run.runtimeCache,subuserlib.classes.config,subuserlib.classes.docker.container,subuserlib.classes.installationTask,subuserlib.classes.permissions,subuserlib.classes.docker.dockerDaemon,subuserlib.classes.installedImage,subuserlib.classes.subusers,subuserlib.classes.subuser,subuserlib.classes.repository,subuserlib.classes.subuserSubmodules.run.runReadyImage,subuserlib.classes.installedImages,subuserlib.classes.subuserSubmodules.run.runtime,subuserlib.classes.gitRepository,subuserlib.classes.service,subuserlib.classes.endUser,subuserlib.classes.repositories)
\-commandLineArguments (subuserlib.builtInCommands.dev,subuserlib.builtInCommands.repository,subuserlib.builtInCommands.version,subuserlib.builtInCommands.subuser,subuserlib.builtInCommands.registry,subuserlib.builtInCommands.remove-old-images,subuserlib.builtInCommands.repair,subuserlib.builtInCommands.run,subuserlib.builtInCommands.ps,subuserlib.builtInCommands.update)
\-docker (subuserlib.classes.subuserSubmodules.run.runReadyImage,subuserlib.classes.docker.dockerDaemon)
\-executablePath (subuserlib.docker,subuserlib.classes.gitRepository,subuserlib.paths,subuserlib.commands)
\-loadMultiFallbackJsonConfigFile (subuserlib.classes.config,subuserlib.classes.repositories)
\-paths (subuserlib.builtInCommands.dev,subuserlib.classes.config,subuserlib.classes.user,subuserlib.commands,subuserlib.version,subuserlib.loadMultiFallbackJsonConfigFile,subuserlib.classes.endUser,subuserlib.classes.repositories)
\-permissions (subuserlib.classes.permissions,subuserlib.classes.subuser)
\-profile (subuserlib.builtInCommands.dev,subuserlib.builtInCommands.repository,subuserlib.builtInCommands.version,subuserlib.builtInCommands.subuser,subuserlib.builtInCommands.registry,subuserlib.builtInCommands.remove-old-images,subuserlib.builtInCommands.repair,subuserlib.builtInCommands.run,subuserlib.builtInCommands.ps,subuserlib.builtInCommands.update)
\-registry (subuserlib.builtInCommands.registry)
\-repository (subuserlib.builtInCommands.repository)
\-resolve (subuserlib.builtInCommands.repository,subuserlib.subuser,subuserlib.repository)
\-subprocessExtras (subuserlib.docker)
\-subuser (subuserlib.builtInCommands.subuser)
\-test (subuserlib.classes.fileStructure,subuserlib.classes.user,subuserlib.version,subuserlib.classes.docker.dockerDaemon,subuserlib.classes.gitRepository,subuserlib.subprocessExtras,subuserlib.classes.subuserSubmodules.run.runtime,subuserlib.classes.endUser)
\-update (subuserlib.builtInCommands.update,subuserlib.subuser)
\-verify (subuserlib.update,subuserlib.builtInCommands.subuser,subuserlib.builtInCommands.repair,subuserlib.registry,subuserlib.subuser,subuserlib.classes.installationTask)
\-version (subuserlib.classes.repository,subuserlib.builtInCommands.version)