This campaign ended on July 16, 2014.
Thank you to everyone that contributed!
For those that still want to contribute to general PyDev improvements, please follow the links on the main page.
Support PyDev and Python profiler UI (for any IDE)!
Who is planning this?
First let me introduce myself: I'm Fabio Zadrozny and I've been developing PyDev (http://pydev.org) for a long time (11 years and counting).
During that time I maintained PyDev in many different situations: first I did it only in my spare time and later it was backed by Aptana and afterwards by Appcelerator, which stopped supporting it in the end of 2012. Since then PyDev became supported by myself with financial aid from its community.
This is the second crowdfunding to keep PyDev support going on.
Last year's crowdfunding enabled enhancements in PyDev such as:
- Performance and memory improvements.
- Type-hinting with comments and docstrings.
- Indexing of compiled modules.
- Finding referrers on the debugger.
- Stackless debugger support.
- Automatic code-reloading on the debugger.
- Several improvements in the interactive console.
- Improved interpreter and project configuration.
- Improved rename refactoring.
- Improved py.test integration.
- Many others features and bug-fixes (everything from 2.7.2 onwards in PyDev History)
The previous crowdfunding also provided the funds to create LiClipse, which achieved its goals and provides a bundled PyDev with additional editors which allow users to edit C/C++, Django Templates, Kivy, HTML, CSS, and other languages with lightweight editors inside Eclipse -- all with a proper dark theme.
What are the targets of the project?
There are 2 main targets in the project. The first is making sure that PyDev keeps evolving (while remaining open source and well supported).
The second target is providing a standalone profiler which can be used not only for PyDev but also from the command line or other IDEs to provide a streamlined workflow for profiling and analyzing profile results (so, it'll benefit both: users from PyDev and from other IDEs).
More details on both below...
What will be done in PyDev?
Besides the usual bug-fixing and support, the main features planned are:
- Allow preferences which are currently global to be configured per-project.
- Provide a proper way to export/import PyDev settings to a new workspace.
- Suport for namespace packages in code-completion.
- Provide a way to auto-document types as well as checking existing types in docstrings when doing a test run.
- Allow running an external pep8 linter (to support newer versions of pep8.py).
- Show vertical lines for indentation.
- Attach debugger to running process (although some caveats apply and under certain circumnstances this may not be possible).
- Other requests to be defined based on community input as funding allows.
What about the profiler?
Doing a UI for the profiler has been a long-due request in PyDev, but the main issue is that I don't think that creating a profiler inside Eclipse/PyDev is the best approach. Personally, I think that the proper approach is creating a top-notch standalone profiler which can be integrated to any IDE (so, this will be equally useful for PyDev users as well as users from editors such as vi, emacs or any other IDE).
Still, note that even being a standalone product, it will have a special integration in PyDev, so, users will be able to create a launch with profile enabled from inside PyDev or open a file in PyDev from the profiler, besides being distributed both as a standalone and as a plugin inside Eclipse (and this can later be replicated in any IDE).
So, the idea is creating a profiler UI using Python and Qt which can be used independently (but which will also be integrated into PyDev).
What will the profiler have?
The profiler will have at least the following features:
- Start/stop profile on the fly.
- Attach to a running process (although some caveats apply and under certain circumnstances this may not be possible).
- Open existing profile results.
- Sample based profiling.
- Function based profiling.
- IDE integration (i.e.: launch with profile enabled, open file in IDE/editor).
- Show profile results in tree with proper sorting.
- Show a graphical output with the profile results.
- Show timeline with CPU which allows selecting a subset of the sampling results and related stacks.
What will the money be used for?It'll all go directly into the development of PyDev and the outlined profiler UI.
Will it be Open Source?
All the work on PyDev will be completely open source (EPL).
As for the profiler, if the funding targets are reached, it'll be dual-licensed under GPL/commercial licenses (otherwise, if funding targets are not reached, it'll be only licensed commercially and funders will receive a license).
I really enjoy PyDev and your ideas, but I can't contribute...
If you can't contribute yourself, but like the idea and goals, please help in getting the word out!
I use another IDE and just want to contribute towards the profiler.
Well, what I can say is that if the funding targets are reached, I guarantee you'll have a top-notch profiler UI you can use anywhere -- if you see the other way around, PyDev users are also helping to create something which will benefit everyone, so, lets say things are even :)
I.e.: adding more to the point: some PyDev modules, but most notably the PyDev debugger are used on PyCharm -- do you feel it's a bad thing it originated from PyDev? IDEs are a really personal choice, so, I'm happy that the code I did can reach more people (even if not directly inside PyDev)!
What if the funding targets are not reached?
This funding proposal is created in a flexible funding approach, which means that if its targets are not reached, money will still be kept to try pursue the goals of the crowdfunding as best as possible given the amount of funding received.
So, even if the whole funds are not reached, PyDev will be kept supported (although I'll have less hours dedicated to it).
Also, in case the amount of funding is not reached, the profiler will still be done, but will only be distributed under a commercial license (in which case anyone that contributed toward its goal will receive a license of the same type of the LiClipse license in the pledge -- if the pledge doesn't specify a license, you'll receive a regular license).
While I'm not making any stretch goal official at this time, what I can say is that the higher the amount of funding reached, the better PyDev and the new profiler UI will be supported.
Why do the perks include LiClipse licenses?
Well, it's just one more way to give something I believe has value back to supporters of the project -- although consider it a donation from LiClipse and not that the money raised here will be used for LiClipse development (it has its own licensing scheme for that). The focus of this project is really on PyDev and the new profiler UI.
For accounting purposes, everyone helping towards reaching the funding goals will automatically receive an invoice in the e-mail specified in PayPal.
Why aren't you using a service such as Kickstarter or Indiegogo?
Well, the effort into creating such a structure in Openshift is really trivial, and I felt Indiegogo contributed little to the success of the funding last year (and Kickstarter is a no-go from the start since I live in Brazil). Also, Redhats Openshift PaaS help to PyDev has been great, so, one more reason to show my appreciation and use a .rhcloud homepage :)
Is it possible to use Bitcoin to help?
Yes, you can send me Bitcoins through the info below...
Note however that there's no automation on my side for handling it, so, if you want to receive perk benefits in this case, please send me an e-mail so that I can verify the payment and send it to you.
Updates and commentshttp://pydev.blogspot.com
Campaign closed: July, 16th.
Thank you very much for supporting the project!
Your name will appear as a PyDev Supporter in the supporters homepage.
Double thanks and double kudos!
Also, you'll receive early-access to the profiler releases.
Your name will appear as a PyDev Friend in the supporters homepage.
Awesome, you're really helping in shaping the Python world to have a top-notch profiler UI and keeping PyDev going strong. Also, you'll receive early-access to the profiler releases.
Your name will appear as a PyDev Knight in the supporters homepage as well as a link of your choice.
Fantastic! With this, besides helping PyDev and the new profiler becoming a reality, you also get a regular single-user license to use LiClipse and early access to the profiler releases.
Your name will appear as a PyDev Mage in the supporters homepage as well as a link and logo of your choice.
Thanks a lot! With this you'll also get an eternal license for LiClipse as well as early access to the profiler releases.
Your name will appear as a PyDev Oracle in the supporters homepage as well as a link and logo of your choice.
Great. Besides receiving 2 eternal licenses to LiClipse and early access to profiler releases I'll take into account special requests you may have for PyDev or the profiler.
Your name will appear as a PyDev Silver sponsor in the main PyDev homepage (for 1 year).
I really appreaciate it. Besides receiving 4 eternal licenses to LiClipse and early access to profiler releases I'll put on special effort into requests you may have for PyDev or the profiler.
Your name will appear as a PyDev Gold Sponsor, having your logo linked to a location of your choice in the main PyDev homepage (for 1 year).
Wow, I'm really thrilled... Let's chat about the directions you feel that the new profiler or PyDev should take (besides 8 eternal licenses to LiClipse).
Your name will appear as a PyDev Platinum Sponsor in the main PyDev homepage having your logo linked to a location of your choice in the main PyDev homepage (for 1 year).
For other amounts, please contact me directly: fabiofz (at) gmail (dot) com.
If you live in Brazil, instead of using a PayPal link, please send an e-mail to fabiofz (at) gmail (dot) com with the amount you want to support and your CPF and I'll send you a link through e-mail for payment (this is a requirement to generate a 'nota fiscal' with your CPF -- for people from other contries it's possible to generate it without that information).