Using the CLI

How to use Flower on the command-line.

Flower’s CLI has two commands: view which displays a Data Package’s metadata in the terminal, and build which generates plain text documentation files from it. The general pattern for the CLI is:

Terminal
seedcase-flower COMMAND [ARGS] [OPTIONS]

To get an overview of the available commands and flags, run the following command, which is equivalent to using the --help flag:

Terminal
seedcase-flower
Usage: seedcase-flower COMMAND

Flower generates human-readable documentation from Data     
Packages.

╭─ Commands ───────────────────────────────────────────────╮
│ <build>               Build human-readable documentation │
│                       from a datapackage.json file.      │
│ <view>                Display the contents of a          │
│                       datapackage.json in a              │
│                       human-friendly way.                │
│ --help                Display this message and exit.     │
│ --install-completion  Install shell completion for this  │
│                       application.                       │
│ --version             Display application version.       │
╰──────────────────────────────────────────────────────────╯

Viewing Data Package metadata

To view the metadata in an easy-to-read format optimised for the terminal, use the view command:

Terminal
seedcase-flower view

This example shows the output of running seedcase-flower view in a directory containing a datapackage.json from the example Data Package flora. Note that the output from view is optimized for rendering in a terminal, so some aspects of it might not display as expected here.



     flora: Observations of flora species and seasonal      
                        development                         

Licenses:                                                   

CCO 1.0 UNIVERSAL                                        
Academic Free License 3.0                                

Version: 1.2.3                                              

A dataset containing flora species records and their        
observed growth stages across different environments.       

Contributors                                                

Jane Dölitz (jane-doelitz@example.com): creator          
John Smith (john-smith@example.com): author, data        
   collector                                                

Resources                                                   

species_catalog: Flora Species                              

This resource contains a catalog of flora species.          

Path: resources/species_catalog/data.parquet             
Primary key: (species_id)                                
Foreign keys:                                            
parent_species_idspecies_catalog.species_id        

┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━┓
Name            Title           Type    Description    
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━┩
species_id      Species ID      integer The unique     
                                        identifier for 
                                        each species.  
scientific_name Scientific name string  The Latin name 
                                        of the species.
common_name     Common name     string  The common name
                                        of the species.
family          Family          string  The Latin      
                                        family to which
                                        the species    
                                        belongs.       
parent_species… Parent Species  integer The parent     
                                        species of this
                                        species.       
└────────────────┴────────────────┴────────┴───────────────┘

: Fields in the species_catalog resource.                   

location_catalog: Flora Species Locations                   

This resource contains a catalog of flora species locations.

Path: resources/location_catalog/data.parquet            
Primary key: (region, country)                           

┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┓
Name       Title      Type   Description               
┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━┩
region     Region     string The region the location is
                             in.                       
country    Country    string The country the location  
                             is in.Allowed values:     
                             Denmark, Brazil, Canada,  
                             Chile, China, Egypt,      
                             Ghana, India, Indonesia,  
                             Japan, Kenya, Mexico,     
                             Morocco, New Zealand,     
                             Nigeria, Peru, South      
                             Africa, South Korea,      
                             Sweden, Thailand, Turkey, 
                             United Kingdom, Vietnam   
local_name Local Name string The name of the location  
                             in the local language.    
└───────────┴───────────┴───────┴──────────────────────────┘

: Fields in the location_catalog resource.                  

growth_records: Growth Stage Records                        

This resource contains records of observed growth stages for
various flora species.                                      

Path: resources/growth_records/data.parquet              
Primary key: (record_id)                                 
Foreign keys:                                            
species_idspecies_catalog.species_id               
location_region, location_country      location_catalog.[region, country]                    

┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━┓
Name            Title          Type    Description     
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━┩
record_id       Record ID      integer The unique      
                                       identifier for  
                                       each growth     
                                       record.         
species_id      Species        integer The species the 
                                       observation was 
                                       made for.       
observation_da… Observation    date    The date when   
                date                   the observation 
                                       was made.       
growth_stage    Growth Stage   string  The observed    
                                       growth stage of 
                                       the             
                                       species.Allowed 
                                       values:         
                                       seedling,       
                                       vegetative,     
                                       flowering,      
                                       fruiting        
location_region Location       string  The region of   
                Region                 the location.   
