Generate ancestor (genealogy) chart
Project description
life_line_chart
Generate ancestor and descendants (genealogy) chart. SVG export is supported.
Getting started
Install the module and the requiredments. Open a gedcom file and generate a ancestor life line chart.
Prerequisites
You will need a gedcom file. You can use the automatically generated one from the tests directory in this repository ([tests/autogenerated.ged]).
from life_line_chart import DescendantChart, AncestorChart
from life_line_chart.GedcomInstanceContainer import get_gedcom_instance_container
individual_id = '@I249@'
chart = AncestorChart(
instance_container=get_gedcom_instance_container(
'tests/autogenerated.ged'),
formatting={'total_height': 800, 'horizontal_step_size':20}
)
chart.set_chart_configuration({'root_individuals': [
{'individual_id': individual_id, 'generations': 8}
]})
chart.update_chart()
chart.paint_and_save('example_1.svg')
individual_id = '@I2@'
chart = DescendantChart(
instance_container=get_gedcom_instance_container(
'tests/autogenerated.ged'),
formatting={
'total_height': 400,
'horizontal_step_size':70,
'relative_line_thickness':0.2}
)
chart.set_chart_configuration({'root_individuals': [
{'individual_id': individual_id, 'generations': 2}
]})
chart.update_chart()
chart.paint_and_save('example_2.svg')
individual_id = '@I2@'
chart = DescendantChart(
instance_container=get_gedcom_instance_container(
'tests/autogenerated.ged'),
positioning={
'chart_layout': 'cactus'
},
formatting={
'total_height': 400,
'birth_label_active': False,
'death_label_letter_y_offset': -3,
'line_weighting': 'number_of_descendants',
'horizontal_step_size':70,
'relative_line_thickness':0.2}
)
chart.set_chart_configuration({'root_individuals': [
{'individual_id': individual_id, 'generations': 3}
]})
chart.update_chart()
chart.paint_and_save('example_3.svg')
Installing
Then you will need the following modules:
- svgwrite (i.e. pyparsing)
- pillow (for tests with photos)
pip install -r requirements.txt
Building
python setup.py bdist_wheel
Automatically generating example gedcom files requires the module
- names
Building a wheel requires with setup.py requires:
- shutil
- glob
- setuptools
- distutils
- wheel
License
This project is licensed under the MIT License - see the LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
life_line_chart-1.7.2.tar.gz
(75.4 kB
view hashes)
Built Distribution
Close
Hashes for life_line_chart-1.7.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac952e6d1d69bf7158a6446bbd7fdf53d5f0e6f1e59c44969e59f6aaa986aa0d |
|
MD5 | 2e71ccd7dec99befb19c912a7e315d0d |
|
BLAKE2b-256 | 7daad619cbbf6b585e17863f7b992d6aec5716eae99a1e959671f3236bf9113e |