sktime/sktime

Good first issues & getting started, for new contributors

Open

#1,147 opened on Jul 17, 2021

View on GitHub
 (48 comments) (12 reactions) (0 assignees)Python (1,192 forks)batch import
API designdocumentationgood first issueimplementing algorithmsimplementing frameworkinterfacing algorithmsmaintenancemodule:classificationmodule:clusteringmodule:detectionmodule:distances&kernelsmodule:forecastingmodule:tests

Repository metrics

Stars
 (7,162 stars)
PR merge metrics
 (Avg merge 26d 10h) (86 merged PRs in 30d)

Description

A number of good issues to start working on as a new contributor. Contributions to documentation are especially appreciated.

getting started with contributions

  1. Say hello on Discord and get set up for development, see instructions in the developer guide
  2. Pick a “good first issue” to work on, see a collection in this summary issue, or from this list suggestion: pick something small with simple content to learn the “process”
  3. Feel free to attend the regular community collab sessions or one of the topic specific stand-ups and tech sessions (see schedule on discord)
  4. Once your first PR is merged and you’ve seen how things work, think about your regular time commitment. Optionally, continue attending the Friday community collaboration sessions and stand-ups; or, optionally, apply for mentoring

introductory and user testing

  • work through the sktime tutorials and record feedback, you can post it in this issue #1447
  • work through user testing sheets for forecasting or time series classification, record feedback and send us your user testing sheet with code (e.g., attach to this issue)
  • open an issue with a time series related algorithm that you would like to see implemented or interfaced in sktime
  • work through the installation instructions to install a development version of sktime. Record carefully things that are unclear or don't work as described, return the full feedback to us (e.g., in an issue).

contributors new to open source

NOTE: #1148 is closed, but there are still modules without good docstrings. They are just no longer tracked by the issue, which covered the priority items only. So, feel free to go through the code base and help improve docstrings!

small-to-medium documentation and technical writing tasks

  • an extension templates for time series regression is missing. The current extension templates can be used as a template for writing an extension template.
  • there is a lot of new content in conference presentations and workshops that has not been included in the main tutorials yet! Have a look at the workshops - these are repositories in the github.com/sktime organizations ending in "tutorial" or "workshop", and find a topic that interests you (e.g., you want to learn about). Then, ping a developer on discord/dev-chat to verify the latest priorities on that topic´s documentation.

small-to-medium python/coding tasks

  • pick a performance metric and implement the _evaluate_by_index method, recipe: https://github.com/sktime/sktime/issues/4304
  • pick an unverified bug from the bugfixing board: https://github.com/sktime/sktime/projects/18 and try to reproduce it. Post operating system, python version and (if relevant) package versions, and whether you can yes/no. Investigate further if the bug looks simple - but note that bugs can be anywhere between easy to very difficult to track down.
  • Pick an algorithm to implement or interface, according to the extension templates. Possible choices are forecasters (univariate or multivariate), time series classifiers, time series regressors, detectors, distances, kernels - these can be existing feature requests, or new suggestions. We currently do not recommend transformers as they undergo refactoring.

mid to longer term tasks

For contributing across a period of weeks or months, consider joining one of the major workstreams and weekly stand-ups on Fridays, or work on a mini-project.

Active workstreams are in the "workstream" group of channels, on discord.

Project ideas are listed here: https://github.com/sktime/mentoring/blob/main/internships/projects_2024.md

challenging tasks

✨ Your time to shine! ✨ Talk to a core dev before starting with these.

Ideas for more difficult tasks are listed on the current roadmap: https://github.com/sktime/sktime/issues/7707

Contributor guide