location_count… Location       string  The country of  
                Country                the             
                                       location.Allowed
                                       values: Denmark,
                                       Brazil, Canada, 
                                       Chile, China,   
                                       Egypt, Ghana,   
                                       India,          
                                       Indonesia,      
                                       Japan, Kenya,   
                                       Mexico, Morocco,
                                       New Zealand,    
                                       Nigeria, Peru,  
                                       South Africa,   
                                       South Korea,    
                                       Sweden,         
                                       Thailand,       
                                       Turkey, United  
                                       Kingdom, Vietnam
└────────────────┴───────────────┴────────┴────────────────┘

: Fields in the growth_records resource.

Viewing metadata in a custom location

By default, view looks for a datapackage.json file in the current directory, but you can specify a different path if needed:

Terminal
seedcase-flower view another/directory/datapackage.json

You can also point Flower to a remote Data Package by providing the full URL to the datapackage.json. For example:

Terminal
seedcase-flower view https://raw.githubusercontent.com/seedcase-project/example-seed-beetle/refs/heads/main/datapackage.json

Note that the output from view is optimized for rendering in a terminal, so some aspects of it might not display as expected here.



 example-seed-beetle: Complex mitonuclear interactions and  
       metabolic costs of mating in male seed beetles       

Licenses:                                                   

CCO 1.0 UNIVERSAL                                        

Version: 0.5.1                                              

Data from the 2015 on metabolic rate, respiratory quotient, 
body weight and ejaculate weight data from seed beetles with
different mitonuclear genotypes.                            

This repository shows how to use the Seedcase Sprout tools  
on a data set of seed beetle data. The data is from a study 
by Immonen et al. (2015) and is available on Zenodo.        

Contributors                                                

Elina Immonen: creator                                   
Johanna Liljestrand-Rönn: creator                        
Christopher Watson: creator                              
David Berger: creator                                    
Göran Arnqvist: creator                                  

Resources                                                   

metabolic-rate: Metabolic rate of the seed beetles          

This dataset contains metabolic rate, respiratory quotient, 
body weight and ejaculate weight data from seed beetles with
different mitonuclear genotypes.                            

Path: resources/metabolic-rate/data.parquet              
Primary key: (id)                                        

┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━┓
Name            Title          Type    Description     
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━┩
cycle           Cycle          integer Focal cycle in  
                                       the             
                                       respirometry.   
                                       Note that the   
                                       number one here 
                                       corresponds to  
                                       the real cycle  
                                       number two, as  
                                       the first one   
                                       was removed as a
                                       burn-in.        
                                       Original field  
                                       name: CYCLE.    
o2_consumed     O2 consumed    number  Original field  
                                       name: O2.       
co2_produced    CO2 produced   number  Original field  
                                       name: CO2.      
respiratory_qu… Respiratory    number  Original field  
                quotient               name: RQ.       
block           Block          string  Experimental    
                                       block. Original 
                                       field name:     
                                       BLOCK.          
activity        Activity       number  Original field  
                                       name: ACTIVITY. 
strain          Strain         string  Line identity.  
                                       Original field  
                                       name: STRAIN.   
mitochondrial_… Mitochondrial  string  Original field  
                DNA lineage            name:           
                                       MT_DNA_HAPLOTYP…
nuclear_lineage Nuclear        string  Original field  
                lineage                name:           
                                       NC_GENOTYPE.    
mating_treatme… Mating         string  Mated or virgin.
                treatment              Original field  
                                       name: TREATMENT.
coadaptation    Coadaptation   integer Coadaptation of 
                                       the             
                                       mitochondrial   
                                       and nuclear     
                                       lineage genomes.
                                       Original field  
                                       name: COEVOL.   
virgin_body_we… Virgin body    number  Unit: g.        
                weight                 Original field  
                                       name: W_V.      
body_weight_af… Body weight    number  Body weight     
                after mating           after mating,   
                                       prior to        
                                       respirometry    
                                       measurements.   
                                       Unit: g.        
                                       Original field  
                                       name: W_M1.     
mated_body_wei… Mated body     number  Mated male body 
                weight after           weight after the
                respirometry           respirometry,   
                                       prior to second 
                                       mating. Unit: g.
                                       Original field  
                                       name: W_M1R.    
ejaculate_weig… Ejaculate      number  Unit: g.        
                weight in the          Original field  
                first mating           name: EJAC1.    
ejaculate_weig… Ejaculate      number  Unit: g.        
                weight in the          Original field  
                second mating          name: EJAC2.    
copulation_dur… Copulation     number  Unit: sec.      
                duration of            Original field  
                the first              name:           
                mating                 COPULDUR_1.     
