PyPI to Debian repository converter (GSoC 2012 project)
Name Natalia Frydrych
Contact/Email: natalia.frydrych@gmail.com
Background: I have finished 4th year of Technical Physics at Wroclaw University of Technology and this year I started first year of Physics at Wroclaw University. I have one year of Python experience, using git as version control system, and working with this programming language brings me a lot of fun. Currently I use Debian as my main OS (for half a year), previously I used Ubuntu for 2 years. Additionaly I completed Programming and Alghorithms course at the University, having basic C++ knowledge.
Project title PyPI to Debian repository converter
Project details: pypi.python.org repository contains over 20 000 libriaries for the Python programming language. Only some of them are available in the official Debian repositories. Others can be installed without usage of dpkg, that creates many problems (tools like easy_install or pip are not as advanced as dpkg/APT: simply uninstall of library is not a trivial task). A tool that converts newly available Python libraries shared on PyPI and commits it into deb repository will be created within this project. Libraries' developers will have an access to package's build logs.
Synopsis: The project goal is to write a tool for automatic conversion of PyPI repository to (unofficial) Debian repository.
Benefits to Debian
- access to many new PyPI libraries for Debian users who are not willing or not able to build / install software without usage of standard "apt-get install"
- .deb packages, even unofficial, cause less problems than "sudo make install" or "sudo ez_install" (less bug reports: dpkg handles file conflicts, etc.)
- Debian developers may base their official packages on other packages that are available in repository (it will reduce initial amount of work to be done to prepare new package)
Deliverables: tool for PyPI → Debian repository conversion
Project schedule:
[April 24th - May 21st]
- review of similar projects created for other programming languages (e.g. CPAN repository converter for Perl)
- research and analysis (improvements identification, etc.) of available tools for automatic deb packages creation for Python libraries (stdeb, pkgme, etc.)
- reading the documentation about deb packages creation
- getting knowledge about XML-RPC interface of pypi.python.org repository
- work planning, interface design
[May 21st - July 9th]
- tool implementation
- prepare patches for selected tool (tools?) for packages convertion and debphyton library (if needed)
[July 9th - August 13th]
- attempt to rebuild as many of libraries from PyPI as possible, bugfixing, applying patches and enhancements that increase effectiveness of the converter
- documentation finalization
- implement some more features, if time permits:
- create website pypi.debian.net / deb.pypi.python.org
- possible ideas of PyPI improvements
- most common reasons of failed builds: suggestions of PyPI or Debian tools changes (with patches, if possible), guidelines for library authors
Exams and other commitments: Only two exams in June.
Other summer plans: No other plans, so I will be able to commit to full time work and succesfully finalize the assignment.
Why Debian? My goal is to increase my knowledge about Python and its usage in Debian. I really enjoy using Linux, and especially Debian (testing version) as an OS, togehter with all the open source tools that it brings.
Are you applying for other projects in SoC? No.