Generate family trees from genealogic information written in simple yaml format.
Project description
Nissaga, genealogy tree generator
About
Nissaga can be used to generate Genealogy trees from a simple data description in YAML.
Nissaga is a Catalan word for lineage.
Installation
pip install nissaga
You need to install graphviz. Not the python wrapper library, but the program itself.
Usage
The command line interface is still quite simple and future versions will evolve it to a more powerful one. Right now it works like this:
nissaga myfamily.yaml
This generates a file myfamily.pdf
You can specify a second parameter to choose the output format: png, svg or any supported by graphviz.
nissaga myfamily.yaml svg
Input file
The input file follows this Schema documented here
A simple example:
people:
me:
fullname: Alférez Boye, Carmen
born: 1988-06-12
sis:
fullname: Alférez Boye, Diana
born: 1985-07-04
dad:
fullname: Alférez Esquerra, Fran
born: 1957-03-23
mom:
fullname: Boye Gener, Hipatia
born: 1951-10-28
dadgranpa:
fullname: Boye Isidro, Javier
born: 1932-07-22
died: 2013-03-19
dadgranma:
fullname: Gener Krahe, Laura
born: 1933-02-12
died: 2017-09-19
momgranpa:
fullname: Alférez Miró, Natanael
born: 1944-04-15
momgranma:
fullname: Esquerra Olivera, Pandora
born: 1931-01-13
died: 2007-05-19
families:
- parents: [mom, dad]
children: [sis, me]
- parents: [dadgranma, dadgranpa]
children: [dad]
- parents: [momgranma, momgranpa]
children: [mom]
Differences with kingraph
This application was started as a clone of the functionality of kingraph to overcome performance and scalability problems with big trees, and also to extend its functionality.
So, it is mostly back compatible with kingraph format.
The following kingraph features are not supported:
family.children2
andfamily.parents2
relations are not yet supported
The following features have been introduced by nissaga, and are not available in kingraph (but the yaml would be still compatible).
- Rich person boxes with dates, photos and separated first name and surname.
person.born
maybe set to a date, and will appear as*YYYY-MM-DD
bellow the person's name.person.died
maybe set to a date or true and will appear as+YYYY-MM-DD
bellow the person's name.person.age
age of dead, not used, just to keep track of it when that's the only data we have.person.pics
is a list of pictures files relative to the yaml file. The first one will be added as person's face. The other pics are not used yet.
- Rich unions with marriage and divorce annotations
family.married
: defaults to true. Set it to false to indicate unmarried patnership (⚯
). Set it to a date to see⚭YYYY-MM-DD
in the union node.family.divorced
: defaults to false. Set it to true to indicate a divorce (⚮
). Set it to a date to see⚮YYYY-MM-DD
in the union node.
- Attributes for internal documentation:
person.todo
a string or list of strings of pending tasks for the personperson.from
origin of the person (country, city...)person.comments
a string or list of strings of commentsfamily.notes
a string or list of strings of notesfamily.docs
documentation about the family. A list of document paths relative to the yaml file. Not used yet but it is suposed to provide links to the research sources.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nissaga-0.3.0.tar.gz
.
File metadata
- Download URL: nissaga-0.3.0.tar.gz
- Upload date:
- Size: 25.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f92d01040629c60303732f3001414403e6e7a42b49ad7a8bc21f3c6e517a9ff6 |
|
MD5 | 2c2f2b6e6eded69296842758fef55004 |
|
BLAKE2b-256 | ebe99515a20181c018fb80664c85a5c546ae647a7ff74ca2acbeb02a1cd879d3 |
File details
Details for the file nissaga-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: nissaga-0.3.0-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5c6436dbc03a7cc0c349818ddc485a1c4236dce4e456d7465677c42fb7d8c52 |
|
MD5 | f59f0413a2d3d9c26109502cc6805876 |
|
BLAKE2b-256 | 0aed647942e9fb0055bce76840cf9b9b236b34796c60be30d5b6212ef1b70fca |