epignatelli / navix

Accelerated minigrid environments with JAX
Apache License 2.0
103 stars 7 forks source link

Improve the rendering performance and restructure entities to be more scalable #39

Closed epignatelli closed 1 year ago

github-actions[bot] commented 1 year ago
************* Module docs.performance
docs/performance.py:1:0: C0114: Missing module docstring (missing-module-docstring)
docs/performance.py:18:0: C0116: Missing function or method docstring (missing-function-docstring)
docs/performance.py:33:0: C0116: Missing function or method docstring (missing-function-docstring)
docs/performance.py:33:21: W0613: Unused argument 'seed' (unused-argument)
docs/performance.py:35:17: W0612: Unused variable 'info' (unused-variable)
docs/performance.py:38:21: W0612: Unused variable 'reward' (unused-variable)
docs/performance.py:49:8: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
docs/performance.py:60:10: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
docs/performance.py:64:8: W0108: Lambda may not be necessary (unnecessary-lambda)
docs/performance.py:69:10: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
docs/performance.py:5:0: C0411: third party import "import gymnasium as gym" should be placed before "import navix as nx" (wrong-import-order)
docs/performance.py:6:0: C0411: third party import "import minigrid" should be placed before "import navix as nx" (wrong-import-order)
docs/performance.py:7:0: C0411: standard import "import random" should be placed before "import jax" (wrong-import-order)
docs/performance.py:8:0: C0411: standard import "import time" should be placed before "import jax" (wrong-import-order)
docs/performance.py:10:0: C0411: standard import "from timeit import timeit" should be placed before "import jax" (wrong-import-order)
docs/performance.py:6:0: W0611: Unused import minigrid (unused-import)
************* Module navix
navix/__init__.py:1:0: C0114: Missing module docstring (missing-module-docstring)
************* Module navix._version
navix/_version.py:1:0: C0114: Missing module docstring (missing-module-docstring)
************* Module navix.actions
navix/actions.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/actions.py:151:0: W0622: Redefining built-in 'open' (redefined-builtin)
navix/actions.py:32:0: C0115: Missing class docstring (missing-class-docstring)
navix/actions.py:32:0: R0903: Too few public methods (0/2) (too-few-public-methods)
navix/actions.py:82:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/actions.py:93:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/actions.py:97:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/actions.py:101:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/actions.py:105:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/actions.py:110:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/actions.py:115:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/actions.py:120:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/actions.py:125:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/actions.py:126:7: E1101: Instance of 'str' has no 'value' member (no-member)
navix/actions.py:173:4: W0621: Redefining name 'open' from outer scope (line 151) (redefined-outer-name)
navix/actions.py:29:0: C0411: third party import "from jax_enums import Enumerable as Enum" should be placed before "from .entities import Entities, State" (wrong-import-order)
************* Module navix.components
navix/components.py:49:0: C0301: Line too long (101/100) (line-too-long)
navix/components.py:82:0: C0301: Line too long (112/100) (line-too-long)
navix/components.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/components.py:38:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/components.py:42:0: C0115: Missing class docstring (missing-class-docstring)
navix/components.py:43:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/components.py:43:25: W0613: Unused argument 'batched' (unused-argument)
navix/components.py:42:0: R0903: Too few public methods (1/2) (too-few-public-methods)
navix/components.py:47:0: C0115: Missing class docstring (missing-class-docstring)
navix/components.py:47:0: R0903: Too few public methods (1/2) (too-few-public-methods)
navix/components.py:52:0: C0115: Missing class docstring (missing-class-docstring)
navix/components.py:52:0: R0903: Too few public methods (1/2) (too-few-public-methods)
navix/components.py:57:0: C0115: Missing class docstring (missing-class-docstring)
navix/components.py:57:0: R0903: Too few public methods (1/2) (too-few-public-methods)
navix/components.py:62:0: C0115: Missing class docstring (missing-class-docstring)
navix/components.py:62:0: R0903: Too few public methods (1/2) (too-few-public-methods)
navix/components.py:69:0: C0115: Missing class docstring (missing-class-docstring)
navix/components.py:69:0: R0903: Too few public methods (1/2) (too-few-public-methods)
navix/components.py:74:0: C0115: Missing class docstring (missing-class-docstring)
navix/components.py:74:0: R0903: Too few public methods (1/2) (too-few-public-methods)
navix/components.py:79:0: C0115: Missing class docstring (missing-class-docstring)
navix/components.py:86:0: C0115: Missing class docstring (missing-class-docstring)
navix/components.py:88:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/components.py:28:0: C0411: standard import "import dataclasses" should be placed before "from jax import Array" (wrong-import-order)
************* Module navix.config
navix/config.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/config.py:4:0: C0115: Missing class docstring (missing-class-docstring)
navix/config.py:6:8: C0103: Attribute name "ARRAY_CHECKS_ENABLED" doesn't conform to snake_case naming style (invalid-name)
navix/config.py:8:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/config.py:11:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/config.py:12:8: C2801: Unnecessarily calls dunder method __init__. Instantiate class directly. (unnecessary-dunder-call)
************* Module navix.entities
navix/entities.py:63:0: C0301: Line too long (103/100) (line-too-long)
navix/entities.py:218:0: C0301: Line too long (105/100) (line-too-long)
navix/entities.py:219:0: C0301: Line too long (112/100) (line-too-long)
navix/entities.py:244:0: C0301: Line too long (111/100) (line-too-long)
navix/entities.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/entities.py:28:0: C0115: Missing class docstring (missing-class-docstring)
navix/entities.py:28:0: R0903: Too few public methods (0/2) (too-few-public-methods)
navix/entities.py:71:15: E1101: Instance of 'Field' has no 'shape' member (no-member)
navix/entities.py:71:37: E1101: Instance of 'Field' has no 'ndim' member (no-member)
navix/entities.py:74:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:78:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:86:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:102:34: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:114:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:132:34: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:148:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:165:34: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:170:30: E1101: Instance of 'Field' has no 'shape' member (no-member)
navix/entities.py:184:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:187:8: C0103: Argument name "id" doesn't conform to snake_case naming style (invalid-name)
navix/entities.py:187:8: W0622: Redefining built-in 'id' (redefined-builtin)
navix/entities.py:201:34: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:206:30: E1101: Instance of 'Field' has no 'shape' member (no-member)
navix/entities.py:225:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:230:8: W0622: Redefining built-in 'open' (redefined-builtin)
navix/entities.py:244:34: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:249:30: E1101: Instance of 'Field' has no 'shape' member (no-member)
navix/entities.py:271:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:274:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:278:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:279:33: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:281:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:282:22: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:285:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:286:29: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:288:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:290:22: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:288:41: W0613: Unused argument 'idx' (unused-argument)
navix/entities.py:293:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:294:29: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:296:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:297:22: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:300:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:301:29: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:303:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:304:22: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:307:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:308:29: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:310:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:311:22: E1101: Instance of 'str' has no 'value' member (no-member)
navix/entities.py:314:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:317:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:320:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:323:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/entities.py:9:0: C0412: Imports from package jax are not grouped (ungrouped-imports)
navix/entities.py:3:0: W0611: Unused Type imported from typing (unused-import)
************* Module navix.environments.environment
navix/environments/environment.py:54:0: C0301: Line too long (105/100) (line-too-long)
navix/environments/environment.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/environments/environment.py:39:0: C0115: Missing class docstring (missing-class-docstring)
navix/environments/environment.py:48:0: C0115: Missing class docstring (missing-class-docstring)
navix/environments/environment.py:48:0: R0903: Too few public methods (0/2) (too-few-public-methods)
navix/environments/environment.py:65:0: C0115: Missing class docstring (missing-class-docstring)
navix/environments/environment.py:81:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/environments/environment.py:84:4: W0102: Dangerous default value ACTIONS (builtins.dict) as argument (dangerous-default-value)
navix/environments/environment.py:98:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/environments/environment.py:98:4: W0102: Dangerous default value ACTIONS (builtins.dict) as argument (dangerous-default-value)
navix/environments/environment.py:108:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/environments/environment.py:111:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/environments/environment.py:114:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/environments/environment.py:115:62: C0103: Argument name "t" doesn't conform to snake_case naming style (invalid-name)
************* Module navix.environments.keydoor
navix/environments/keydoor.py:15:0: C0301: Line too long (106/100) (line-too-long)
navix/environments/keydoor.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/environments/keydoor.py:14:0: C0115: Missing class docstring (missing-class-docstring)
navix/environments/keydoor.py:15:4: R0914: Too many local variables (29/15) (too-many-locals)
navix/environments/keydoor.py:20:13: C0103: Variable name "k1" doesn't conform to snake_case naming style (invalid-name)
navix/environments/keydoor.py:20:17: C0103: Variable name "k2" doesn't conform to snake_case naming style (invalid-name)
navix/environments/keydoor.py:20:21: C0103: Variable name "k3" doesn't conform to snake_case naming style (invalid-name)
navix/environments/keydoor.py:20:25: C0103: Variable name "k4" doesn't conform to snake_case naming style (invalid-name)
navix/environments/keydoor.py:4:0: C0411: standard import "from typing import Union" should be placed before "import jax" (wrong-import-order)
************* Module navix.environments.room
navix/environments/room.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/environments/room.py:36:0: C0115: Missing class docstring (missing-class-docstring)
navix/environments/room.py:40:13: C0103: Variable name "k1" doesn't conform to snake_case naming style (invalid-name)
navix/environments/room.py:40:17: C0103: Variable name "k2" doesn't conform to snake_case naming style (invalid-name)
navix/environments/room.py:57:12: E1101: Instance of 'str' has no 'value' member (no-member)
navix/environments/room.py:58:12: E1101: Instance of 'str' has no 'value' member (no-member)
navix/environments/room.py:22:0: W0611: Unused Callable imported from typing (unused-import)
************* Module navix.graphics
navix/graphics.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/graphics.py:53:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:101:0: C0115: Missing class docstring (missing-class-docstring)
navix/graphics.py:106:4: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:101:0: R0903: Too few public methods (1/2) (too-few-public-methods)
navix/graphics.py:121:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:125:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
navix/graphics.py:131:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:137:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:146:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:152:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:158:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:164:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:176:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:192:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:206:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:215:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:215:0: R0914: Too many local variables (17/15) (too-many-locals)
navix/graphics.py:221:4: C0103: Variable name "y" doesn't conform to snake_case naming style (invalid-name)
navix/graphics.py:221:7: C0103: Variable name "x" doesn't conform to snake_case naming style (invalid-name)
navix/graphics.py:251:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:257:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:262:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:268:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:332:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:332:0: W0102: Dangerous default value SPRITES_REGISTRY (builtins.dict) as argument (dangerous-default-value)
navix/graphics.py:352:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/graphics.py:370:0: C0116: Missing function or method docstring (missing-function-docstring)
************* Module navix.grid
navix/grid.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/grid.py:34:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:38:38: W0621: Redefining name 'coordinates' from outer scope (line 34) (redefined-outer-name)
navix/grid.py:71:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:83:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:87:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:91:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:95:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:99:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:112:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:113:32: C0103: Argument name "n" doesn't conform to snake_case naming style (invalid-name)
navix/grid.py:123:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:123:37: C0103: Argument name "n" doesn't conform to snake_case naming style (invalid-name)
navix/grid.py:127:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:127:20: C0103: Argument name "a" doesn't conform to snake_case naming style (invalid-name)
navix/grid.py:127:30: C0103: Argument name "b" doesn't conform to snake_case naming style (invalid-name)
navix/grid.py:156:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:156:0: R0914: Too many local variables (17/15) (too-many-locals)
navix/grid.py:162:8: C0103: Variable name "d" doesn't conform to snake_case naming style (invalid-name)
navix/grid.py:204:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:227:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/grid.py:227:0: W0102: Dangerous default value {} as argument (dangerous-default-value)
************* Module navix.observations
navix/observations.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/observations.py:33:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/observations.py:34:4: W0613: Unused argument 'state' (unused-argument)
navix/observations.py:39:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/observations.py:53:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/observations.py:77:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/observations.py:100:0: C0116: Missing function or method docstring (missing-function-docstring)
************* Module navix.tasks
navix/tasks.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/tasks.py:32:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/tasks.py:35:12: C0103: Variable name "fn" doesn't conform to snake_case naming style (invalid-name)
navix/tasks.py:42:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/tasks.py:42:9: W0613: Unused argument 'state' (unused-argument)
navix/tasks.py:46:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/tasks.py:46:15: W0613: Unused argument 'prev_state' (unused-argument)
navix/tasks.py:46:34: W0613: Unused argument 'action' (unused-argument)
navix/tasks.py:64:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/tasks.py:65:4: W0613: Unused argument 'prev_state' (unused-argument)
navix/tasks.py:65:38: W0613: Unused argument 'new_state' (unused-argument)
navix/tasks.py:71:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/tasks.py:72:4: W0613: Unused argument 'prev_state' (unused-argument)
navix/tasks.py:72:23: W0613: Unused argument 'action' (unused-argument)
navix/tasks.py:72:38: W0613: Unused argument 'new_state' (unused-argument)
navix/tasks.py:78:0: C0116: Missing function or method docstring (missing-function-docstring)
************* Module navix.terminations
navix/terminations.py:1:0: C0114: Missing module docstring (missing-module-docstring)
navix/terminations.py:29:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/terminations.py:34:0: C0116: Missing function or method docstring (missing-function-docstring)
navix/terminations.py:34:29: W0613: Unused argument 'prev_state' (unused-argument)
navix/terminations.py:34:48: W0613: Unused argument 'action' (unused-argument)
************* Module grid
tests/performance/grid.py:1:0: C0114: Missing module docstring (missing-module-docstring)
tests/performance/grid.py:15:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/performance/grid.py:28:10: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/performance/grid.py:35:10: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/performance/grid.py:39:8: W0108: Lambda may not be necessary (unnecessary-lambda)
************* Module observations
tests/performance/observations.py:1:0: C0114: Missing module docstring (missing-module-docstring)
tests/performance/observations.py:15:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/performance/observations.py:44:8: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/performance/observations.py:57:10: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/performance/observations.py:61:8: W0108: Lambda may not be necessary (unnecessary-lambda)
************* Module profiling
tests/performance/profiling.py:1:0: C0114: Missing module docstring (missing-module-docstring)
tests/performance/profiling.py:11:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/performance/profiling.py:11:0: C0103: Function name "f" doesn't conform to snake_case naming style (invalid-name)
tests/performance/profiling.py:14:4: W0621: Redefining name 'timestep' from outer scope (line 52) (redefined-outer-name)
tests/performance/profiling.py:22:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/performance/profiling.py:25:4: W0621: Redefining name 'timestep' from outer scope (line 52) (redefined-outer-name)
tests/performance/profiling.py:27:24: C0103: Argument name "x" doesn't conform to snake_case naming style (invalid-name)
tests/performance/profiling.py:28:8: W0621: Redefining name 'timestep' from outer scope (line 52) (redefined-outer-name)
tests/performance/profiling.py:27:24: W0613: Unused argument 'x' (unused-argument)
tests/performance/profiling.py:4:0: C0411: standard import "import time" should be placed before "import jax" (wrong-import-order)
tests/performance/profiling.py:4:0: W0611: Unused import time (unused-import)
************* Module tests.test_actions
tests/test_actions.py:1:0: C0114: Missing module docstring (missing-module-docstring)
tests/test_actions.py:10:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_actions.py:21:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:34:12: W0212: Access to a protected member _rotate of a client class (protected-access)
tests/test_actions.py:39:12: W0212: Access to a protected member _rotate of a client class (protected-access)
tests/test_actions.py:44:12: W0212: Access to a protected member _rotate of a client class (protected-access)
tests/test_actions.py:49:12: W0212: Access to a protected member _rotate of a client class (protected-access)
tests/test_actions.py:10:0: R1711: Useless return at end of function or method (useless-return)
tests/test_actions.py:56:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_actions.py:79:4: W0105: String statement has no effect (pointless-string-statement)
tests/test_actions.py:87:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:88:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:89:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:90:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:56:0: R0915: Too many statements (57/50) (too-many-statements)
tests/test_actions.py:154:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_actions.py:178:4: W0105: String statement has no effect (pointless-string-statement)
tests/test_actions.py:190:12: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:191:12: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:192:12: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:193:12: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:202:19: W0212: Access to a protected member _walkable of a client class (protected-access)
tests/test_actions.py:204:11: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:214:19: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:239:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_actions.py:258:4: W0105: String statement has no effect (pointless-string-statement)
tests/test_actions.py:266:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:267:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:268:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:269:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:283:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:296:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:302:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:305:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_actions.py:335:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:336:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:337:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:338:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_actions.py:354:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:364:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:376:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:387:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:398:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:407:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:416:7: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
tests/test_actions.py:305:0: R0915: Too many statements (52/50) (too-many-statements)
************* Module tests.test_entities
tests/test_entities.py:1:0: C0114: Missing module docstring (missing-module-docstring)
tests/test_entities.py:8:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_entities.py:19:0: C0116: Missing function or method docstring (missing-function-docstring)
************* Module tests.test_environments
tests/test_environments.py:86:0: C0304: Final newline missing (missing-final-newline)
tests/test_environments.py:1:0: C0114: Missing module docstring (missing-module-docstring)
tests/test_environments.py:6:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_environments.py:7:4: C0103: Function name "f" doesn't conform to snake_case naming style (invalid-name)
tests/test_environments.py:36:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_environments.py:37:4: C0103: Function name "f" doesn't conform to snake_case naming style (invalid-name)
tests/test_environments.py:74:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_environments.py:74:0: R1711: Useless return at end of function or method (useless-return)
tests/test_environments.py:78:4: W0612: Unused variable 'timestep' (unused-variable)
************* Module tests.test_observations
tests/test_observations.py:1:0: C0114: Missing module docstring (missing-module-docstring)
tests/test_observations.py:9:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_observations.py:9:0: R0914: Too many local variables (20/15) (too-many-locals)
tests/test_observations.py:78:4: W0622: Redefining built-in 'open' (redefined-builtin)
tests/test_observations.py:28:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:29:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:30:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:31:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:44:19: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:57:8: C0103: Variable name "x" doesn't conform to snake_case naming style (invalid-name)
tests/test_observations.py:58:8: C0103: Variable name "y" doesn't conform to snake_case naming style (invalid-name)
tests/test_observations.py:64:38: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:69:55: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:73:54: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:80:36: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:87:36: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:9:0: R1711: Useless return at end of function or method (useless-return)
tests/test_observations.py:93:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_observations.py:111:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:112:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:113:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_observations.py:114:8: E1101: Instance of 'str' has no 'value' member (no-member)
************* Module tests.test_terminations
tests/test_terminations.py:1:0: C0114: Missing module docstring (missing-module-docstring)
tests/test_terminations.py:8:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_terminations.py:16:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_terminations.py:17:8: E1101: Instance of 'str' has no 'value' member (no-member)
tests/test_terminations.py:40:0: C0116: Missing function or method docstring (missing-function-docstring)
tests/test_terminations.py:1:0: R0801: Similar lines in 2 files
==navix.environments.keydoor:[76:87]
==navix.environments.room:[58:71]
        }

        # systems
        state = State(
            key=key,
            grid=grid,
            cache=cache or RenderingCache.init(grid),
            entities=entities,
        )

        return Timestep(
            t=jnp.asarray(0, dtype=jnp.int32),
            observation=self.observation(state), (duplicate-code)
tests/test_terminations.py:1:0: R0801: Similar lines in 2 files
==grid:[37:47]
==observations:[59:69]
    res = repeat(
        lambda: test_jit(seeds).observation.block_until_ready(),
        number=N_TIMEIT_LOOPS,
        repeat=N_REPEAT,
    )
    res = jnp.asarray(res)
    print(f"\t {jnp.mean(res)} ± {jnp.std(res)}")

if __name__ == "__main__": (duplicate-code)

Report
======
1352 statements analysed.

Statistics by type
------------------

+---------+-------+-----------+-----------+------------+---------+
|type     |number |old number |difference |%documented |%badname |
+=========+=======+===========+===========+============+=========+
|module   |23     |NC         |NC         |0.00        |0.00     |
+---------+-------+-----------+-----------+------------+---------+
|class    |25     |NC         |NC         |28.00       |0.00     |
+---------+-------+-----------+-----------+------------+---------+
|method   |62     |NC         |NC         |46.77       |0.00     |
+---------+-------+-----------+-----------+------------+---------+
|function |93     |NC         |NC         |19.35       |3.23     |
+---------+-------+-----------+-----------+------------+---------+

External dependencies
---------------------
::

    minigrid (docs.performance)
    navix (docs.performance,grid,observations,profiling,tests.test_actions,tests.test_entities,tests.test_environments,tests.test_observations,tests.test_terminations)
      \-actions (navix.environments.environment)
      \-components (navix.environments.keydoor,navix.environments.room,tests.test_actions,tests.test_observations,tests.test_terminations)
      \-entities (navix.environments.environment,navix.environments.keydoor,navix.environments.room,tests.test_actions,tests.test_entities,tests.test_observations)
      \-graphics (navix.environments.environment,navix.environments.keydoor,navix.environments.room)
      \-grid (navix.environments.keydoor,navix.environments.room)
      \-observations (navix.environments.environment)
      \-tasks (navix.environments.environment)
      \-terminations (navix.environments.environment)

2901 lines have been analyzed

Raw metrics
-----------

+----------+-------+------+---------+-----------+
|type      |number |%     |previous |difference |
+==========+=======+======+=========+===========+
|code      |1919   |66.15 |NC       |NC         |
+----------+-------+------+---------+-----------+
|docstring |78     |2.69  |NC       |NC         |
+----------+-------+------+---------+-----------+
|comment   |313    |10.79 |NC       |NC         |
+----------+-------+------+---------+-----------+
|empty     |591    |20.37 |NC       |NC         |
+----------+-------+------+---------+-----------+

Duplication
-----------

+-------------------------+------+---------+-----------+
|                         |now   |previous |difference |
+=========================+======+=========+===========+
|nb duplicated lines      |0     |NC       |NC         |
+-------------------------+------+---------+-----------+
|percent duplicated lines |0.000 |NC       |NC         |
+-------------------------+------+---------+-----------+

Messages by category
--------------------

+-----------+-------+---------+-----------+
|type       |number |previous |difference |
+===========+=======+=========+===========+
|convention |211    |NC       |NC         |
+-----------+-------+---------+-----------+
|refactor   |22     |NC       |NC         |
+-----------+-------+---------+-----------+
|warning    |46     |NC       |NC         |
+-----------+-------+---------+-----------+
|error      |57     |NC       |NC         |
+-----------+-------+---------+-----------+

Messages
--------

+---------------------------+------------+
|message id                 |occurrences |
+===========================+============+
|missing-function-docstring |108         |
+---------------------------+------------+
|no-member                  |57          |
+---------------------------+------------+
|missing-module-docstring   |23          |
+---------------------------+------------+
|invalid-name               |23          |
+---------------------------+------------+
|consider-using-f-string    |19          |
+---------------------------+------------+
|missing-class-docstring    |18          |
+---------------------------+------------+
|unused-argument            |15          |
+---------------------------+------------+
|too-few-public-methods     |11          |
+---------------------------+------------+
|wrong-import-order         |9           |
+---------------------------+------------+
|line-too-long              |8           |
+---------------------------+------------+
|redefined-outer-name       |5           |
+---------------------------+------------+
|protected-access           |5           |
+---------------------------+------------+
|unused-import              |4           |
+---------------------------+------------+
|too-many-locals            |4           |
+---------------------------+------------+
|redefined-builtin          |4           |
+---------------------------+------------+
|dangerous-default-value    |4           |
+---------------------------+------------+
|useless-return             |3           |
+---------------------------+------------+
|unused-variable            |3           |
+---------------------------+------------+
|unnecessary-lambda         |3           |
+---------------------------+------------+
|pointless-string-statement |3           |
+---------------------------+------------+
|too-many-statements        |2           |
+---------------------------+------------+
|duplicate-code             |2           |
+---------------------------+------------+
|unnecessary-dunder-call    |1           |
+---------------------------+------------+
|ungrouped-imports          |1           |
+---------------------------+------------+
|missing-final-newline      |1           |
+---------------------------+------------+

-----------------------------------
Your code has been rated at 5.83/10