kivy/doc/sources/gsoc.rst

162 lines
6.0 KiB
ReStructuredText
Raw Normal View History

2014-02-09 03:56:00 +00:00
Google Summer of Code - 2014
2013-03-20 05:29:26 +00:00
============================
2014-02-13 04:32:56 +00:00
Kivy is hoping to participate in Google Summer of Code 2014.
This page showcases some ideas for gsoc projects and corresponding
guidelines to get students familiar with contributing towards the
kivy framework.
Requirements
------------
It is assumed that the incoming student be familiar with some basic
skills as highleted here::
* Intermediate level familiarity with python
* Student should be fairly comfortable with git and github
(Kivy and it's sister projects are all managed on github)
* Comfortable with Event Driven programming.
* Preset development environment for kivy or the appropriate
sister project you are going to work on. For example to be
able to work on pyobjus/pyjnius/plyer you would need access
to a ios device, mac with xcode and a developer license,
android device respectively.
Additional desired skills may be listed with specific projects.
Familiarize yourself with the contributing guide http://kivy.org/docs/contribute.html
We can help you get up to speed, however students demonstrating ability
in advance would be given preference.
2013-03-20 05:29:26 +00:00
Projects ideas
--------------
2014-02-13 04:32:56 +00:00
THIS SECTION IS WIP. The mentors list is not yet final.
2013-03-20 05:29:26 +00:00
Kivy
~~~~
2014-02-13 04:32:56 +00:00
* Embedded Support:
2014-02-13 04:55:17 +00:00
- Mentors: Gabriel Pettier, Mathieu Virbel
- Requirements: Access to specific embedded hardware.
- Task level: Intermediate/Advnced
- Desired Skills: Familiarity with programming on the specific embedded hardware.
2014-02-13 04:32:56 +00:00
Add full support for major embedded platforms like Beagle
2014-02-11 21:56:52 +00:00
Board and Raspberry Pi. Kivy already has partial support for RPi. It would be
great to get full support for other major embedded platforms.
2014-02-13 04:32:56 +00:00
* Inspector:
2014-02-13 04:55:17 +00:00
- Mentors: Alexander Taylor, Akshay Arora
- Task level: Intermediate
2014-02-13 04:32:56 +00:00
Redo or improve the inspector module. Python has awesome
2014-02-11 13:26:43 +00:00
introspection possibilities. Let's work together to have an awesome inspector
2014-02-11 21:56:52 +00:00
that would allow the user to debug anything from their application.
2014-02-13 04:32:56 +00:00
* Graphics Pipeline Enhancements:
2014-02-13 04:55:17 +00:00
- Mentors: Jacob Kovac, Mathieu Virbel
- Task level: Intermediate/Advnced
- Desired Skills: Familiarity with OpenGL, desire to learnsolve difficult
concepts/puzzles.
2014-02-13 04:32:56 +00:00
We have a lot of ideas around the graphics
2014-02-11 21:56:52 +00:00
pipeline, like merging instructions or VBOs to reduce GL calls, helpers to
create shaders dynamically according to the current vertex format, and
improving 3D support.
2014-02-11 13:26:43 +00:00
2013-03-20 05:29:26 +00:00
Mobile
~~~~~~
2014-02-13 04:32:56 +00:00
* Plyer:
2014-02-13 04:55:17 +00:00
- Mentors: Gabriel Pettier, Akshay Arora, Alexander Taylor.
- Requirements: Access to linux, windows, Mac OsX, ios device, android device.
- Task level: Intermediate/Advnced.
- Desired Skills: Familiarity with Pyjnius, PyObjus.
2014-02-13 04:32:56 +00:00
The idea is to provide a stable API to the user for accessing features
2014-02-11 21:56:52 +00:00
of your desktop or mobile device, such as Accelerometer, GPS, SMS, Contact,
and more. Under the hood, you'll use PyJNIus, PyOBJus, and Cython, to do what
needs to be done. This probably would also include improving PyObjus and
PyJnius to handle interfaces that they can't right now.
2014-02-13 04:32:56 +00:00
* SL4A Facades:
2014-02-13 04:55:17 +00:00
- Mentors: Gabriel Pettier, Alexander Taylor, Akshay Arora, Mathieu virbel
2014-02-13 04:32:56 +00:00
Porting facades from Scripting Language for Android to Plyer
2014-02-11 21:56:52 +00:00
for easy integration and compatability.
2014-02-11 13:26:43 +00:00
2013-03-20 05:29:26 +00:00
Toolchain
~~~~~~~~~
2014-02-13 04:32:56 +00:00
* Toolchain for iOS:
2014-02-13 04:55:17 +00:00
- Mentors: Thomas Hansen, Mathieu Virbel
- Reuirements: Access to ios, android device along with a developer licence.
- Task level: Intermediate/Advnced
- Desired Skills: Familiarity with xcode, objc.
2014-02-13 04:32:56 +00:00
An iOS interface based on the idea of Python for Android,
2014-02-11 21:56:52 +00:00
in order to replace kivy-ios. Cross-platform compilation skills are heavily
2013-03-20 05:29:26 +00:00
required.
2014-02-13 04:32:56 +00:00
* Buildozer:
2014-02-13 04:55:17 +00:00
- Mentors: Gabriel Pettier, Akshay Arora, Alexander Taylor
- Requirements: Acces to linux, Windows, OsX, ios, android.
- Task level: Intermediate
2014-02-13 04:32:56 +00:00
Needs support for generating RPM, DEB, DMG, and EXE files. This,
2014-02-11 21:56:52 +00:00
however, might not be enough in itself for a GSoC project. It would have to
be joined together with some other work.
2013-03-20 05:29:26 +00:00
2014-02-13 04:32:56 +00:00
* SDL2 Backends:
2014-02-13 04:55:17 +00:00
- Mentors: Akshay Arora, Jacob Kovac, Mthieu Virbel
- Requirements: Acces to linux, Windows, OsX, ios, android.
- Task level: Intermediate/Advnced
2013-03-20 05:29:26 +00:00
2014-02-13 04:32:56 +00:00
SDL2 providers for Kivy, including porting the mobile
toolchains to SDL2. Part of the work is already done, so please contact the
devs for further details.
2013-03-20 05:29:26 +00:00
2014-02-11 21:56:52 +00:00
Anything Else ?
2013-03-20 05:29:26 +00:00
~~~~~~~~~~~~~~~
2014-02-11 21:56:52 +00:00
* Let your imagination run wild, and show what Kivy is capable of!
2013-03-20 05:29:26 +00:00
How to be a good student
------------------------
If you want to participate as a student and want to maximize your chances of
2014-02-11 21:56:52 +00:00
being accepted, start talking to us today and try fixing some smaller problems
2013-03-20 05:29:26 +00:00
to get used to our workflow. If we know you can work well with us, that'd be a
big plus.
Here's a checklist:
* Make sure to read through the website and at least skim the documentation.
* Look at the source code.
* Read our contribution guidelines.
2014-02-11 21:56:52 +00:00
* Pick an idea that you think is interesting from the ideas list or come up
with your own idea.
2013-03-20 05:29:26 +00:00
* Do some research **yourself**. GSoC is not about us teaching you something
and you getting paid for that. It is about you trying to achieve agreed upon
goals by yourself with our support. The main driving force in this should be,
2014-02-11 21:56:52 +00:00
obviously, yourself. Many students pop up and ask what they should do. Well,
2013-03-20 05:29:26 +00:00
we don't know because we know neither your interests nor your skills. Show us
2014-02-11 21:56:52 +00:00
you're serious about it and take the initiative.
2013-03-20 05:29:26 +00:00
* Write a draft proposal about what you want to do. Include what you understand
2014-02-11 21:56:52 +00:00
the current state is (very roughly), what you would like to improve, how,
2013-03-20 05:29:26 +00:00
etc.
* Discuss that proposal with us in a timely manner. Get feedback.
* Be patient! Especially on IRC. We will try to get to you if we're available.
If not, send an email and just wait. Most questions are already answered in
the docs or somewhere else and can be found with some research. If your
questions don't reflect that you've actually thought through what you're
asking, it might not be well received.
2014-02-13 04:32:56 +00:00
[1]:http://en.wikipedia.org/wiki/Event-driven_programming