Description
A number of good issues to start working on as a new contributor.
Contributions to documentation are especially appreciated.
getting started with contributions
- Say hello on Discord and get set up for development, see instructions in the developer guide
- 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” - Feel free to attend the regular community collab sessions or one of the topic specific stand-ups and tech sessions (see schedule on discord)
- 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 [DOC] Feedback thread on tutorial notebooks #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
- documentation: some in-memory formats are missing complete specification documentation. Pick one and add these: [DOC] Document less common in-memory data formats #7386
- documentation: some estimators are missing examples. Pick a file and start adding these, here is the umbrella issue: [ENH] add at least one usage example to docstrings of estimators #4264 - these should follow the general documentation style outlined in [DOC] Completing estimator class docstrings #1148 or the extension templates. If you start, post the name of the estimator you are working on in [DOC] Completing estimator class docstrings #1148; when you open a PR, refer to the issue.
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
- the tutorial for time series classification should be re-factored, in the style of the forecasting tutorial
- 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
- current open small tasks with a "recipe": [ENH] ensure that all estimators have two test parameter sets #3429
- pick a performance metric and implement the
_evaluate_by_index
method, recipe: [ENH] implement efficient_evaluate_by_index
for forecast performance metrics #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:
#7707