copulation_dur… Copulation     number  Unit: sec.      
                duration of            Original field  
                the second             name:           
                mating                 COPULDUR_2.     
id              ID             integer Experimental    
                                       subject         
                                       identity.       
                                       Original field  
                                       name: ID.       
└────────────────┴───────────────┴────────┴────────────────┘

: Fields in the metabolic-rate resource.

For Data Packages on GitHub, use the gh: prefix as a shortcut instead of the full URL:

Terminal
seedcase-flower view gh:seedcase-project/example-seed-beetle

Note that the output from view is optimized for rendering in a terminal, so some aspects of it might not display as expected here.



 example-seed-beetle: Complex mitonuclear interactions and  
       metabolic costs of mating in male seed beetles       

Licenses:                                                   

CCO 1.0 UNIVERSAL                                        

Version: 0.5.1                                              

Data from the 2015 on metabolic rate, respiratory quotient, 
body weight and ejaculate weight data from seed beetles with
different mitonuclear genotypes.                            

This repository shows how to use the Seedcase Sprout tools  
on a data set of seed beetle data. The data is from a study 
by Immonen et al. (2015) and is available on Zenodo.        

Contributors                                                

Elina Immonen: creator                                   
Johanna Liljestrand-Rönn: creator                        
Christopher Watson: creator                              
David Berger: creator                                    
Göran Arnqvist: creator                                  

Resources                                                   

metabolic-rate: Metabolic rate of the seed beetles          

This dataset contains metabolic rate, respiratory quotient, 
body weight and ejaculate weight data from seed beetles with
different mitonuclear genotypes.                            

Path: resources/metabolic-rate/data.parquet              
Primary key: (id)                                        

┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━┓
Name            Title          Type    Description     
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━┩
cycle           Cycle          integer Focal cycle in  
                                       the             
                                       respirometry.   
                                       Note that the   
                                       number one here 
                                       corresponds to  
                                       the real cycle  
                                       number two, as  
                                       the first one   
                                       was removed as a
                                       burn-in.        
                                       Original field  
                                       name: CYCLE.    
o2_consumed     O2 consumed    number  Original field  
                                       name: O2.       
co2_produced    CO2 produced   number  Original field  
                                       name: CO2.      
respiratory_qu… Respiratory    number  Original field  
                quotient               name: RQ.       
block           Block          string  Experimental    
                                       block. Original 
                                       field name:     
                                       BLOCK.          
activity        Activity       number  Original field  
                                       name: ACTIVITY. 
strain          Strain         string  Line identity.  
                                       Original field  
                                       name: STRAIN.   
mitochondrial_… Mitochondrial  string  Original field  
                DNA lineage            name:           
                                       MT_DNA_HAPLOTYP…
nuclear_lineage Nuclear        string  Original field  
                lineage                name:           
                                       NC_GENOTYPE.    
mating_treatme… Mating         string  Mated or virgin.
                treatment              Original field  
                                       name: TREATMENT.
coadaptation    Coadaptation   integer Coadaptation of 
                                       the             
                                       mitochondrial   
                                       and nuclear     
                                       lineage genomes.
                                       Original field  
                                       name: COEVOL.   
virgin_body_we… Virgin body    number  Unit: g.        
                weight                 Original field  
                                       name: W_V.      
body_weight_af… Body weight    number  Body weight     
                after mating           after mating,   
                                       prior to        
                                       respirometry    
                                       measurements.   
                                       Unit: g.        
                                       Original field  
                                       name: W_M1.     
mated_body_wei… Mated body     number  Mated male body 
                weight after           weight after the
                respirometry           respirometry,   
                                       prior to second 
                                       mating. Unit: g.
                                       Original field  
                                       name: W_M1R.    
ejaculate_weig… Ejaculate      number  Unit: g.        
                weight in the          Original field  
                first mating           name: EJAC1.    
ejaculate_weig… Ejaculate      number  Unit: g.        
                weight in the          Original field  
                second mating          name: EJAC2.    
copulation_dur… Copulation     number  Unit: sec.      
                duration of            Original field  
                the first              name:           
                mating                 COPULDUR_1.     
copulation_dur… Copulation     number  Unit: sec.      
                duration of            Original field  
                the second             name:           
                mating                 COPULDUR_2.     
id              ID             integer Experimental    
                                       subject         
                                       identity.       
                                       Original field  
                                       name: ID.       
└────────────────┴───────────────┴────────┴────────────────┘

