Developing a program to make a family tree.

Discussion in 'Python' started by Ata Jafari, Jan 14, 2011.

  1. Ata Jafari

    Ata Jafari Guest

    Hi there.
    I'm trying to develop a program like family tree maker. I have all
    information, so there is no need to search on the net. This must be
    something like trees. Can someone help me? I'm at the beginning.
    Thanks.

    --
    Ata J. Tabrizi
     
    Ata Jafari, Jan 14, 2011
    #1
    1. Advertising

  2. Ata Jafari

    Jon Clements Guest

    On Jan 14, 7:39 pm, Ata Jafari <> wrote:
    > Hi there.
    > I'm trying to develop a program like family tree maker. I have all
    > information, so there is no need to search on the net. This must be
    > something like trees. Can someone help me? I'm at the beginning.
    > Thanks.
    >
    > --
    > Ata J. Tabrizi
    >


    If you're after mature and actively developed Genealogy software
    developed in Python, then check out http://gramps-project.org/
    The developer list is very friendly.

    Otherwise, you're in for a struggle, as you need to choose a storage
    back-end, a GUI (wxWindows/GTK/Qt4 etc...), how to handle GEDCOM
    format (unless it's not going to be compatible with other software),
    does it need to produce web pages/reports (and in what formats).

    I strongly suggest looking at GRAMPS and see what you're setting
    yourself up for :)

    hth

    Jon
     
    Jon Clements, Jan 14, 2011
    #2
    1. Advertising

  3. ----- Original message -----
    > Hi there.
    > I'm trying to develop a program like family tree maker. I have all
    > information, so there is no need to search on the net. This must be
    > something like trees. Can someone help me? I'm at the beginning.
    > Thanks.
    >


    Family trees are nothing like trees, actually. If you start with that assumption, your software will sadly not be usable by many people.

    --
    regards,
    kushal
     
    Kushal Kumaran, Jan 15, 2011
    #3
  4. Ata Jafari

    Tim Harig Guest

    On 2011-01-14, Ata Jafari <> wrote:
    > I'm trying to develop a program like family tree maker. I have all
    > information, so there is no need to search on the net. This must be
    > something like trees. Can someone help me? I'm at the beginning.


    I don't know anything specific about family tree software and you don't
    really specify what you want your software to do. I can only assume
    that you are interested in taking the data in some format which contains
    the links between family members and creating a tree representation of
    that data?

    If I was going to attempt something like this, I would probably generate
    the representation as a set of postscript instructions. I would start
    with a basic template for a union which could be essentially pasted
    into different places in the output page. Then generating your tree
    is a simple matter of laying out the templates to match your data,
    filling in the template fields for each persion within their union,
    and drawing the connecting lines of the tree.

    Since I was already generating postscript anyway, I would probably
    implement much of the actual logic in postscript (the built in stacks
    provide an exellent way to process tree like structures in all of their
    nested levels). I would Python provide any user interface for manipulating
    the data and to dump the data into the postscript program.
     
    Tim Harig, Jan 15, 2011
    #4
  5. On 2011-01-14, Ata Jafari <> wrote:

    > I'm trying to develop a program like family tree maker. I have all
    > information, so there is no need to search on the net. This must be
    > something like trees.


    Not really. It's more like a combination of a directed graph
    and a relational database.

    > Can someone help me? I'm at the beginning.


    You do know there is already a "family-tree-maker" program written in
    Python, right?

    http://gramps-project.org/

    Your time might be better spent working on Gramps...

    --
    Grant
     
    Grant Edwards, Jan 15, 2011
    #5
  6. Ata Jafari

    Katie T Guest

    On Fri, Jan 14, 2011 at 7:57 PM, Jon Clements <> wrote:
    > Otherwise, you're in for a struggle, as you need to choose a storage
    > back-end, a GUI (wxWindows/GTK/Qt4 etc...), how to handle GEDCOM
    > format (unless it's not going to be compatible with other software),
    > does it need to produce web pages/reports (and in what formats).


    There are a couple of Python gedcom parsers around:

    http://ilab.cs.byu.edu/cs460/code/gedcom/gedcom.py

    https://github.com/dijxtra/simplepyged


    Katie
    --
    CoderStack
    http://www.coderstack.co.uk/python-jobs
    The Software Developer Job Board
     
    Katie T, Jan 15, 2011
    #6
  7. On Fri, Jan 14, 2011 at 11:39 AM, Ata Jafari <> wrote:
    > Hi there.
    > I'm trying to develop a program like family tree maker. I have all
    > information, so there is no need to search on the net. This must be
    > something like trees. Can someone help me? I'm at the beginning.
    > Thanks.


    I think you are probably coming at this from the wrong direction.
    Either you want to solve your family tree problem in the easiest way
    possible in which case there are already packages available or you
    want to develop this because you want to do the project to learn
    (more) python, etc. Assuming the later the fact you have to ask the
    question in the way you did means you are short on software design
    experience and don't know much about the problem domain (genealogy).
    Additionally you probably havn't written much code although you came
    here so you probably have a little experience. That is triple death.
    You need to hold a couple of those variables stable. I'd suggest
    finding a existing open source genealogy program and use bug fixing as
    a way to learn basics about the package and then try to add a feature
    as a way of learning something about software design.

    Michael
     
    Michael Hunter, Jan 15, 2011
    #7
  8. Ata Jafari

    Ata Jafari Guest

    People here guided me to GRAMPS, an open-source software project. Yes,
    I'm new, and Python is my first programming language. My software
    should not be only a "tree-like" one. There are 254 people in this
    family tree. I'm trying to find another method. But I think it is
    better to start with contributing to GRAMPS first.
    Thanks.

    Ata
     
    Ata Jafari, Jan 15, 2011
    #8
  9. Ata Jafari

    rantingrick Guest

    On Jan 15, 3:43 pm, Michael Hunter <> wrote:

    > I think you are probably coming at this from the wrong direction.
    > Either you want to solve your family tree problem in the easiest way
    > possible in which case there are already packages available or you
    > want to develop this because you want to do the project to learn
    > (more) python, etc.  Assuming the later the fact you have to ask the
    > question in the way you did means you are short on software design
    > experience and don't know much about the problem domain (genealogy).
    > Additionally you probably havn't written much code although you came
    > here so you probably have a little experience.  That is triple death.
    > You need to hold a couple of those variables stable.  I'd suggest
    > finding a existing open source genealogy program and use bug fixing as
    > a way to learn basics about the package and then try to add a feature
    > as a way of learning something about software design.



    While i mostly agree with this statement i must also whole-heart-ly
    disagree.

    I have many projects that i am currently "developing" that are far
    beyond my skill set at this time. However this "lack of experience"
    within the problem domain does not scare me away. Actually i want to
    learn how many things work "under the hood". So what i do is develop
    and design until i hit a wall. Then i move over to another project and
    develop and design until i hit another wall. Sometimes i have to go
    back and re-write the hole thing, but hey, its part of the learning
    curve.

    And in the process something interesting always happens... I find
    that solving one problem lends knowledge and insight into another
    completely different problem. This technique may not be for the weak
    of heart but it works well for me. I like a challenge. I also like to
    learn. So this drives me to keep going.

    I can tell you that i have written code i previously thought was
    impossible for me to create. Nothing is impossible if you want it bad
    enough or if you can manage to live long enough! :). Sadly even if
    your thirst for knowledge is unquenchable, your life will be quenched
    in due time :(. But i do not want to image a world where we all live
    forever, what a nightmare!
     
    rantingrick, Jan 16, 2011
    #9
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Stephan Mueller

    compiler for Xilinx Spartan 1 (XCS) family

    Stephan Mueller, Oct 22, 2004, in forum: VHDL
    Replies:
    4
    Views:
    1,260
    rickman
    Oct 23, 2004
  2. Skumar
    Replies:
    3
    Views:
    831
    Steve Zimmerman
    Aug 24, 2003
  3. Stub

    B tree, B+ tree and B* tree

    Stub, Nov 12, 2003, in forum: C Programming
    Replies:
    3
    Views:
    10,235
  4. family tree and

    , Dec 22, 2005, in forum: C Programming
    Replies:
    8
    Views:
    393
    Sven Hesse
    Dec 23, 2005
  5. Henry Townsend

    looking for a "family tree" data type

    Henry Townsend, Jan 19, 2008, in forum: Java
    Replies:
    7
    Views:
    397
Loading...

Share This Page