Releases: nickreynke/python-gedcom
Releases · nickreynke/python-gedcom
v2.0.0-dev3
chore: release 2.0.0-dev3
v2.0.0-dev2
Bump version: 2.0.0-dev1 → 2.0.0-dev2
v2.0.0-dev1
Bump version: 2.0.0-dev0 → 2.0.0-dev1
v1.0.0
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__.pyinto individual files, updating the package structure (#15)- Resulted in a new
parser.pyfile containing the actual parser, aelement.pycontaining the elements the parser can parse and atags.pycontaining the used GEDCOM tags
- Resulted in a new
- Separated code of new
element.pyinto individual modules extending theElementclass within new submoduleelementto better
differentiate between the type ofElements the parser parses (e.g.FamilyElement,IndividualElement, ...) - Added
helpers.pycontaining helper functions like a@deprecatedannotation 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
Parserclass (the actual parser; it was namedGedcombefore).
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 withinElementclass. Useto_gedcom_string()instead.given_match()method withinIndividualElementclass. Usegiven_name_match()instead.get_burial()method withinIndividualElementclass. Useget_burial_data()instead.get_burial()method withinIndividualElementclass. Useget_burial_data()instead.get_census()method withinIndividualElementclass. Useget_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.
v0.2.5dev
v0.2.4dev
v0.2.3dev
v0.2.2dev
Changes:
- Changed broken links to GEDCOM format specification (#2)
- Added support for BOM control characters (#5, thanks to @nomadyow!)
- Added support for the last line not having a CR and/or LF (#5, thanks to @nomadyow!)
- Added support for incorrect line splitting generated by Ancestry. Insert CONT/CONC tag as necessary (#5, thanks to @nomadyow!)
v0.2.1dev
v0.2.0dev
Changes:
- Added
developbranch to track and update current development process - Applied PEP 8 Style Guide conventions
- Renamed variables and methods to make their purpose more clear
- Outsourced GEDCOM tags to module level
- Added missing inline documentation
- Optimized
README.md(sections and better description) - Added
LICENSEfile - Cleaned up and optimized code