When the agent data model is created from the source code, it is possible to extract more information in order to describe agent's capabilities and constraints.
For example, it may be needed to extract programming language details and packages for a given agent to describe its runtime constraints.
Or, details about the agent's taxonomy may be needed to properly describe its capabilities, for example indicating whether an agent can perform network analysis or text summarization tasks.
You can read more about agent's capabilities in the Taxonomy of tasks section.
Information contained in this plugin can be leveraged by a custom search service implemented in the application layer to provide more detailed search results.
The Python analyzer is a tool that extracts the python version and an SBOM (Software Bill of Materials) from an agent written in Python. The plugin looks for the following 3 files in decreasing order of priority and stops at the first one found:
- The standard requires-python in the [project] section
- The python in the [tool.poetry.dependencies] section
- The python_version in the [requires] section
- Find the python version in python_requires with the following regex pattern:
regexPattern := `python_requires\s*=\s*['"]([^'"]+)['"]`