Skip to main content

object-ql

An Object Query Language, for the Gramps Project and other objects.

This project is designed to be a drop-in replacement for https://github.com/DavidMStraub/gramps-ql

Rather than having to build, and learn, a new query language, the idea is to build on top of Python, the native language of the Gramps Project. And, rather than having to convert the Gramps raw data into objects, then dicts, and then back again to objects (when needed), this query system can operate directly on the objects.

Each object can be identified by its lower-case class type, eg person, note, family, etc.

Examples:

Find the person with a particular gramps_id:

person.gramps_id == 'person001'

Find all of the people with notes:

person.get_note_list()

Find all of the people with notes that mention 'vote':

any([('vote' in str(get_note(handle).text)) for handle in person.get_note_list()])

Usage

If you don't know what the type is, you can use obj, like:

"23" in obj.gramps_id

You can use standard dot notation to reference any object. Refer to Gramps Primary Objects for the structure of Gramps objects.

You can also use the SimpleAccess methods that make access to some data much easier. The SimpleAccess is available as sa, as shown below.

Select all of the people that have are married to a person named "Donna":

sa.first_name(sa.spouse(person)) == "Donna"

Metadata

Release files for object-ql 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for object-ql 0.1.3
File Size Uploaded
object_ql-0.1.3.tar.gz 7.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for object-ql 0.1.3
File Interpreter ABI Platform
object_ql-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 13.4 kB

Release files / object_ql-0.1.3.tar.gz

Download URL object_ql-0.1.3.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
89ceeb73b704f25f4afe73d8351afeb6d66f8735702701b505c02b159d213d12
BLAKE2b-256 checksum
How to use checksums
6ee8e6b6bf7fa0280d4f14c87333c6f7fe48cc85de5fb880910cd7a785a95b9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release files / object_ql-0.1.3-py3-none-any.whl

Download URL object_ql-0.1.3-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d5b4ed9a298e8e6a9641819e517cc500b339a6121df4bdbbb61feeaa31e98d5
BLAKE2b-256 checksum
How to use checksums
fe3f168017dd72c21dcc2e81c90f42c3294302b4f226c3b4e56a705b44c6bf1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page