-
Notifications
You must be signed in to change notification settings - Fork 200
GSoC 2020 Projects
AiiDA is a workflow manager for computational science, with roots in computational materials science.
To be considered as a GSoC student, we ask that you make a pull request to aiida-core. It can be something small, like a doc fix or simple bug fix. For beginner-friendly issues, see
- a
- b
Level: intermediate
Description (2-5 sentences)
Level: intermediate
Description: AiiDA has her own front-end Object Relational Mapper (ORM) to map python objects to the corresponding database records and wraps around two other ORM libraries, Django and SqlAlchemy. This ORM allows users to create new objects, such as nodes in the provenance graph through the python API. The export/import functionality in AiiDA, which allows to export (parts) of a provenance graph and import it in another database, currently facilitates the sharing of data between users. The import functionality requires the creation of a lot of new objects in the database at once.
This project will
- make the import implementation backend ORM independent by passing through AiiDA's front-end ORM
- implement bulk insertion functionality in that ORM to make the importing of data as efficient as possible
This project will require the participant to work with the ORM of AiiDA so an understanding of Object Relational Mapper's is important. AiiDA's ORM is implemented with two different libraries, Django and SqlAlchemy, so previous experience with those is desirable but not required. Finally, AiiDA uses PostgreSQL as the Relational Database Management System (RDBMS), therefore knowledge and previous experience with PostgreSQL and/or SQL in general is important
If you're already familiar with AiiDA and have your own idea on how to improve it, we're happy to consider it. In this case, please think about the steps of how you would go about attacking the problem so that we can draw up a rough work plan.
Available co-mentors are
We have an active Slack workspace & biweekly developer meetings.