Listing IPs in IPLM Core
Listing IPs using CLI
The pi ip list
command can be used from the command line interface to list and filter IPs in the system. It is the equivalent of the IP catalog on IPLM Web and can list IPs filtered by Library, IP Name, Line, Version, label and Aliases.
pi ip list Command
> pi ip list -h Usage: pi ip list [-h] [--format {csv,json,long,table,template} | --verbose] [--model MODEL] [--all | --max MAX] [--limit LIMIT] [--contents] [--label LABEL [LABEL ...]] [--match-substring MATCH_SUBSTRING | --query QUERY | --squery SQUERY] [identifier [identifier ...]] Description: List all matching IP. A variety of format and filtering options are supported. Positional arguments: identifier Filter IP by name. Optional arguments: --all, -a Include all IP Versions (IPVs), equivalent to --max 0. --contents Display a list of all files and the version of each file for the specified IP. This can generate a LOT of output if an IP contains a large number of files. --format {csv,json,long,table,template} Return the results using the specified data structure. The template format produces files that can be used by the pi add|edit commands with the --template option. --limit LIMIT Limit the output to the specified number of records --match-substring MATCH_SUBSTRING, -m MATCH_SUBSTRING Filter by matching substring. All fields in the output are considered --max MAX Include at most MAX IP Versions (IPVs). --model MODEL Use the specified report model (table report only). --query QUERY, -q QUERY Filter using the Helix IPLM Query Language. --squery SQUERY, -sq SQUERY Filter using a Saved Helix IPLM Query. --verbose, -v Alias for --format long. -h, --help Show this help message and exit Filters: --label LABEL [LABEL ...] Filter by IP Label. Examples: # List all latest versions of all IP pi ip list # List all latest versions of IP foo.bar pi ip list foo.bar # Show five most recent foo.bar versions pi ip list --max 5 foo.bar # List all latest versions of all IP in library foo pi ip list foo.
Controlling the number of IPVs displayed
By default only the latest IPV in each line is displayed by 'pi ip list' additional releases per line can be shown via these options
Command Option | Description |
---|---|
--all, -a | By default only the latest release on each line will be returned. This option will show all IP Versions (IPVs) on a line, equivalent to --max 0. |
--max MAX | Return at most MAX number of IP Versions (IPVs) on a line. --max 0 will display all the IPVs on each line, equivalent to --all |
Limiting the number of results
The maximum number of results returned from pi ip list is controlled by the 'max_list_records_limit' setting in piclient.conf. See the Client Configuration section for more information on configuration with piclient.conf.
The following option can be used to override the default 'max_list_records_limit' setting:
Command Option | Description |
---|---|
--limit LIMIT | Limit the output to the specified number of records. This setting will override the piclient.conf setting if provided. Using --limit 0 will return all records. |
If all existing records are not returned due to a limit being reached (whether from the piclient.conf setting or from the --limit option) the command output will provide a description of how many records were returned out of the total.
Configuring the output format
Helix IPLM can display the list output in a number of different formats
Command Option | Format | Description |
---|---|---|
--format | table | The default format option, a list of values in table format. |
template | Lists the IPV in the 'pi ip edit' CLI template format. The template format returns at most one result, assuming line TRUNK and the latest IPV on the line if those fields are not provided. | |
long | Displays detailed information about the IPV, equivalent to --verbose, v output | |
json | Display the list of IPVs in json format. Combine with --contents option to include the file contents of the IPV. Note that the Helix IPLM API should be used for scripting purposes. | |
csv | Display the list of IPVs in comma separated value format. | |
--verbose, -v |
|
Displays detailed information about the IPV, equivalent to --format long output |
--contents |
|
Display file contents of the IPV. Without a --format option display is equivalent to --verbose, -v Add to --format json to include the file list in the JSON output. |
--model MODEL |
|
Display a custom table format MODEL defined in piclient.conf. See here for more information on configuring display models. |
Searching with a Substring match
The "--match-substring" option is provided as a simple to access search across all fields of the IP. Note that using the match substring option is preferred to running an unfiltered list and piping the results through a command like grep. The reason for this is that "--match-substring" will filter the results earlier in the process, and avoid sending unnecessarily large data sets over the network.
Command Option | Description |
---|---|
--match-substring MATCH_SUBSTRING |
simple search across all fields of the IP. Cannot be combined with -q or -sq (query and Saved query searches. |
Filtering search results
IP search results can be filtered by Label. See the Labels section for more information.
Command Option | Description |
---|---|
--label LABEL [LABEL ...] | Filter the results by the specified Label(s) |
Running queries
See the page Querying IPs in the System for more details on using queries.
Command Option | Description |
---|---|
--query QUERY, -q QUERY |
Search using a Helix IPLM query language expression Can not be combined with --match-substring search |
--squery SQUERY, -sq SQUERY |
Search using a saved Helix IPLM query language expression Can not be combined with --match-substring search |
CLI examples
Filtering by FQN
With no options and a FQN missing a version number but including a line specifier, the latest IPV on the lineIPV formatted as a table:
> pi ip list tutorial.padring@.TRUNK ┌───────────────────────────┬────┬─────────────┬────────────┬───────────────────────────────┬──────────────────────┐ │ NAME │ DM │ ALIASES │ CREATED BY │ CREATED ON │ VERSION MESSAGE │ ╞═══════════════════════════╪════╪═════════════╪════════════╪═══════════════════════════════╪══════════════════════╡ │ tutorial.padring@10.TRUNK │ P4 │ HEAD LATEST │ admin │ 2020-03-23 19:12:27 -0700 PDT │ new tutorial release │ └───────────────────────────┴────┴─────────────┴────────────┴───────────────────────────────┴──────────────────────┘ Found 1 matching object(s).
Leaving out both version and line returns the latest version of all the lines on the IP:
> pi ip list tutorial.padring ┌───────────────────────────┬────┬─────────────┬────────────┬───────────────────────────────┬──────────────────────┐ │ NAME │ DM │ ALIASES │ CREATED BY │ CREATED ON │ VERSION MESSAGE │ ╞═══════════════════════════╪════╪═════════════╪════════════╪═══════════════════════════════╪══════════════════════╡ │ tutorial.padring@1.L1 │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:15:39 -0800 PST │ padring L1 release │ │ tutorial.padring@1.L2 │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:15:48 -0800 PST │ padring L2 release │ │ tutorial.padring@1.L3 │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:15:57 -0800 PST │ padring L3 release │ │ tutorial.padring@1.L4 │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:16:08 -0800 PST │ padring L4 release │ │ tutorial.padring@10.TRUNK │ P4 │ HEAD LATEST │ admin │ 2020-03-23 19:12:27 -0700 PDT │ new tutorial release │ └───────────────────────────┴────┴─────────────┴────────────┴───────────────────────────────┴──────────────────────┘ Found 5 matching object(s).
Leaving out all but the Library will return the latest version of each line of each IP in the Library (note the period following the Library name, this indicates all the IPs in the Library):
> pi ip list tutorial. ┌────────────────────────────────┬──────┬─────────────┬────────────┬───────────────────────────────┬──────────────────────┐ │ NAME │ DM │ ALIASES │ CREATED BY │ CREATED ON │ VERSION MESSAGE │ ╞════════════════════════════════╪══════╪═════════════╪════════════╪═══════════════════════════════╪══════════════════════╡ │ tutorial.CADenv@3.TRUNK │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:14:24 -0800 PST │ hier release │ │ tutorial.MS90G@1.TRUNK │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:10:53 -0800 PST │ hier release │ │ tutorial.acells_tsmc18@1.TRUNK │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:10:47 -0800 PST │ hier release │ │ tutorial.adc@1.TRUNK │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:11:13 -0800 PST │ hier release │ ... │ tutorial.tutorial@1.L3 │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:17:23 -0800 PST │ tutorial L3 release │ │ tutorial.tutorial@1.L4 │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:17:49 -0800 PST │ tutorial L4 release │ │ tutorial.tutorial@7.TRUNK │ P4 │ HEAD LATEST │ admin │ 2020-03-23 19:12:27 -0700 PDT │ new tutorial release │ │ tutorial.verif_config@1.TRUNK │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:13:50 -0800 PST │ hier release │ └────────────────────────────────┴──────┴─────────────┴────────────┴───────────────────────────────┴──────────────────────┘ Found 49 matching object(s).
> pi ip list tutorial.padring@.TRUNK --all ┌───────────────────────────┬────┬─────────────┬────────────┬───────────────────────────────┬──────────────────────┐ │ NAME │ DM │ ALIASES │ CREATED BY │ CREATED ON │ VERSION MESSAGE │ ╞═══════════════════════════╪════╪═════════════╪════════════╪═══════════════════════════════╪══════════════════════╡ │ tutorial.padring@6.TRUNK │ P4 │ HEAD LATEST │ admin │ 2020-03-23 19:12:27 -0700 PDT │ new tutorial release │ │ tutorial.padring@5.TRUNK │ P4 │ │ admin │ 2020-03-02 08:15:23 -0800 PST │ tutorial release │ │ tutorial.padring@4.TRUNK │ P4 │ │ admin │ 2020-03-02 08:15:22 -0800 PST │ tutorial release │ │ tutorial.padring@3.TRUNK │ P4 │ │ admin │ 2020-03-02 08:15:21 -0800 PST │ tutorial release │ │ tutorial.padring@2.TRUNK │ P4 │ GOLD │ admin │ 2020-03-02 08:15:20 -0800 PST │ tutorial release │ │ tutorial.padring@1.TRUNK │ P4 │ GOLD │ admin │ 2020-03-02 08:15:10 -0800 PST │ tutorial release │ │ tutorial.padring@0.TRUNK │ P4 │ │ admin │ 2020-03-02 08:14:26 -0800 PST │ Initial version │ └───────────────────────────┴────┴─────────────┴────────────┴───────────────────────────────┴──────────────────────┘ Found 7 matching object(s).
> pi ip list tutorial.padring --limit 4 ┌───────────────────────┬────┬─────────────┬────────────┬───────────────────────────────┬────────────────────┐ │ NAME │ DM │ ALIASES │ CREATED BY │ CREATED ON │ VERSION MESSAGE │ ╞═══════════════════════╪════╪═════════════╪════════════╪═══════════════════════════════╪════════════════════╡ │ tutorial.padring@1.L1 │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:15:39 -0800 PST │ padring L1 release │ │ tutorial.padring@1.L2 │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:15:48 -0800 PST │ padring L2 release │ │ tutorial.padring@1.L3 │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:15:57 -0800 PST │ padring L3 release │ │ tutorial.padring@1.L4 │ P4 │ HEAD LATEST │ admin │ 2020-03-02 08:16:08 -0800 PST │ padring L4 release │ └───────────────────────┴────┴─────────────┴────────────┴───────────────────────────────┴────────────────────┘ Displaying 4 of 5 matching object(s).
> pi ip list tutorial.padring@.TRUNK -v
IP Version tutorial.padring@10.TRUNK:
Description - pad ring
Line Description - main development line
DM type - Perforce (P4)
Host -
Repo Path - //mdx_test/tutorial/padring/TRUNK
Resources - tutorial.MS90G@1.TRUNK
tutorial.io5v@1.TRUNK
tutorial.io_tsmc18@1.TRUNK
Current Aliases - HEAD LATEST
Historic Aliases -
Version Message - new tutorial release
IP created on - 2020-03-02 08:14:26 -0800 PST by admin
Line created on - 2020-03-02 08:14:26 -0800 PST by admin
IP Version created on - 2020-03-23 19:12:27 -0700 PDT by admin
Project Properties:
* - --mode both --path blocks/$IP
Labels:
analog
Property Sets:
global:
IP Properties:
target_power - 50.0 mW
target_size - 35.0 sq-mm
IP Version Properties:
coverage - 22.0 % (*)
power - 1.0 mW (*)
regr - 100 /2000 (*)
size - 1.0 sq-mm (*)
Permissions on IP:
Owner - g:tutorial
Write Permissions - g:tutorial
Read Permissions - g:tutorial
Permissions on Line TRUNK:
Owner - g:tutorial
Write Permissions - g:tutorial
Read Permissions - g:tutorial
Hooks:
No Hooks defined.
Found 1 matching object(s).
Note:
IPV file lists can be large, so unless --verbose is required, use the -v option instead.
> pi ip list tutorial.padring@.TRUNK --contents
IP Version tutorial.padring@10.TRUNK:
Description - pad ring
Line Description - main development line
DM type - Perforce (P4)
Host -
Repo Path - //mdx_test/tutorial/padring/TRUNK
Resources - tutorial.MS90G@1.TRUNK
tutorial.io5v@1.TRUNK
tutorial.io_tsmc18@1.TRUNK
Current Aliases - HEAD LATEST
Historic Aliases -
Version Message - new tutorial release
IP created on - 2020-03-02 08:14:26 -0800 PST by admin
Line created on - 2020-03-02 08:14:26 -0800 PST by admin
IP Version created on - 2020-03-23 19:12:27 -0700 PDT by admin
Project Properties:
* - --mode both --path blocks/$IP
Labels:
analog
Property Sets:
global:
IP Properties:
target_power - 50.0 mW
target_size - 35.0 sq-mm
IP Version Properties:
coverage - 22.0 % (*)
power - 1.0 mW (*)
regr - 100 /2000 (*)
size - 1.0 sq-mm (*)
Permissions on IP:
Owner - g:tutorial
Write Permissions - g:tutorial
Read Permissions - g:tutorial
Permissions on Line TRUNK:
Owner - g:tutorial
Write Permissions - g:tutorial
Read Permissions - g:tutorial
Hooks:
No Hooks defined.
Contents:
Files
cds/padring/.oalib#1
cds/padring/AOP_AMP_CORE/constraint/hierDesign.oa#1
cds/padring/AOP_AMP_CORE/constraint/master.tag#1
cds/padring/AOP_AMP_CORE/constraint/prop.cfg#1
...
hw_code/test/test.v#2
padring.pmq#1
sw_code/driver/blg_driver.7z#1
sw_code/test/blg_driver_test.7z#1
Found 1 matching object(s).
IP List customization options
It is possible to customize the default table output display of 'pi ip list'. See the Client Configuration section for more information.
The following non-default fields are available:
Optional Display Field | Description |
---|---|
all_resources | List of all the direct resources of the IPV (includes both private and non-private resources) |
copies | List of the IPVs that have been copied from the listed IPV |
description | IP description |
line_description | Line description |
historic_aliases | List of aliases set on the IPV, but for which a newer IPV also has the same alias set |
labels | List of labels set on the IP |
prop_[name] | Value of the named property, eg prop_foo, if foo is a property on the IP or IPV |
private_resources | List of the direct resources of the IPV that are private |
resources | List of the direct resources of the IPV, that are not private |
source | The source IPV this IP was copied from (if it was copied) |