Gramps 3.0 Wiki Manual - Command Line
This appendix provides the reference to the command line capabilities available when launching GRAMPS from the terminal.
To summarize, the use of the command line options provides non-interactive behavior, but does not get rid of graphical display dependency. Take it or leave it!
|Special copyright notice: All edits to this page need to be under two different copyright licenses:
These licenses allow the Gramps project to maximally use this wiki manual as free content in future Gramps versions. If you do not agree with this dual license, then do not edit this page. You may only link to other pages within the wiki which fall only under the GFDL license via external links (using the syntax: [https://www.gramps-project.org/...]), not via internal links.
Format optionsThe format of any file destined for opening, importing, or exporting can be specified with the
-f formatoption. The acceptable format values are listed below.
- grdb GRAMPS database: This format is available for opening, import, and export. When not specified, it can be guessed if the filename ends with .grdb
- gramps-xml GRAMPS XML database: This format is available for opening, import, and export. When not specified, it can be guessed if the filename ends with .gramps
- gedcom GEDCOM file: This format is available for opening, import, and export. When not specified, it can be guessed if the filename ends with .ged
- gramps-pkg GRAMPS package: This format is available for import and export. When not specified, it can be guessed if the filename ends with .gpkg
- geneweb GeneWeb file: This format is available for import and export. When not specified, it can be guessed if the filename ends with .gw
- wft Web Family Tree: This format is available for export only. When not specified, it can be guessed if the filename ends with .wft
- iso CD image: This format is available for export only. It must always be specified explicitly.
There are two ways to give GRAMPS the name of the file to be opened:
- supply bare file name
- use this option :
-O, Open of a family tree. This can be done also by just typing the name (name or database dir)
python gramps.py 'Family Tree 1' python gramps.py /home/cristina/.gramps/grampsdb/47320f3d python gramps.py -O 'Family Tree 1' python gramps.py -O /home/cristina/.gramps/grampsdb/47320f3d
If the filename is given without any option flag, the attempt to open the file will be made, and then the interactive GRAMPS session will be launched.
If no option is given, just the file name, GRAMPS will ignore the rest of the command line arguments. Use the -O flag to open the file and do something with the data.
The format can be specified with the
--format=formatoption, immediately following the filename . If not specified, the guess will be attempted based on the filename. Format possible: 'gedcom','gramps-xml','gramps-pkg', 'grdb','geneweb'.
Only grdb, gramps-xml, and gedcom formats can be opened directly. For other formats, you will need to use the import option which will set up the empty database and then import data into it.
Only a single file can be opened. If you need to combine data from several sources, you will need to use the import option.
Import optionsThe files destined for import can be specified with the
--import=filenameoption. The format can be specified with the
--format=formatoption, immediately following the filename . If not specified, the guess will be attempted based on the filename.
python gramps.py -i 'Family Tree 1' -i 'Family Tree 2' python gramps.py -i test.grdb -i data.gramps
More than one file can be imported in one command. If this is the case, GRAMPS will incorporate the data from the next file into the database available at the moment.
When more than one input file is given, each has to be preceded by
-iflag. The files are imported in the specified order, i.e.
-i file1 -i file2and
-i file2 -i file1might produce different GRAMPS IDs in the resulting database.
Export optionsThe files destined for export can be specified with the
--output=filenameoption. The format can be specified with the
-foption immediately following the filename . If not specified, the guess will be attempted based on the filename . For iso format, the filename is actually the name of directory the GRAMPS database will be written into. For grdb, gramps-xml, gedcom, wft, geneweb, and gramps-pkg, the filename is the name of the resulting file.
-o, output a family tree in required format. It is not possible to export to a family tree.
python gramps.py -i 'Family Tree 1' -i test.grdb -f grdb -o mergdeDB.gramps
Note that above does not change 'Family Tree 1' as everything happens via a temporary database, whereas:
python gramps.py -O 'Family Tree 1' -i test.grdb -f grdb -o mergdeDB.gramps
will import test.grdb into Family Tree 1, and then export to a file !
Exporting more files
More than one file can be exported in one command. If this is the case, GRAMPS will attempt to write several files using the data from the database available at the moment.
When more than one output file is given, each has to be preceded by
-oflag. The files are written one by one, in the specified order.
Action optionsThe action to perform on the imported data can be specified with the
--action=actionoption. This is done after all imports are successfully completed.
Currently available actions are:
- summary: This action is the same as Reports ->View ->Summary
- check: This action is the same as Tools ->Database Processing ->Check and Repair .
- tool: This action allow to run a tool from a command line.
- report: This action allows producing reports from the command line. As reports generally have many options of their own, this action should be followed by the report option string. The string is given using the
Most of the report options are specific for every report. However, there some common options.
- name=report_name: This mandatory option determines which report will be generated. If the supplied report_name does not correspond to any available report, the error message will be printed followed by the list of available reports.
- show=all: This will produce the list of names for all options available for a given report.
- show=option_name: This will print the description of the functionality supplied by the option_name, as well as what are the acceptable types and values for this option.
Use the above options to find out everything about a given report.
If an option is not supplied, the last used value will be used. If this report has never been generated before, then the value from last generated report will be used when applicable. Otherwise, the default value will be used.
When more than one output action is given, each has to be preceded by
-aflag. The actions are performed one by one, in the specified order.
-l, print a list of known family trees
If the first argument on the command line does not start with dash (i.e. no flag), GRAMPS will attempt to open the file with the name given by the first argument and start interactive session, ignoring the rest of the command line arguments.If the
-Oflag is given, then GRAMPS will try opening the supplied file name and then work with that data, as instructed by the further command line parameters.
Only one file can be opened in a single invocation of GRAMPS. If you need to get data from multiple sources, use the importing options by using
-Oflag, there could be multiple imports, exports, and actions specified further on the command line by using
-aflags. The order of
-aoptions with respect to each does not matter. The actual execution order always is: all imports (if any) -> all exports (if any) -> all actions (if any).
But opening must always be first!
-ioption is given, GRAMPS will launch its main window and start the usual interactive session with the empty database, since there is no data to process, anyway. If no
-aoptions are given, GRAMPS will launch its main window and start the usual interactive session with the database resulted from opening and all imports (if any). This database resides in the import_db.grdb file under the ~/.gramps/import/ directory.
Any errors encountered during import, export, or action, will be either dumped to stdout (if these are exceptions handled by GRAMPS) or to stderr (if these are not handled). Use usual shell redirections of stdout and stderr to save messages and errors in files.
- To import four databases (whose formats can be determined from their names) and then check the resulting database for errors, one may type:
gramps -i file1.ged -i file2.gpkg -i ~/db3.gramps -i file4.wft -a check
- To explicitly specify the formats in the above example, append filenames with appropriate -f options:
gramps -i file1.ged -f gedcom -i file2.gpkg -f gramps-pkg -i ~/db3.gramps -f gramps-xml -i file4.wft -f wft -a check
- To record the database resulting from all imports, supply -o flag (use -f if the filename does not allow GRAMPS to guess the format):
gramps -i file1.ged -i file2.gpkg -o ~/new-package -f gramps-pkg
- To save any error messages of the above example into files outfile and errfile, run:
gramps -i file1.ged -i file2.dpkg -o ~/new-package -f gramps-pkg >outfile 2>errfile
- To import three databases and start interactive GRAMPS session with the result:
gramps -i file1.ged -i file2.gpkg -i ~/db3.gramps
- To open a database and, based on that data, generate timeline report in PDF format putting the output into the my_timeline.pdf file:
gramps -O file.grdb -a report -p name=timeline,off=pdf,of=my_timeline.pdf
- To convert a grdb on the fly to a .gramps xml file:
gramps -O myoriginal.grdb -o output.gramps -f gramps-xml
- Finally, to start normal interactive session type:
GRAMPS can take advantage of these environment variables (but do not change them if you do not know what are you doing):
- GRAMPSHOME - if set, override default path to profile allowing user to use ex. network drive to store data and all settings.
- LANG - is used by GRAMPS to determine which language file should be loaded.