Find unused parts of your Robot Framework project.
Robocop is great at finding unused parts in a single file. Find unused finds unused parts across all your project files.
Allows you to find unused:
- Keywords
- Keyword arguments
- Keyword return statements
- Global variables
- Files
Install with pip
pip install robotframework-find-unusedThis is a command-line tool.
-
Open a command line in your Robot Framework project
-
Run the following command to show available options:
robotunused --help
Walk through your .robot, .resource, and .py files. In those files, count how often each
keyword is used (called). Keywords with 0 uses are logged.
robotunused keywordsPlease note that there are limitations. For an overview of current limitations, run the following command:
robotunused keywords --help| flag | option | default | description |
|---|---|---|---|
-c, --show-count |
Output usage count for all keywords instead of only unused keywords | ||
-f, --filter |
Glob pattern | Only output keywords who's name match the glob pattern. Match without library prefix | |
-d, --deprecated |
include / exclude / only |
include |
How to output deprecated keywords |
-p, --private |
include / exclude / only |
include |
How to output private keywords |
-l, --library |
include / exclude / only |
exclude |
How to output keywords from downloaded libraries |
-u, --unused-library |
include / exclude |
exclude |
How to output unused keywords from downloaded libraries |
-v, --verbose |
Show more log output. When provided twice: Show even more log output |
Walk through your .robot, .resource, and .py files. In those files, count how often each
argument is used during a keyword call. Arguments with 0 uses are logged.
By default, will ignore arguments from unused keywords.
robotunused argumentsPlease note that there are limitations. For an overview of current limitations, run the following command:
robotunused arguments --help| flag | option | default | description |
|---|---|---|---|
-c, --show-count |
Show usage count for all arguments instead of only unused arguments | ||
-f, --filter |
Glob pattern | Only output keywords who's name match the glob pattern. Match without library prefix | |
-d, --deprecated |
include / exclude / only |
include |
How to output deprecated keywords |
-p, --private |
include / exclude / only |
include |
How to output private keywords |
-l, --library |
include / exclude / only |
exclude |
How to output keywords from downloaded libraries |
-u, --unused |
include / exclude / only |
exclude |
How to output unused keywords |
-v, --verbose |
Show more log output. When provided twice: Show even more log output |
Walk through your .robot, .resource, and .py files. In those files, count how often each
keyword return value is used (assigned to a variable). Keywords whose return value is never useds
are logged.
By default, will ignore arguments from unused keywords.
robotunused returnsPlease note that there are limitations. For an overview of current limitations, run the following command:
robotunused returns --help| flag | option | default | description |
|---|---|---|---|
-c, --show-count |
Output usage count for all keywords instead of only keywords with unused returns | ||
-f, --filter |
Glob pattern | Only output keywords who's name match the glob pattern. Match without library prefix | |
-d, --deprecated |
include / exclude / only |
include |
How to output deprecated keywords |
-p, --private |
include / exclude / only |
include |
How to output private keywords |
-l, --library |
include / exclude / only |
exclude |
How to output keywords from downloaded libraries |
-u, --unused |
include / exclude / only |
exclude |
How to output unused keywords |
-v, --verbose |
Show more log output. When provided twice: Show even more log output |
Walk through your .robot and .resource files. In those files, count how often each
variable is used. Variables defined in a variables section or variable file with 0 uses are logged.
robotunused variablesPlease note that there are limitations. For an overview of current limitations, run the following command:
robotunused variables --help| flag | option | default | description |
|---|---|---|---|
-c, --show-count |
Show usage count for all variables instead of only unused variables | ||
-f, --filter |
Glob pattern | Only show variables who's name match the glob pattern. Matching without {brackets} and $@&% prefixes | |
-v, --verbose |
Show more log output. When provided twice: Show even more log output |
For each of your .robot files, follow the full chain of imports. Files that are never (indirectly)
imported by a .robot file are logged.
robotunused filesPlease note that there are limitations. For an overview of current limitations, run the following command:
robotunused files --help| flag | option | default | description |
|---|---|---|---|
-c, --show-count |
Show usage count for all files instead of only unused variables | ||
-t, --show-tree |
Also show full import tree for every .robot file |
||
--tree-max-depth |
Positive integer | None |
Only when --show-tree: Limit import tree depth |
--tree-max-height |
Positive integer | None |
Only when --show-tree: Limit import tree height |
-f, --filter |
Glob pattern | Only show files who's path matches the glob pattern. When used with --show-tree: Only show trees for suite files that match the glob pattern. |
|
-r, --resource |
include / exclude / only |
include |
How to output resource file imports |
-l, --library |
include / exclude / only |
include |
How to output (custom) library file imports |
-V, --variable |
include / exclude / only |
include |
How to output variable file imports |
-u, --unused |
include / exclude / only |
include |
How to output unused file imports |
-v, --verbose |
Show more log output. When provided twice: Show even more log output |
I'm open to contributions. Please contact me in the issues.
When contributing, you'll need uv to manage dependencies.
You can't merge with lint issues. This is enforced by the pipeline.
To run the linter, use the following command:
uv run ruff checkYou can't merge with failing tests. This is enforced by the pipeline.
To run all tests, use the following command:
uv run pytest -n autoTo manage various things, we use Invoke as a task runner.
To get a full list of available tasks, run:
uv run invoke --listTo run a task, run:
uv run invoke build



