Explanation of the basics, underlying Gramps database. '''This is not intended to be a reference manual''', but an introductory programmer's guide to using the Gramps database access routines.
Separate [https://www.gramps-project.org/docs/ API Reference Documentation for version
5.0.x of Gramps] and as well as a simple [[Media:API.svg|UML (svg) for 4.1.x]] and [[Gramps Data Model]] overview are available.
Gramps is written in the [http://www.python.org Python] language. A basic familiarity with Python is required before the database objects can be effectively used. If you are new to Python, you may wish to check out the [https://docs.python.org/2/tutorial/ Python 2.x tutorial] or [https://docs.python.org/3/tutorial/ Python 3.x tutorial].
In this case, even though person1 and person2 represent the same person,
but are distinct objects. Changing the nickname of person1 does not affect person2. The person2 object will retain the original nickname.
Changes to the object do not become permanent until the object has been committed to the database. If multiple instances exist in memory at the same time, care must be taken to make sure that data is not lost.