: Fields in the metabolic-rate resource.

Styling terminal output

Use the --style flag to format the terminal output with any of the built-in view styles. For example:

Terminal
seedcase-flower view --style quarto-one-page gh:seedcase-project/example-seed-beetle

This output will look identical to the output above, since quarto-one-page is the default style for view.

Note that the output from view is optimized for rendering in a terminal, so some aspects of it might not display as expected here.



 example-seed-beetle: Complex mitonuclear interactions and  
       metabolic costs of mating in male seed beetles       

Licenses:                                                   

CCO 1.0 UNIVERSAL                                        

Version: 0.5.1                                              

Data from the 2015 on metabolic rate, respiratory quotient, 
body weight and ejaculate weight data from seed beetles with
different mitonuclear genotypes.                            

This repository shows how to use the Seedcase Sprout tools  
on a data set of seed beetle data. The data is from a study 
by Immonen et al. (2015) and is available on Zenodo.        

Contributors                                                

Elina Immonen: creator                                   
Johanna Liljestrand-Rönn: creator                        
Christopher Watson: creator                              
David Berger: creator                                    
Göran Arnqvist: creator                                  

Resources                                                   

metabolic-rate: Metabolic rate of the seed beetles          

This dataset contains metabolic rate, respiratory quotient, 
body weight and ejaculate weight data from seed beetles with
different mitonuclear genotypes.                            

Path: resources/metabolic-rate/data.parquet              
Primary key: (id)                                        

┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━┓
Name            Title          Type    Description     
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━┩
cycle           Cycle          integer Focal cycle in  
                                       the             
                                       respirometry.   
                                       Note that the   
                                       number one here 
                                       corresponds to  
                                       the real cycle  
                                       number two, as  
                                       the first one   
                                       was removed as a
                                       burn-in.        
                                       Original field  
                                       name: CYCLE.    
o2_consumed     O2 consumed    number  Original field  
                                       name: O2.       
co2_produced    CO2 produced   number  Original field  
                                       name: CO2.      
respiratory_qu… Respiratory    number  Original field  
                quotient               name: RQ.       
block           Block          string  Experimental    
                                       block. Original 
                                       field name:     
                                       BLOCK.          
activity        Activity       number  Original field  
                                       name: ACTIVITY. 
strain          Strain         string  Line identity.  
                                       Original field  
                                       name: STRAIN.   
mitochondrial_… Mitochondrial  string  Original field  
                DNA lineage            name:           
                                       MT_DNA_HAPLOTYP…
nuclear_lineage Nuclear        string  Original field  
                lineage                name:           
                                       NC_GENOTYPE.    
mating_treatme… Mating         string  Mated or virgin.
                treatment              Original field  
                                       name: TREATMENT.
coadaptation    Coadaptation   integer Coadaptation of 
                                       the             
                                       mitochondrial   
                                       and nuclear     
                                       lineage genomes.
                                       Original field  
                                       name: COEVOL.   
virgin_body_we… Virgin body    number  Unit: g.        
                weight                 Original field  
                                       name: W_V.      
body_weight_af… Body weight    number  Body weight     
                after mating           after mating,   
                                       prior to        
                                       respirometry    
                                       measurements.   
                                       Unit: g.        
                                       Original field  
                                       name: W_M1.     
mated_body_wei… Mated body     number  Mated male body 
                weight after           weight after the
                respirometry           respirometry,   
                                       prior to second 
                                       mating. Unit: g.
                                       Original field  
                                       name: W_M1R.    
ejaculate_weig… Ejaculate      number  Unit: g.        
                weight in the          Original field  
                first mating           name: EJAC1.    
ejaculate_weig… Ejaculate      number  Unit: g.        
                weight in the          Original field  
                second mating          name: EJAC2.    
copulation_dur… Copulation     number  Unit: sec.      
                duration of            Original field  
                the first              name:           
                mating                 COPULDUR_1.     
copulation_dur… Copulation     number  Unit: sec.      
                duration of            Original field  
                the second             name:           
                mating                 COPULDUR_2.     
id              ID             integer Experimental    
                                       subject         
                                       identity.       
                                       Original field  
                                       name: ID.       
└────────────────┴───────────────┴────────┴────────────────┘

: Fields in the metabolic-rate resource.

view only works with single-page built-in styles; multi-page styles are not supported.

Important

view is only configurable via command line flags. This means that any options set in Flower’s configuration file are ignored, even those with the same name as the options passed to view.

For more details, see the view reference or run:

