I am starting to develop a Python application that provides a graphical interface for editing various graphical and numerical objects (this is a configuration and management tool for mobile robots, if you know). One of the questions is how to store data for the project (which means for the robot). The amount of data will be low (about 10 MB max.) And rather heterogeneous (geometric data of the robot, maps, missions, platform logs, recorded sensor data, project preferences, ...).
I do not want to develop my own storage tier. Project data must be stored in a single file and easily accessible from Python. Keeping updates should be cheap: I donβt want to use the explicit βSaveβ operation, and the changes should be saved as soon as they happen.
One ZIP file is probably impractical, and writing a save layer is required to write application objects to the repository. SQLite is an obvious candidate, possibly with SQLAlchemy as an object-relational level. ZODB also looks interesting, but so far I have no experience.
Any recommendations?
EDIT: When I say "application", I mean a program that should be installed on a user computer, not in a web application.
EDIT: I will open data files created by other (not necessarily trusted) people, similar to how I will do with Word or PDF files. It should be a safe operation.
source share