<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Running pipelines
The pipelines are run on the server periodically and based on pipeline and data dependencies. 
You can also run specific pipelines manually for development or to run custom pipelines.
Change directory to project root
The Jupyter notebooks run in the jupyter-notebooks directory. To run pipelines you need to change directory to the parent directory
Step1:  List the available pipelines
Step2:  Run a pipeline
The following runs the ./committees/kns_committee pipeline which downloads committees from the Knesset API
Step3:  Inspect the output datapackage descriptor
Pipelines use datapackages as the primary input and output data.
Pipeline and datapackage names usually match, so the output of the ./committees/kns_committee pipeline is available at local directory ./data/committees/kns_committee/datapackage.json
Step4:  Each package may contain multiple resources, let's see which resource names are available for the kns_committee package
Step5:  Inspect the kns_committee resource descriptor which includes metadata and field descriptions
Step6:  Print the first 5 row of data
<ASSISTANT_TASK:>
Python Code:
import os
os.chdir('..')
os.getcwd()
Explanation: Running pipelines
The pipelines are run on the server periodically and based on pipeline and data dependencies. 
You can also run specific pipelines manually for development or to run custom pipelines.
Change directory to project root
The Jupyter notebooks run in the jupyter-notebooks directory. To run pipelines you need to change directory to the parent directory
End of explanation
!{'dpp'}
Explanation: List the available pipelines
End of explanation
!{'dpp run --verbose ./committees/kns_committee'}
Explanation: Run a pipeline
The following runs the ./committees/kns_committee pipeline which downloads committees from the Knesset API
End of explanation
KNS_COMMITTEE_DATAPACKAGE_PATH = './data/committees/kns_committee/datapackage.json'
Explanation: Inspect the output datapackage descriptor
Pipelines use datapackages as the primary input and output data.
Pipeline and datapackage names usually match, so the output of the ./committees/kns_committee pipeline is available at local directory ./data/committees/kns_committee/datapackage.json
End of explanation
from datapackage import Package
kns_committee_package = Package(KNS_COMMITTEE_DATAPACKAGE_PATH)
kns_committee_package.resource_names
KNS_COMMITTEE_RESOURE_NAME = 'kns_committee'
Explanation: Each package may contain multiple resources, let's see which resource names are available for the kns_committee package
End of explanation
import yaml
print(yaml.dump(package.get_resource(KNS_COMMITTEE_RESOURE_NAME).descriptor, 
                allow_unicode=True, default_flow_style=False))
Explanation: Inspect the kns_committee resource descriptor which includes metadata and field descriptions
End of explanation
for i, row in enumerate(package.get_resource(KNS_COMMITTEE_RESOURE_NAME).iter(keyed=True), 1):
    if i > 5: continue
    print(f'-- row {i} --')
    print(yaml.dump(row, allow_unicode=True, default_flow_style=False))
    
Explanation: Print the first 5 row of data
End of explanation
<END_TASK>