Terminal
seedcase-flower view --help
Usage: seedcase-flower view [OPTIONS] [ARGS]

Display the contents of a datapackage.json in a             
human-friendly way.

╭─ Arguments ──────────────────────────────────────────────╮
│ <SOURCE>  The location of a datapackage.json, defaults   │
│           to a file or folder path. Can also be an       │
│           https: source to a remote datapackage.json or  │
│           a github: / gh: pointing to a repo with a      │
│           datapackage.json in the repo root (in the      │
│           format gh:org/repo, which can also include     │
│           reference to a tag or branch, such as          │
│           gh:org/repo@main or gh:org/repo@1.0.1).        │
│           [default: datapackage.json]                    │
╰──────────────────────────────────────────────────────────╯
╭─ Parameters ─────────────────────────────────────────────╮
│ --style  The style used to display the output in the     │
│          terminal. Must be a single-page style.          │
│          [choices: quarto-one-page]                      │
│          [default: quarto-one-page]                      │
╰──────────────────────────────────────────────────────────╯

Building documentation from Data Package metadata

To convert Data Package metadata into human-friendly plain text files for building shareable documentation, such as a website or PDF, use the build command:

Terminal
seedcase-flower build

The output below shows the files generated in a directory my-datapackage/ when running the command above. The directory already contained a datapackage.json from the example Data Package flora.

📁 my-datapackage/
├─📄 datapackage.json
└─📄 index.qmd

This command generates one new file, docs/index.qmd, since build by default uses the quarto-one-page style. The qmd extension means that this file is a Quarto-flavored Markdown file. While this is the default format, you can specify your own custom styles as detailed in the custom styles guide.

Changing input and output directory

By default, build will look for a datapackage.json file in the current directory, but you can use a different source location if you want, just like with view:

Terminal
seedcase-flower build another/directory/datapackage.json

To generate files in a different location, use the --output-dir flag with a folder name. For example:

Terminal
seedcase-flower build --output-dir my-dir

This will generate my-dir/index.qmd instead of docs/index.qmd.

Styling the output

Like view, build accepts a --style option to control how metadata content and files are organised using one of the built-in styles. For example, to split each resource into its own file, use the quarto-resource-listing style:

Terminal
seedcase-flower build --style quarto-resource-listing

The output below shows the files generated in a directory my-datapackage/ when running the command above. The directory already contained a datapackage.json from the example Data Package flora.

📁 my-datapackage/
├─📁 resources/
│ ├─📄 growth_records.qmd
│ ├─📄 location_catalog.qmd
│ └─📄 species_catalog.qmd
├─📄 datapackage.json
└─📄 index.qmd

Like the default quarto-one-page style, quarto-resource-listing creates a docs/index.qmd. In addition, it creates a separate file for each data resource in the docs/resources/ folder.

You can see examples of the available built-in styles on the Examples page and read more about how to create your own custom style in the custom styles guide.

For more details, see the build reference or run:

Terminal
seedcase-flower build --help
Usage: seedcase-flower build [OPTIONS] [ARGS]

Build human-readable documentation from a datapackage.json  
file.

╭─ Arguments ──────────────────────────────────────────────╮
│ <SOURCE>  The location of a datapackage.json, defaults   │
│           to a file or folder path. Can also be an       │
│           https: source to a remote datapackage.json or  │
│           a github: / gh: pointing to a repo with a      │
│           datapackage.json in the repo root (in the      │
│           format gh:org/repo, which can also include     │
│           reference to a tag or branch, such as          │
│           gh:org/repo@main or gh:org/repo@1.0.1).        │
│           [default: datapackage.json]                    │
╰──────────────────────────────────────────────────────────╯
╭─ Parameters ─────────────────────────────────────────────╮
│ --style       The style used to structure the output. If │
│               a style directory is given, this parameter │
│               will be ignored.                           │
│               [choices: quarto-one-page,                 │
│               quarto-resource-listing,                   │
│               quarto-resource-tables]                    │
│               [default: quarto-one-page]                 │
│ --style-dir   The directory that contains the Jinja      │
│               template files and sections.toml. When     │
│               set, it will override any built-in style   │
│               given by the style parameter.              │
│               [default: None]                            │
│ --output-dir  The directory to save the generated files  │
│               in.                                        │
│               [default: docs]                            │
│ --verbose     If True, prints additional information to  │
│               the console.                               │
│               [default: False]                           │
╰──────────────────────────────────────────────────────────╯