How we work#
pyOpenSci utilizes a range of platforms to facilitate internal collaboration and engagement with the broader community.
Wherever possible, we use open, collaborative tools such as GitHub and Google Drive to support transparency and accessibility.
Note
For information on how we onboard new staff, see the New Hire Onboarding page.
For daily operations, primarily use:
GitHub#
GitHub is a platform that pyOpenSci uses for collaborative work on process infrastructure, technical learning resources, and educational materials. GitHub helps our community of developers, scientists, and educators co-develop community resources while supporting collaborative workflows and version control.
GitHub supports tracking changes through Git, making it easy for multiple people to contribute, review, and improve materials such as software packages, technical documentation, and lessons. GitHub also supports transparent discussions and issue tracking, fostering community collaboration and providing a platform for feedback.
For pyOpenSci, GitHub serves as a central hub where contributions are organized and accessible, helping to ensure quality and inclusivity in our open science resources.
pyOpenSci uses GitHub to manage external content development for our:
pyOpenSci staff also use GitHub to track and fix bugs in our workflows and to create and update content.
We use GitHub project boards to:
GitHub is public-facing to our entire community.
To learn more about GitHub processes at pyOpenSci, refer to the GitHub processes handbook page.
Google Workspace#
Google Drive, part of the pyOpenSci Google Workspace, is used to store all internal pyOpenSci documents, spreadsheets, slides, photos, and graphics essential for our operations.
Each pyOpenSci salaried staff member has a personal, work-related Google Drive account for individual documents, while shared resources are stored in designated folders on the organizational shared drive.
Our Google Drive contains:
Branding guidelines
Event planning documents
Lesson development drafts and plans
Presentation slides for talks
Onboarding forms
And more
Google Workspace, which includes both Google Drive and email accounts, supports pyOpenSci’s daily operations and implements two-factor authentication for added security.
Organization Google Drive structure#
All pyOpenSci staff members should work on and store pyOpenSci-related documents in the pyos-shared Google Shared Drive. This ensures that all pyOpenSci employees can access, edit, and use these documents.
Storing documents in the shared drive also supports continuity, as documents are owned by the organization, not by individual users. This allows the pyOpenSci team to step in and support work in the event of an unplanned absence (for example, a medical emergency or family issue).
Employees can save personal documents such as 1-on-1 agendas, personal notes, and other information that does not need to be shared at the organizational level in their personal pyOpenSci Drive and share them with other team members as needed.
Slack#
pyOpenSci uses Slack to communicate both as paid staff and within our community organization. Slack supports asynchronous, synchronous, and remote communication.
When communicating internally, Slack is used for informal conversations, notifying other staff members of schedule changes, or discussing non-task-related matters. Conversations related to projects and tasks should be documented in the appropriate Asana project or issue.
Read more about how the community uses Slack on the Slack handbook page.
Important
If a conversation in Slack highlights the need for updated or new documentation, create an issue to track it. Community members may also volunteer to do this. If the issue is high-priority or time-sensitive, we may also create a linked Asana task and assign it to a core team member.
Don’t Interrupt: We use Don’t Interrupt in Slack to link calendars with Slack, making it easy to see when team members are online, unavailable, or on vacation. This is especially helpful for asynchronous work.
Asana#
Asana is an internal tool we use as pyOpenSci staff for general task management. Within Asana, we assign tasks to one another that need to be accomplished, along with their respective deadlines. In staff check-ins, we review tasks, update deadlines as needed, and discuss future efforts. Asana can also be used to build road maps for projects.
Asana is also connected to GitHub, which allows us to track open issues and pull requests as needed.
Asana is an internal tool we use as pyOpenSci staff for general task management. Within Asana, we assign tasks to one another, along with their respective deadlines. During staff check-ins, we review tasks, update deadlines as needed, and discuss future efforts. Asana can also be used to build project roadmaps.
Asana is connected to GitHub, allowing us to track relevant issues and pull requests as needed.
Bitwarden#
Bitwarden is a password manager and passkey service used by pyOpenSci at both individual and organizational levels.
For individuals: Team members are encouraged to use Bitwarden to securely store passwords related to their pyOpenSci work, including access to Google Workspace services, Slack, and Canva.
For the organization: Bitwarden manages shared login access to accounts where only one organizational account is needed, such as Eventbrite and Buffer. Authorized team members can access these shared credentials as necessary.