Skip to content

Commit 088ab88

Browse files
committed
Merge branch 'release/v1.0.0'
2 parents 7fea5c5 + e3415e5 commit 088ab88

27 files changed

+2460
-1287
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Ignore .ged files
22
*.ged
33

4+
# Unignore .ged test files
5+
!tests/files/*.ged
6+
47
# Due to using tox
58
.tox
69

CHANGELOG.md

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Python GEDCOM Parser - Changelog
2+
3+
## [v1.0.0](https://github.com/nickreynke/python-gedcom/releases/tag/v1.0.0)
4+
5+
### Changes:
6+
7+
- Added `CHANGELOG.md`
8+
- 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.
9+
- Separated code of `__init__.py` into individual files, updating the package structure ([#15](https://github.com/nickreynke/python-gedcom/issues/15))
10+
- 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
11+
- Separated code of new `element.py` into individual modules extending the `Element` class within new submodule `element` to better
12+
differentiate between the type of `Element`s the parser parses (e.g. `FamilyElement`, `IndividualElement`, ...)
13+
- Added `helpers.py` containing helper functions like a `@deprecated` annotation to annotate methods or classes as
14+
deprecated. (The helpers may be removed when its contents are no longer used within the project.)
15+
- GEDCOM file is no longer parsed within constructor of `Parser` class (the actual parser; it was named `Gedcom` before).
16+
The new way to parse is as follows:
17+
```python
18+
# from gedcom import Gedcom <- Old way of importing the parser
19+
from gedcom.parser import Parser
20+
21+
file_path = '' # Path to your `.ged` file
22+
23+
# The old way would be to supply the `Parser` (or `Gedcom`) class the `file_path` as its first parameter on initialization
24+
gedcom_parser = Parser()
25+
26+
# The new way to parse a GEDCOM file
27+
gedcom_parser.parse_file(file_path)
28+
29+
# ...
30+
```
31+
32+
### Deprecations:
33+
34+
- `get_individual()` method within `Element` class. Use `to_gedcom_string()` instead.
35+
- `given_match()` method within `IndividualElement` class. Use `given_name_match()` instead.
36+
- `get_burial()` method within `IndividualElement` class. Use `get_burial_data()` instead.
37+
- `get_burial()` method within `IndividualElement` class. Use `get_burial_data()` instead.
38+
- `get_census()` method within `IndividualElement` class. Use `get_census_data()` instead.
39+
40+
### Migrating from v0.2.x to v1.0.0:
41+
42+
The old way of importing the `gedcom` package was like this: `from gedcom import Gedcom`.
43+
44+
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:
45+
`from gedcom.parser import Parser`, since the `Parser` class lies within the module `parser` within the package `gedcom`.
46+
47+
Same procedure for the `Element` class: `from gedcom.element.element import Element`, since the `Element` class lies
48+
within the package `gedcom`, the subpackage `element` and the module `element`.
49+
50+
This allows for better maintainability and scalability.
51+
52+
If there are any questions or you encounter a bug please open an issue [here](https://github.com/nickreynke/python-gedcom/issues).
53+
54+
## [v0.2.5dev](https://github.com/nickreynke/python-gedcom/releases/tag/v0.2.5dev)
55+
56+
- Updated project structure ([#18](https://github.com/nickreynke/python-gedcom/issues/18))
57+
- Fixed `setup.py` outputting correct markdown when reading the `README.md` ([#16](https://github.com/nickreynke/python-gedcom/issues/16))
58+
- Applied Flake8 code style and **added explicit error handling**
59+
- Set up test suite
60+
61+
## [v0.2.4dev](https://github.com/nickreynke/python-gedcom/releases/tag/v0.2.4dev)
62+
63+
- Made `surname_match` and `given_match` case insensitive ([#10](https://github.com/nickreynke/python-gedcom/issues/10))
64+
- Added new `is_child` method ([#10](https://github.com/nickreynke/python-gedcom/issues/10))
65+
66+
## [v0.2.3dev](https://github.com/nickreynke/python-gedcom/releases/tag/v0.2.3dev)
67+
68+
- Assemble marriages properly ([#9](https://github.com/nickreynke/python-gedcom/issues/9))
69+
- Return the top NAME record instead of the last one ([#9](https://github.com/nickreynke/python-gedcom/issues/9))
70+
71+
## [v0.2.2dev](https://github.com/nickreynke/python-gedcom/releases/tag/v0.2.2dev)
72+
73+
- Support BOM control characters ([#5](https://github.com/nickreynke/python-gedcom/issues/5))
74+
- Support the last line not having a CR and/or LF
75+
- Support incorrect line splitting generated by Ancestry. Insert CONT/CONC tag as necessary ([#6](https://github.com/nickreynke/python-gedcom/issues/6))
76+
77+
## [v0.2.1dev](https://github.com/nickreynke/python-gedcom/releases/tag/v0.2.1dev)
78+
79+
- Changed broken links to GEDCOM format specification ([#2](https://github.com/nickreynke/python-gedcom/issues/2))
80+
81+
## [v0.2.0dev](https://github.com/nickreynke/python-gedcom/releases/tag/v0.2.0dev)
82+
83+
- Added `develop` branch to track and update current development process
84+
- Applied PEP 8 Style Guide conventions
85+
- **Renamed variables and methods** to make their purpose more clear
86+
- **Outsourced GEDCOM tags to module level**
87+
- **Added missing inline documentation**
88+
- Optimized `README.md` (sections and better description)
89+
- Added `LICENSE` file
90+
- Cleaned up and optimized code
91+
92+
## [v0.1.1dev](https://github.com/nickreynke/python-gedcom/releases/tag/v0.1.1dev)
93+
94+
- initial release; [forked](https://github.com/madprime/python-gedcom)

MANIFEST.in

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
# Include the README
1+
# Include the README and the CHANGELOG
22
include *.md
33

44
# Include the license file
55
include LICENSE.txt
66

77
# Include the `requirements.txt` file
88
include requirements.txt
9+
10+
# Include GEDCOM test files
11+
include tests/files/*.ged

0 commit comments

Comments
 (0)