Skip to main content

Find unused parts of your Robot Framework project

Project description

Robot Framework Find Unused

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

Installation

Install with pip

pip install robotframework-find-unused

How to use

This is a command-line tool.

  1. Open a command line in your Robot Framework project

  2. Run the following command to show available options:

    robotunused --help
    

Find unused keywords

Keywords command demo gif

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 keywords

Please note that there are limitations. For an overview of current limitations, run the following command:

robotunused keywords --help

Available options

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

Find unused keyword arguments

Arguments command demo gif

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 arguments

Please note that there are limitations. For an overview of current limitations, run the following command:

robotunused arguments --help

Available options

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

Find unused keyword return statements

Returns command demo gif

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 returns

Please note that there are limitations. For an overview of current limitations, run the following command:

robotunused returns --help

Available options

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

Find unused global variables

Variables command demo gif

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 variables

Please note that there are limitations. For an overview of current limitations, run the following command:

robotunused variables --help

Available options

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

Find unused files

Files command demo gif

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 files

Please note that there are limitations. For an overview of current limitations, run the following command:

robotunused files --help

Available options

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

Limitations

Every command has limitations. To see an up-to-date list of limitations for each command, use the --help flag. Every limitation also has a Github issue. If you find a limitation without issue, it's a bug or knowledge gap. Please open an issue so it can be addressed.

The following is a list of generic limitations. These limitations apply to all commands.

Generic limitation 1: Less used filetypes are ignored

Find Unused supports .robot, .resource, and .py files. It also supports .json, .yaml, and .py variables files.

Anything else is unsupported. This includes older filetypes (like .html and .tsv) and less used filetypes (like .rst and rbt).

Generic limitation 2: No localization

Robot Framework supports localization. Find unused does not support it. Any language other than English will produce unexpected results.

Contributing

I'm open to contributions. Please contact me in the issues.

When contributing, you'll need uv to manage dependencies.

Linting

You can't merge with lint issues. This is enforced by the pipeline.

To run the linter, use the following command:

uv run ruff check

Testing

You can't merge with failing tests. This is enforced by the pipeline.

To run all tests, use the following command:

uv run pytest -n auto

Tasks

To manage various things, we use Invoke as a task runner.

To get a full list of available tasks, run:

uv run invoke --list

To run a task, run:

uv run invoke build

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework_find_unused-0.9.0.tar.gz (43.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robotframework_find_unused-0.9.0-py3-none-any.whl (81.3 kB view details)

Uploaded Python 3

File details

Details for the file robotframework_find_unused-0.9.0.tar.gz.

File metadata

  • Download URL: robotframework_find_unused-0.9.0.tar.gz
  • Upload date:
  • Size: 43.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for robotframework_find_unused-0.9.0.tar.gz
Algorithm Hash digest
SHA256 96d12afecb75dc7a8f19f6b3d160ada32a6f47ec6e338a2d69bd96b3abab6b65
MD5 167fd6a023a7f3f66e1a25b98a5335b9
BLAKE2b-256 4ed1690de7310835f211c643de47e0c2c60908b664df0b8f8250800139f528bc

See more details on using hashes here.

File details

Details for the file robotframework_find_unused-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: robotframework_find_unused-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 81.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for robotframework_find_unused-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ea2f7e56b0ddced6cf94586cc964e9c334722428ebd63f303aecec2f9cf6f35
MD5 7ebf79b4ef5fe799ccd0bd553089af88
BLAKE2b-256 9e52552960d0351ea391e7cb1dfbd68dd2938f3a496788399e421dada710bc6a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page