Project & Team
This page describes the TheeML project organisation and the main roles and responsibilities in the TheeML team. This structure was set in place in 2024, but we expect this structure to evolve over the coming years, adapting to the size and composition of the TheeML development team, and the requirements and needs of scientists and projects using TheeML. If you would like to become part of the TheeML team, please get in contact. Help is always welcome!
Overview
The following sections describe the major roles and responsibilities in the TheeML team:
Coordination Committee
The TheeML coordination committee (CC) is the board that is responsible to promote, coordinate and steer TheeML developments. It also serves as main contact point for the TheeML project. The CC is composed by the TheeML principal investigator, release manager, and plug-ins point of contacts.
Responsibilities include:
Being the point of contact for the TheeML project.
Promote the use of TheeML by new projects.
Keep the overview of ongoing activities, schedules and action items and follow up to make sure all important things get done.
Make decisions on the scope, content and development priorities for the TheeML package.
Support and grow the TheeML team (help find people-power and funding)
Support and coordinate the use of TheeML for scientific or technical studies and papers
Organise and drive all non-technical aspects of the project on a day-to-day basis.
Keep an overview and help coordinate all activities that have some involvement of TheeML, such as e.g. papers, presentations or posters about or using TheeML at gamma-ray or X-ray astronomy meetings or conferences, or tutorials at schools / workshops on gamma-ray astronomy data analysis.
Manage the TheeML developer / maintainer / contributor team. Distribute tasks and assign responsibilities to other TheeML developers.
Ensure that anyone interested in contributing to TheeML development has good resources (documentation, communication, mentoring) to get started. Specifically: maintain the TheeML developer documentation that describes all aspects of TheeML development (code, testing, documentation, processes).
Organise TheeML developer calls and coding sprints via TheeML-meetings
Schedule TheeML releases and define which fixes and features go in which release, taking the needs of people and projects using TheeML as well as available manpower for developments into account. Either execute releases directly or assign a release manager.
Monitor and assign of issues and pull requests,
Ensure TheeML infrastructure is well set up and maintained (issue tracker and pull requests on Github, continuous integration tests, documentation builds, releases and distribution).
Current CC members:
Nicola Omodei (PI) - Stanford University
Niccolò Di Lalla (Release manager, IXPE) - Stanford University
somenone (HAWC) - Institution
Israel Martinez Castellanos (cosipy) - NSFC
somenone (polpy) - Institution
Michael Larson (i3mla) - Institution
somenone (polarpy) - Institution
Principal Investigator
The TheeML Principal Investigator (PI) is in charge of seeking funding, they overview the work and work closely with the TheeML coordination committee, lead developers, contributors and users.
Responsibilities include:
Maintain TheeML communication channels (mailing lists, slack, github, …)
Serve as TheeML coordination committee secretary (schedule and moderate calls; give status reports; write minutes)
Serve on the TheeML coordination committee, as the link between CC and the development team.
Appoint the TheeML managers (non-technical lead) and lead developers (technical lead)
Organise TheeML user calls and training events via TheeML-meetings
Review the documents are properly reviewed and eventually decisions made by the CC.
Current TheeML PI:
Nicola Omodei - Stanford University
Lead developers
The lead developers are the technical executive leads for the TheeML project. The lead developers are appointed by the TheeML coordination committee, and work closely with the TheeML coordination committee, project managers and contributors.
Responsibilities include:
Organize and drive all technical aspects of the project on a day-to-day basis. Keep the overview of ongoing activities, schedules and action items and follow up to make sure all important things get done.
Evaluating new pull requests for quality, API consistency and TheeML coding standards,
Supporting developers on tasks associated to the sub-package(s),
Taking care of the global design of the sub-package(s) in the context of the global TheeML architecture, participating to the User Support for questions related to the sub-package(s).
Solve, comment, or re-assign issues and pull requests.
Current TheeML lead developers:
Niccolò Di Lalla (Relesse manager) - Stanford University
Nicola Omodei (PI) - Stanford University
Sub-package and plug-in maintainers and point of contacts
Responsibilities include:
Solve, comment or reassign issues and pull requests.
support development on tasks associated to the sub-package(s),
evaluating new pull requests for quality, API consistency and TheeML coding standards,
taking care of the global design of the sub-package(s) in the context of the global TheeML architecture,
participating to the User Support for questions related to the sub-package(s).
Contributors and previous core developers
Some of the original TheeML developer have left the academia or move to different jobs. Nonetheless we want to acknowledge their original involvement and vision in creating TheeML.
Giacomo Vianello
Michael Burgess
Henrike Fleischhack
Supporting institutions
People involved in TheeML are coming from different institutions, laboratories and universities. We acknowledge them for their daily support.
Grants
Grants that are supporting the development of TheeML:
National Science Foundation (NSF): award number: 2011759 P.I.: Nicola Omodei (Stanford University)