mirror of https://github.com/kivy/kivy.git
reorganize based on difficulty
This commit is contained in:
parent
797ba82667
commit
a7f7d93092
|
@ -85,40 +85,81 @@ Project Ideas
|
||||||
The mentors list is only of potential mentors for a particular project and not
|
The mentors list is only of potential mentors for a particular project and not
|
||||||
final.
|
final.
|
||||||
|
|
||||||
Enhancements to Kivy
|
Beginner Projects
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
These projects should be suitable for anyone with a college level familiarity
|
||||||
|
with Python and require little knowedge of platform specifics.
|
||||||
|
|
||||||
**Font Reshaping and Font Fallback Support**
|
**Kivy Designer**
|
||||||
|
|
||||||
Description:
|
Description:
|
||||||
Currently Kivy does not support reshaping for alphabets such as Arabic,
|
Kivy Designer is a GUI tool for creating Kivy GUI layouts written in Kivy.
|
||||||
Persian, Thai, or Devanagari. The solution is to integrate a text shaping
|
You can compose, customize, and test widgets using the tool. This project
|
||||||
engine- Harfbuzz. You would need to ensure that we can compile Harfbuzz
|
has been the subject of 2 previous GSoC and is experimental, alpha level
|
||||||
on every platform and properly integrate it as a core text provider.
|
software at the moment. However, it is a very popular request for more
|
||||||
|
updates among our users; if you are interested in GUI tool development
|
||||||
The second part of the same project would involve font fallback support.
|
this could be a great fit for you!
|
||||||
If a particular character/glyph is missing; currently we show a [] box.
|
|
||||||
The solution for this would involve either using an OS API if available
|
The Student will:
|
||||||
or maintaining a hashtable for the default fonts on each OS which can be
|
|
||||||
used for glyph fallback.
|
- Integrate Buildozer, which is our build tool for deploying to different
|
||||||
|
target OS, within the kivy-designer.
|
||||||
|
- Interface for using hanga.io (Remote Buildozer server) as a deployment
|
||||||
|
target.
|
||||||
|
- Better File management for project files. Browser Pane.
|
||||||
|
- Interface to test using different screen modules, for emulating interface
|
||||||
|
on different screen sizes.
|
||||||
|
- Interface to Select different targets, simulator or actual device if
|
||||||
|
connected to deploy to.
|
||||||
|
- Add mobile specific UI fixes(mostly making sure UI looks and feels the
|
||||||
|
same on tablets as on desktops)
|
||||||
|
- Work on stability fixes.
|
||||||
|
|
||||||
References:
|
References:
|
||||||
- http://www.freedesktop.org/wiki/Software/HarfBuzz/
|
- https://github.com/kivy/kivy-designer
|
||||||
- https://github.com/kivy/kivy/tree/master/kivy/core/text
|
- http://github.com/kivy/buildozer
|
||||||
|
- http://hanga.io
|
||||||
|
|
||||||
Expected outcome:
|
Expected outcome:
|
||||||
Font fallback and text reshaping support Kivy and correct compilation
|
It is expected that the student be able to complete all the features
|
||||||
recipes for the libs used (harfbuzz) for platforms(Android and iOS) that
|
mentioned above; except stability fixes which is dependent on however much
|
||||||
need it, such as Python-For-Android.
|
time is left after completing the rest of the features.
|
||||||
|
|
||||||
- **Mentors**: Akshay Arora, Jacob Kovac
|
- **Mentors**: Akshay Arora, Ryan Pessa
|
||||||
|
- **Requirements:** Access to Linux, Windows, OS X
|
||||||
|
- **Task level**: Easy
|
||||||
|
- **Desired Skills**: Experience with other GUI creation tools. Familiar
|
||||||
|
with Kivy approach to EventLoop and UIX Widgets.
|
||||||
|
|
||||||
|
**Matplotlib Integration**
|
||||||
|
|
||||||
|
Description:
|
||||||
|
More advanced graphing and plotting tools are a frequently requested
|
||||||
|
addition to Kivy, and it would be ideal to provide them via integration
|
||||||
|
with matplotlib's extensive feature set. The primary goal of the project
|
||||||
|
would be to write a Kivy backend to matplotlib that displays plots using
|
||||||
|
Kivy's own graphics API, but it would also involve ensuring that
|
||||||
|
matplotlib is deployable on every platform Kivy supports.
|
||||||
|
|
||||||
|
References:
|
||||||
|
- http://matplotlib.org/
|
||||||
|
- https://github.com/kivy/kivy
|
||||||
|
|
||||||
|
Expected outcome:
|
||||||
|
The matplotlib widgets will be included in the Kivy garden and ready to
|
||||||
|
use on all of Kivy's supported OS.
|
||||||
|
|
||||||
|
- **Mentors**: Alexander Taylor, Matthew Einhorn, Jacob Kovac
|
||||||
- **Requirements:** Access to Linux, Windows, OS X, Android, iOS
|
- **Requirements:** Access to Linux, Windows, OS X, Android, iOS
|
||||||
- **Task level**: Intermediate
|
- **Task level**: Easy
|
||||||
- **Desired Skills**: Familiarity with text rendering, HarfBuzz, and Kivy's
|
- **Desired Skills**: Familiarity with Kivy widget construction and
|
||||||
provider abstraction.
|
matplotlib.
|
||||||
|
|
||||||
Enhancements to Plyer
|
Intermediate Projects
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
These projects will involve more than just pure Python coding. You may find
|
||||||
|
yourself either dealing with the details of cross platform compilation or
|
||||||
|
working with communicating between Python and an API in a different language.
|
||||||
|
|
||||||
**Plyer:**
|
**Plyer:**
|
||||||
|
|
||||||
|
@ -155,12 +196,46 @@ Enhancements to Plyer
|
||||||
- **Mentors**: Ben Rousch, Sebastian Popute
|
- **Mentors**: Ben Rousch, Sebastian Popute
|
||||||
- **Requirements**: Access to Linux, Windows, OS X, iOS device,
|
- **Requirements**: Access to Linux, Windows, OS X, iOS device,
|
||||||
Android device.
|
Android device.
|
||||||
- **Task level**: Intermediate/Advanced.
|
- **Task level**: Intermediate
|
||||||
- **Desired Skills**: Familiarity with Pyjnius, PyOBJus.
|
- **Desired Skills**: Familiarity with Pyjnius, PyOBJus.
|
||||||
|
|
||||||
|
**Font Reshaping and Font Fallback Support**
|
||||||
|
|
||||||
Enhancements to Toolchain
|
Description:
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
Currently Kivy does not support reshaping for alphabets such as Arabic,
|
||||||
|
Persian, Thai, or Devanagari. The solution is to integrate a text shaping
|
||||||
|
engine- Harfbuzz. You would need to ensure that we can compile Harfbuzz
|
||||||
|
on every platform and properly integrate it as a core text provider.
|
||||||
|
|
||||||
|
The second part of the same project would involve font fallback support.
|
||||||
|
If a particular character/glyph is missing; currently we show a [] box.
|
||||||
|
The solution for this would involve either using an OS API if available
|
||||||
|
or maintaining a hashtable for the default fonts on each OS which can be
|
||||||
|
used for glyph fallback.
|
||||||
|
|
||||||
|
References:
|
||||||
|
- http://www.freedesktop.org/wiki/Software/HarfBuzz/
|
||||||
|
- https://github.com/kivy/kivy/tree/master/kivy/core/text
|
||||||
|
|
||||||
|
Expected outcome:
|
||||||
|
Font fallback and text reshaping support Kivy and correct compilation
|
||||||
|
recipes for the libs used (harfbuzz) for platforms(Android and iOS) that
|
||||||
|
need it, such as Python-For-Android.
|
||||||
|
|
||||||
|
- **Mentors**: Akshay Arora, Jacob Kovac
|
||||||
|
- **Requirements:** Access to Linux, Windows, OS X, Android, iOS
|
||||||
|
- **Task level**: Intermediate
|
||||||
|
- **Desired Skills**: Familiarity with text rendering, HarfBuzz, and Kivy's
|
||||||
|
provider abstraction.
|
||||||
|
|
||||||
|
|
||||||
|
Hard Projects
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
These projects may involve very indepth knowledge of Kivy's existing internals,
|
||||||
|
the hairy details of cross-platform compilation, or other fairly advanced
|
||||||
|
topics. If you are comfortable with the internals of Python, working with C
|
||||||
|
code, and using Cython to build your own C extensions these projects may
|
||||||
|
appeal to you.
|
||||||
|
|
||||||
**Python-For-Android Revamp:**
|
**Python-For-Android Revamp:**
|
||||||
|
|
||||||
|
@ -203,70 +278,6 @@ Enhancements to Toolchain
|
||||||
- **Desired Skills**: Understanding of cross-compilation for Android,
|
- **Desired Skills**: Understanding of cross-compilation for Android,
|
||||||
familiarity with PyJNIus
|
familiarity with PyJNIus
|
||||||
|
|
||||||
**Kivy Designer**
|
|
||||||
|
|
||||||
Description:
|
|
||||||
Kivy Designer is a GUI tool for creating Kivy GUI layouts written in Kivy.
|
|
||||||
You can compose, customize, and test widgets using the tool. This project
|
|
||||||
has been the subject of 2 previous GSoC and is experimental, alpha level
|
|
||||||
software at the moment. However, it is a very popular request for more
|
|
||||||
updates among our users; if you are interested in GUI tool development
|
|
||||||
this could be a great fit for you!
|
|
||||||
|
|
||||||
The Student will:
|
|
||||||
|
|
||||||
- Integrate Buildozer, which is our build tool for deploying to different
|
|
||||||
target OS, within the kivy-designer.
|
|
||||||
- Interface for using hanga.io (Remote Buildozer server) as a deployment
|
|
||||||
target.
|
|
||||||
- Better File management for project files. Browser Pane.
|
|
||||||
- Interface to test using different screen modules, for emulating interface
|
|
||||||
on different screen sizes.
|
|
||||||
- Interface to Select different targets, simulator or actual device if
|
|
||||||
connected to deploy to.
|
|
||||||
- Add mobile specific UI fixes(mostly making sure UI looks and feels the
|
|
||||||
same on tablets as on desktops)
|
|
||||||
- Work on stability fixes.
|
|
||||||
|
|
||||||
References:
|
|
||||||
- https://github.com/kivy/kivy-designer
|
|
||||||
- http://github.com/kivy/buildozer
|
|
||||||
- http://hanga.io
|
|
||||||
Expected outcome:
|
|
||||||
|
|
||||||
- **Mentors**: Akshay Arora, Ryan Pessa
|
|
||||||
- **Requirements:** Access to Linux, Windows, OS X
|
|
||||||
- **Task level**: Easy
|
|
||||||
- **Desired Skills**: Experience with other GUI creation tools. Familiar
|
|
||||||
with Kivy approach to EventLoop and UIX Widgets.
|
|
||||||
|
|
||||||
|
|
||||||
Applications
|
|
||||||
~~~~~~~~~~~~
|
|
||||||
|
|
||||||
**Matplotlib Integration**
|
|
||||||
|
|
||||||
Description:
|
|
||||||
More advanced graphing and plotting tools are a frequently requested
|
|
||||||
addition to Kivy, and it would be ideal to provide them via integration
|
|
||||||
with matplotlib's extensive feature set. The primary goal of the project
|
|
||||||
would be to write a Kivy backend to matplotlib that displays plots using
|
|
||||||
Kivy's own graphics API, but it would also involve ensuring that
|
|
||||||
matplotlib is deployable on every platform Kivy supports.
|
|
||||||
|
|
||||||
References:
|
|
||||||
- http://matplotlib.org/
|
|
||||||
- https://github.com/kivy/kivy
|
|
||||||
|
|
||||||
Expected outcome:
|
|
||||||
The matplotlib widgets will be included in the Kivy garden and ready to
|
|
||||||
use on all of Kivy's supported OS.
|
|
||||||
|
|
||||||
- **Mentors**: Alexander Taylor, Matthew Einhorn, Jacob Kovac
|
|
||||||
- **Requirements:** Access to Linux, Windows, OS X, Android, iOS
|
|
||||||
- **Task level**: Easy
|
|
||||||
- **Desired Skills**: Familiarity with Kivy widget construction and
|
|
||||||
matplotlib.
|
|
||||||
|
|
||||||
How to Contact devs
|
How to Contact devs
|
||||||
-------------------
|
-------------------
|
||||||
|
|
Loading…
Reference in New Issue