Skip to content

Man OSS Hackathon 2019

Mateusz Paprocki edited this page Nov 2, 2019 · 2 revisions

Man Open Source Hackathon 2019

Static typing of bokeh and related code

This is the primary task. The goal is to increase the coverage of static type declarations across bokeh's code base, including tests, examples and other utility code. Such declarations should include function signatures, class members and variables (if necessary, use inference when possible), using Python 3.6 syntax. Please keep unrelated changes, especially changes to run-time logic of the modified modules, to the very minimum. You can use bokehjs' type information to help your self out.

Related issues (tag: mypy):

Fix tests after migration to asyncio

After dropping support for Python 2 and <= 3.5, we were finally able to migrate from Tornado's coroutines to asyncio and async/await syntax. If you're knowledgeable in asynchronous programming in Python, it would be helpful to us to review the changes and to fix our tests.

Related issues (tag: component: server):

Improve reliability of integration tests

Our selenium integration tests are very unreliable and require fixing.

Related issues (tag: component: tests):

Test and fix issues on mobile and touch devices

Bokeh is currently broken on Chrome for Android. The goal is to figure out the reason for this and fix it. This may require you to set your mobile/touch device up for remote debugging (over USB or WiFi). If have a device of other kind, it still would be useful to test if all features work, and if not, report failures and hopefully fix them.

Related issues (plat: windows, plat: ie):

Test and fix issues on Windows and/or with IE

Being a small team and working primarily on Linux and OSX, we have little to no capability for testing on Windows (all browsers) or testing in Internet Explorer in particular. Any help, even just reproducing reported bugs would be helpful.

Related issues (plat: windows, plat: ie):

Investigate replacing metaclasses with PEP 487

We would like to simplify the internals of bokeh, specifically of bokeh.core module, which relies heavily on metaclasses. The goal is to investigate if new Python 3.6 features, mainly __init_subclass__() and __set_name__()__, as described in PEP 487, would allow us make such simplifications. At least a roughly working prototype should result from this work.

Contribute a new, unique example

If you know a famous and otherwise important visualization, that could be an valuable addition to our gallery, assuming we don't already have a similar one, then you are welcome to create one. In particular it would be useful to visualize features of bokeh that are not or underrepresented in our examples. For inspiration see e.g. sprint.py which is based on a visualization from NY Times.

Documentation improvements, spellchecking, etc.

You can help by proof reading the documentation and docstrings, improving grammar and spelling. You can also contribute missing documentation, improve docstring coverage, etc.

Related issues (tag: component: docs):

Other contributions

Contributions to other areas, especially areas of your expertise, are also welcome. There is a large variety of almost 450 issues to choose from. Issues labeled with good first issue may be a good starting point.