Skip to content

v1.0.0

Latest
Compare
Choose a tag to compare
@joeyaurel joeyaurel released this 02 Apr 14:43
· 49 commits to master since this release

Changes:

  • Added CHANGELOG.md
  • Set source code encoding to UTF-8 explicitly, since for Python 2 ASCII would be the default. For Python 3 the default is UTF-8.
  • Separated code of __init__.py into individual files, updating the package structure (#15)
    • Resulted in a new parser.py file containing the actual parser, a element.py containing the elements the parser can parse and a tags.py containing the used GEDCOM tags
  • Separated code of new element.py into individual modules extending the Element class within new submodule element to better
    differentiate between the type of Elements the parser parses (e.g. FamilyElement, IndividualElement, ...)
  • Added helpers.py containing helper functions like a @deprecated annotation to annotate methods or classes as
    deprecated. (The helpers may be removed when its contents are no longer used within the project.)
  • GEDCOM file is no longer parsed within constructor of Parser class (the actual parser; it was named Gedcom before).
    The new way to parse is as follows:
    # from gedcom import Gedcom   <- Old way of importing the parser
    from gedcom.parser import Parser
    
    file_path = '' # Path to your `.ged` file
    
    # The old way would be to supply the `Parser` (or `Gedcom`) class the `file_path` as its first parameter on initialization
    gedcom_parser = Parser()
    
    # The new way to parse a GEDCOM file
    gedcom_parser.parse_file(file_path)
    
    # ...

Deprecations:

  • get_individual() method within Element class. Use to_gedcom_string() instead.
  • given_match() method within IndividualElement class. Use given_name_match() instead.
  • get_burial() method within IndividualElement class. Use get_burial_data() instead.
  • get_burial() method within IndividualElement class. Use get_burial_data() instead.
  • get_census() method within IndividualElement class. Use get_census_data() instead.

Migrating from v0.2.x to v1.0.0:

The old way of importing the gedcom package was like this: from gedcom import Gedcom.

The new package code is separated into individual modules within the package. So Parser (the actual parser which was named Gedcom) would be imported like this:
from gedcom.parser import Parser, since the Parser class lies within the module parser within the package gedcom.

Same procedure for the Element class: from gedcom.element.element import Element, since the Element class lies
within the package gedcom, the subpackage element and the module element.

This allows for better maintainability and scalability.

If there are any questions or you encounter a bug please open an issue here.