Add Searchable Metadata to Project Store Files (Tutorial)
Last updated 2026-08-10At a Glance
Make files in your Project Store easier to find when you or other HISE users search for them later. Add meaningful metadata—such as panel and batch IDs, custom tags, and linked samples—so search results provide the experimental context needed to identify the right file.
Use this function as part of an automated workflow to add searchable metadata after your code uploads, creates, or processes a file in a Project Store. For example, tag a processed image with its panel ID, batch ID, and sample references so collaborators can find it by searching for those attributes.
When to Use This Feature
Use this feature when you need to find Project Store files using metadata, rather than relying only on file names or folder locations.
For example, use it to do the following:
Help collaborators find files associated with a specific panel, batch, or sample
Add descriptive tags that distinguish files with similar names or contents
Connect derived files, such as processed images or analysis outputs, to their source samples
Update metadata after experimental details change or become available
Make a collection of files more consistent and easier to search across a Project Store
Method Signature
The signature for this method is listed below. Click the tabs to toggle from Python to R.
Python signature
hp.set_file_metadata_in_project_store(
store_name: str,
file_name: str,
fields_to_set: dict,
replace_where_multiple: bool = False,
)Example
hp.set_file_metadata_in_project_store(
store_name='my_project_store',
file_name='my_file.txt',
fields_to_set={
'panelId': 'panel_123',
'batchId': 'batch_456',
'userTags': {'processingStage': 'processed_data', 'qualityStatus': 'quality_checked'},
'sampleReferences': ['sample_1', 'sample_2']
},
replace_where_multiple=True
)R Signature
setFileMetadataInProjectStore(
storeName,
fileName,
fieldsToSet,
replaceWhereMultiple = FALSE
)
Example
hp$setFileMetadataInProjectStore(
storeName = "my_project_store",
fileName = "my_file.txt",
fieldsToSet = list(
panelID = "panel_123",
batchID = "batch_456",
userTags = list(
processingStage = "value1",
qualityStatus = "value2"
),
sampleReferences = list("sample_1", "sample_2")
),
replaceWhereMultiple = TRUE
)Parameters
The parameters for this method are listed in the following table. Click the tabs to toggle from Python to R.
Parameter | Data type | Required or optional | Description | |||
|
| required | Name of Project Store | |||
|
| required | Name of file | |||
|
| required | Dictionary containing the fields to set. Possible keys are The | |||
|
| optional | If |
|
| required | Name of Project Store | |||
|
| required | Name of file | |||
|
| required | A named list of metadata fields and their value. Current valid fields are "panelID" (character vector), "batchID" (character vector), "userTags" (a named list of searchable tags, as tag name => value, for which the following tag names are valid: ["version", "name", "details", "group", "origin", "other"]), and "sampleReferences" (a list of HISE sample UUIDs). Not all of these fields need to be included. | |||
|
| optional | A boolean that determines whether fields with multiple values should have their existing values replaced by the provided list (if |
Instructions
Specify the file to update
Set the Project Store name and the name of the file whose metadata you want to update. In most workflows, your code already has these values from an earlier file-creation or processing step or from an earlier upload.
store_name = "my_project_store" file_name = "my_file.txt"
Create the metadata dictionary
Using the metadata you want to add or update, create a
fields_to_setdictionary. Include only the fields that apply to the specified file. Choose among the exact field names specified here so the method can apply the metadata correctly:panelIdfor a panel identifierbatchIdfor a batch identifieruserTagsfor searchable tags, supplied as a dictionarysampleReferencesfor a list of sample references
fields_to_set = { "panelId": "panel_123", "batchId": "batch_456", "userTags": { "processingStage": "processed_data", "qualityStatus": "quality_checked" }, "sampleReferences": [ "sample_1", "sample_2" ] }
Update and apply the file metadata
Call
hp.set_file_metadata_in_project_store()with the file information and metadata dictionary. To replace a field's existing values when it has multiple values, setreplace_where_multiple=True. Otherwise, omit this argument to use its default value ofFalse.response = hp.set_file_metadata_in_project_store( store_name=store_name, file_name=file_name, fields_to_set=fields_to_set, replace_where_multiple=True )
After the metadata is updated, you and other users can search HISE using the panel ID, batch ID, user tags, or linked sample references to locate the file.
Related Resources
Understand Watchfolders and the Project Store