Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Gedcom Laravel Package

cgdprojects/laravel-gedcom

A Laravel package for working with GEDCOM genealogy files. Parse, read, and manipulate family tree data with an Eloquent-style API, making it easier to import GEDCOM records and build genealogy features in Laravel applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy on data portability. GEDCOM is the interchange lingua franca of genealogy (Ancestry, MyHeritage, FamilySearch, Findmypast, Gramps, and virtually every desktop tool exports it). Any product that lets users bring their family tree with them is really deciding whether to write and maintain a parser for a 40-year-old, notoriously quirky line-based format. This package is the "buy" side of that decision: adopt it and ship import in days rather than quarters. Frame it as a scoped, reversible bet — not an architectural commitment.
  • Feature enablement — onboarding and switching cost. Tree import is the activation moment for genealogy-adjacent products: a user with 4,000 people in Ancestry will not retype them. Import directly reduces the biggest adoption objection ("I'd lose ten years of research") and is the single highest-leverage lever for competitive migration. It also enables adjacent use cases: society/membership eligibility (DAR, lineage societies), archive and museum collections, family-history publishing, memorial/legacy products, and bulk ingestion for professional genealogists and researchers.
  • Roadmap sequencing — import before visualization. Parsed records (individuals, families, events, relationships) are the substrate for everything downstream: tree rendering, timeline views, search, match suggestions, DNA-adjacency features, source citations. Shipping a raw parser behind your own domain model unblocks the visualization and discovery roadmap without coupling it to GEDCOM's structure. Decide deliberately that the parser is ingestion, and your internal schema is the product.
  • International readiness and correctness. v3.4.3 ("Fix import of special characters") is exactly the class of defect that blocks non-English-speaking markets: accented Latin, Cyrillic, CJK, Hebrew/Arabic names, place names with diacritics. Genealogy is disproportionately an international and diaspora use case. A character-encoding fix is a plausible go-live unblocker for an EU/LatAm/APAC launch — worth noting in a release review even though it reads as "just a patch."
  • Compliance and trust decisions. GEDCOM files routinely contain living individuals — names, birth dates, addresses, sometimes notes about minors. Import is therefore a privacy decision, not just a technical one: your product needs a redaction/living-person policy, retention rules, and consent language before you accept the first upload. This is the part PMs most often under-scope; budget for it explicitly.
  • Maintenance signal, not a capability change. A 3.x patch to an existing line is evidence of a stable public API and a maintainer still watching the encoding edge cases. It does not justify re-planning scope or re-benchmarking. What it does justify is a dependency-risk review: 22 stars and a January 2023 release mean this is a small, likely single-maintainer project on a path that is expensive to rip out later.
  • Where it is not a differentiator. Parsing is commodity plumbing. Fund adoption cheaply, isolate it behind an interface, and spend product energy on what happens after the import: review-before-commit UX, conflict and duplicate resolution, "we found 12 issues in your file" reporting, merge previews, and an audit trail. That is where users actually judge whether the import was good.

When to Consider This Package

Consider adopting when:

  • You have committed to GEDCOM import/export in the next two quarters — user-supplied trees, migration from a competitor, or ingestion of donated/archival collections.
  • You are on Laravel/PHP and want to stay inside the framework's idioms (service provider, config, container) rather than bolt on a standalone parser.
  • You need read/import of GEDCOM 5.5/5.5.1-style files — individuals, families, events, relationships — and can normalize into your own schema immediately.
  • You are willing to own the surrounding product surface: validation UX, living-person redaction, encoding detection, queued/chunked processing for large files, and error reporting.
  • Your team has no appetite to own the format's edge cases indefinitely: custom _-prefixed tags, non-standard date phrases, CONC/CONT line continuations, NOTE blobs, media (OBJE) references, and legacy ANSEL encoding.

Look elsewhere (or wrap heavily and defer) when:

  • You need GEDCOM 7.0 support, round-trip-exact serialization, or write-back to third-party tools. A decade-old 3.x line is unlikely to be your 7.0 story; verify before promising export parity.
  • You need guaranteed maintenance — an SLA, security response, or a vendor relationship. 22 stars and no release since January 2023 is a real bus-factor signal; treat the package as "adopt, wrap, and be prepared to fork."
  • Your needs are research-grade: probabilistic record linkage, source-citation modeling, or very large trees (100k+ individuals) where streaming/memory behavior matters more than convenience.
  • You are not on Laravel, or you need a language-agnostic ingestion service shared across products.
  • Your compliance posture requires vendored, audited, internally owned code on data-handling paths — in which case read the MIT-licensed source, fork it, and pin.

Due diligence before committing: this one release note is not evidence of fitness. Verify the last 12 months of commit and issue activity, supported PHP/Laravel versions (a 2023 release may not run cleanly on current framework majors), test coverage of encoding and CONC/CONT paths, GEDCOM version handling, open security advisories, and whether the maintainer responds to issues. Then build a permanent fixture corpus — accented Latin, CJK, RTL, emoji, BOM-prefixed files, ANSEL-encoded files, malformed/half-truncated uploads — so the special-character class of bug in v3.4.3 can never silently regress. Write the adapter interface first; that is the cheap insurance against the project stalling.

How to Pitch It (Stakeholders)

To executives (30 seconds): This is commodity plumbing, not a product bet. GEDCOM is the universal file format for family trees, so adopting a parser lets us ship "bring your existing tree with you" onboarding — our strongest answer to the switching objection — without burning engineering quarters on a 40-year-old file format's quirks. It is MIT-licensed, Laravel-native, and the latest patch shows the maintainer is still fixing encoding edge cases, so dependency risk is manageable if we pin it and wrap it. The real work, and the real differentiation, is the review-and-resolve experience after import, plus a living-person privacy policy. The strategic angle worth flagging: the character-encoding fix removes a genuine blocker for international and diaspora users.

To engineering (the ask): Adopt behind a thin internal adapter/interface so the swap or fork cost stays low — assume we may outgrow it or end up maintaining it. Pin the version, confirm PHP/Laravel compatibility against our current stack (the last release is from January 2023), and read the source before trusting it: CONC/CONT continuation handling, custom tags, date-phrase parsing, and encoding detection are where these parsers actually break. Build a fixture corpus of multilingual, ANSEL, BOM-prefixed, and malformed files and put it in CI. Run imports through queued jobs with chunking so large trees don't blow request time or memory. Persist parsed GEDCOM into our own schema and treat the package as ingestion only — no domain logic should depend on its data structures. And surface import errors as structured, per-record diagnostics rather than exceptions.

To design and support: The upload is the moment of highest anxiety and highest churn — a user is handing over years of research. Re-test the flow with real international data (accented names, non-Latin scripts, place names) and confirm the copy is honest about what was and wasn't imported. Support should capture the original file plus encoding metadata for every import complaint, since encoding issues will reduce but not disappear. Most importantly: agree the living-person redaction and consent story up front — users will notice, and get upset, if a deceased relative's record is treated the same as a living one.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource