Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
There's a ton and and a half of questions and even more answers here concerning people looking for bug trackers. However all of them (that I found) seem to be about web based solutions. Since I'm working on a local project where I don't want to set up a web / DB server, and I don't want to use a hosted tracker either, I'm looking for something that runs locally.
very preferably open-source
pure Python or (at least) Windows executable
no need for a database server (sqlite is obviously fine)
Doesn't have to be fancy, just the basic bug / issue tracking functionality; just a little bit more than my current TODO text file or an Excel table.
Any suggestions?
I'm surprised nobody has mentioned Roundup.
It meets all your criteria, including not requiring a web-based interface (as per your specification, and unlike the accepted answer which suggested Trac).
Roundup is:
Open source
Pure Python
Supports SQLite
Not fancy, focuses on solid bug tracking
And as a significant point of differentiation, it has command-line and email interfaces in addition to a web interface.
It's very easy to get started - I suggest you take it for a spin.
Trac might be a bit too over engineered, but you could still run it locally via tracd on localhost.
It's:
opensource.
pure Python
uses sqlite
But as I said, might be too complex for your use case.
Link: http://trac.edgewall.org
If you don't need to share your bug tracker system with a team (i.e., it's okay to have it isolated to your computer) I would recommend using Tiddlywiki. Technically it's web-based, but it's entirely encapsulated within a single HTML document and requires no database or server whatsoever (only a web browser) so I think it follows the spirit of what you are wanting. It's extremely customizable since it's 100% HTML/CSS/javascript. I have been using a tiddlywiki as a project notebook for years, keeping track of my to-do list, bug list, and general project documentation in one centralized, cross-referenced place. You can also find all sorts of tiddlywikis that you can download pre-configured for productivity (for example, TeamTasks, MonkeyGTD, or GTDTiddlyWiki Plus).
Maybe Fossil is of any use to you?
It is actually a DVCS but it also integrates a bugtracker and wiki, very much like trac (although I like trac, don't get me wrong). And its webbased, on the other hand the installation is supossedly dead simple.
Proprietary TestTrack (http://www.seapine.com/ttpro.html) has a client edition that will those things. We use it at work and I'm very happy using it.
Maybe you can check out this wikipedia article for hints
http://en.wikipedia.org/wiki/Comparison_of_issue_tracking_systems
Do yourself a favor. Get over this "must not be web based" obsession, Install a local WAMP stack on your PC or on a LAN server. Now, you can install your own wiki. And something like Trac. I'd like to find an implementation of google code's bugtracker and integrated wiki thats runnable locally - Trac seems to be the closest.
You have also installed a local SVN server? Even for personal projects the ability to track changes over time. revert etc. and integration with Trac are too good to pass up even for purely 1 man projects.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm looking for a python library/module that will allow me to create eye catching charts. The module must have/support the following
Windows Support
As I work mainly in windows(using Eclipse in Windows), this is crucial, a simple install .exe file (or adequate install instructions a must)
Work on Python 2.7
I've got Python 2.7.2 installed don't really want to go get some other thing.
Not require being on the web
I've looked at googlepychart, and it looks like you need to be on the web to make it work, I'm not on the world wide web, actually behind a VERY restrictive firewall.
Output should be viewable from HTML browser
While I cannot get onto the WorldWideWeb, I can see localhost, it would be great if the chart result be viewable in a browser.
Good documentation, at the very least some samples on how I can use the library.
If there are any suggestions on how I can create a web app using python that simply display/charts the data i pass in, such advice would be much appreciated
Plotly lets you make graphs using their online Python sandbox. Their gallery has some example scientific graphs with the Python scripts that generated them: https://plotly.com/python/. Here's a sample from the gallery:
matplotlib has become a mature and widely used graphing package.
As for your interaction with a web browser, you may have to use another package in conjunction. I suggest CherryPy because it is simple.
If you can do without using a browser, you can use one of Python Plotting Libraries. If you insist on using the browser, you would be better off using a javascript-based library for the view. I have used web2py web framework before along with protovis. But a simpler web framework like Bottle or CherryPy can also be used to pass the data to the view. Bottle has a Simple Template Engine (very similar to what I used in Web2py).
Developing in two languages (one of which is javascript) is a bit of a pain. You could use something like Pyjamas that translates python into javascript but I am not really sure if this would work out well, and I have no experience with it.
You may want to give details on the types of charts you want to make. Simple graphs are easy with sage and there are lots of options as compared to matlab. If you want more of a powerpoint chart, or picture you can insert into a word doc, then that's a little different.
If you can get something to create chart images, then you can hook it into a python web framework, such as django or pylons. That will allow you to set up a loopback server to host the page on your machine and view it on your machine. This is quite a bit more complex though.
My suggestion is to break your program down into pieces. It's like building a house out of lego brinks. You have an idea what you want it to look like, but the details determine everything. Break it down into the smallest pieces you can, and define larger pieces as groups of smaller pieces
The house is just several rooms. A room is just 4 walls, a floor and a ceiling. A wall is just several boards, and a board is 2x4. Once you break all the parts down, then you'll know not only what you need to make, but what you need to find for each piece.
You've got a good start with your list of requirements. That defines what you want your program to do. Now you need to work backwards to define the different parts. Don't get hung up on how they work, define the way they mesh.
For a simple python script to create a web server: see here. Note the section on dynamic content. By plugging that into a "black box" that produces your charts, you suddenly have a simple working setup. The charts section doesn't care how the user gets them, it just makes a chart and passes it out. The server doesn't care how the chart is made, it just serves it up.
This section of the sage manual has instructions for saving a plot after you create it.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I have been programming using Python for slightly more than half an year now and I am more interested in Python internals rather than using Python to develop applications. Currently I am working on porting a few libraries from Python2 to Python3. However, I have a rather abstract view on how to make port stuff over from Python2 to Python3 as most of the changes deal with design issues in Python2.x
I'd like to learn more about Python internals; should I go for a top-down or a bottom-up approach? Are there any references you could recommend?
It sounds like you want to know more about the rationale behind the design of the language, rather than internals. "internals" to me means things like how objects are laid out in memory, how reference counting works, and so on.
If you're looking for a deeper understanding of the design decisions, try reading the PEPs: they are the proposals for changes in the language, and often include detailed discussions of the reasons for the changes, rejected alternatives, and so on. Even the rejected PEPs are useful, because they show the thinking that has shaped the language.
For example:
3105: Making print a function
3110: Catching exceptions in Python 3.x
3131: Supporting non-ASCII identifiers
and so on..
If you really want to learn about Python internals, then start by reading about the Python C API, which is used to build Python itself: my talk A Whirlwind Excursion through Python C Extensions is one place to start. Then you can dive into the Python source code itself for anything you need to learn about.
To someone who is stumbling upon this question from related links or search, there is a documentation written Yaniv Aknin on Python Internals. It starts from the scratch and is highly readable.
I find the series of Yaniv Aknin's Pythons Innards series
fantastic, too
I discovered it thanks to Planet Python
.
You may be also interested by the answer of TryPyPy in this SO thread
I would first read the What's New document for Python 3. It gives a good high-level overview and touches on the detailed changes.
You might also do a search for 'porting to python 3' or similar. There are lots of good resources and tools.
One tool that's new and hard to find is six, by Benjamin Peterson. It enables writing of code that is compatible across the Python 2*3 gap.
The part I found most difficult about maintaining Python 2 and Python 3 -compatible code was deployment. I could write code that would run just fine, but when I went do package and deploy, it was unclear when the conversion should happen. I ultimately found a distutils command build_py_2_to_3 that would do the trick. By using that command in my setup.py, I could release a source distribution that would deploy on either Python 2 or Python 3. An example can be found in jaraco.util.
You also asked about the internals. If you really want to get at the internals, you can view the source for Python 2.x and Python 3.x, though honestly, I would stick with reading the tutorials and maybe some of the .py files in the Python libs.
should I go for a top-down or a bottom-up approach?
Both! Seriously.
Have you tried this?
Automated Python 2 to 3 code
translation
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Please note: this is an ancient question with ancient answers. Most of the linked apps are now unmaintained. These days, most people seem to use django-allauth or python-social-auth. I'll leave the original question intact below for posterity's sake.
There are at least half a dozen Django apps that provide OpenID authentication for Django:
django-openid
django-openid-auth
another django-openid-auth, which seems to be dead
django-authopenid
django-socialauth (which also provides authentication with Twitter and Facebook accounts)
django-socialregistration (has Facebook and Twitter authentication, too)
django-openid-consumer, a fork of Simon Willison's original django-openid. Seems more suited for simple blog comments than a full fledged registration workflow
django-social-auth
I played around with a couple of them. Simon Willison's django-openid made a good impression, but as he is at the forefront of trendsetting in Djangoland, I sometimes have difficulties wrapping my head around his trends (e.g. the whole dynamic urlpatterns system in django-openid). What's more, I couldn't get login to work with Google.
django-authopenid made a good impression, and it seems to have good integration with django-registration. django-socialauth and django-socialregistration have support for Twitter and Facebook, which is definitely a plus. Who knows if and when Facebook will start to be an OpenID provider...? socialauth seems to have its share of problems, though.
So, what is the best OpenID app out there? Please share any positive (and negative) experience. Thanks!
The one that has proven to work best for me, and which seems most up-to-date is the one over at launchpad.
It integrated seamlessly with my application that already utilizes the django.auth module.
https://launchpad.net/django-openid-auth
To get a copy run:
bzr branch lp:django-openid-auth
Or install it via PyPI
pip install django-openid-auth
The last post for this thread is in February. It's been almost 8 months and I'm pretty sure a lot of things have been changed.
I am very interested in Django-Socialauth since it supports gmail, yahoo, facebook, twitter, and OpenID.
I found two forks that seem up-to-date:
https://github.com/uswaretech/Django-Socialauth
https://github.com/agiliq/Django-Socialauth
The second fork has been recently updated at this moment.
I was wondering if anyone has recently used any of these forks? I am looking for the most reliable one for my website.
Thanks
Update: The most up-to-date fork appears to be omab/django-social-auth, which is also what the pypi package points at.
I prefer django-authopenid, but I think most of the mature solutions are pretty equal at this point. Still, it is what I see used the most. I've made a handful of customizations to how we use it without having to actually fork it, and that's a huge plus in my book. In other words, its fairly hookable.
Don't forget Elf Sternberg's fork of django-socialauth - he's working to clean up what he sees as a lot of bad implementation decisions in the original socialauth app. Looks clean so far but it's unclear whether his project will have momentum.
django-socialauth is good for me
You could try pinax
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
My company is evaluating the possibility of developing a specialized IDE for Django.
So we would like to ask Django users:
Do you feel the need for a specialized IDE for Django?
Would you be willing to pay for it, or would you only consider free a open-source product?
What Django-specific features are you missing currently in your development tools?
I would pay a reasonable amount for a Django-tailored IDE or plug-in. I don't know what I mean by reasonable, but maye it helps to know that I would not pay more than $75, and I would only pay the $75 if the tool was really awesome.
Now, Django specific features:
Seamless integration with Google Apps
(get me the urchin, the license for
Google Maps, and put it in my
templates)
Full support for the templating engine (details in the other answers you have received)
Lorem ipsum generation (Django has it, just make it simpler)
Prepackaged modules for common tasks (e.g. give me a full login page with template an all)
Link within the code for Django documentation and examples (e.g. Django snippets)
One-click for multi-browser comparison
Full CSS support
An object explorer (along the lines of the Django-admin, but off-line)
A color palette with cool combinations (say, blue-based, orange-based)
Wizard for uploading the local project to Webfaction or similar hosting solution
If I can think of anything else I will edit the answer.
Good luck in designing your product!
I am using Komodo Edit and it's very good. There is a lot of good open-sources product so i don't think that I would buy a commercial product.
Maybe a very good and easy-to-use debugger would make me change my mind.
I hope it helps.
You'll likely want an IDE that will provide you with the ability to do source-level debugging of your accompanying Python code. Without it, your productivity will really be below what it could be.
I use Wing IDE, and I find it to be worth every penny.
I use NotePad++, and have yet to need a fully-fledged IDE specifically for Django (though I do wish NotePad++ would stop periodically crashing).
I wouldn't, unless it was really really good (and I have no idea what features it'd need to make me enthusiastic enough to pay for it).
Maybe a neater way to tie together code for a specific app within a project (models, views and template code). NotePad++'s File->Open dialog is the Windows one, which picks up the directory from the currently open file. It'd be nice if it allowed me to switch quickly between related files.
This question comes up a lot in various forms. I suspect it's because there just isn't a Python IDE which is universally accepted to be awesome.
If I could have:
some of the features of PyDev, like like real code completion, module navigation, live syntax checking and pylint
a fantastic (and fast) text editor (like eric4's scintilla-based editor)
support for django templates (maybe with gui support for wx or glade or whatever),
awesome debugging (like C# on Visual Studio)
a reasonable footprint (i.e., not Eclipse/Aptana or NetBeans)
cross platform (Mac OS X, Linux, and Windows)
sane version control support
auto doctests and unit tests
Then I'd buy it.
All of the python IDEs come close, but all miss the mark by a bit.
(Better yet, it would be open source and I'd download it and donate / contribute to it).
It's great that your company wants to contribute to the community, but I have to say that I don't see what a 'Django IDE' would achieve. There are already plugins for all the main editors and IDEs to support Django - from Vim to TextMate to NetBeans - and these provide syntax highlighting, indentation, shortcuts and snippets for both Python source and Django templates. These can always do with more work, of course, so perhaps your efforts would be best focused on improving one of these.
There are some Django aware IDEs already. PyCharm is excelent for Django development. It even allows to debug Django Templates visually.
graphic models builder to models.py :), I mean this but vice-versa.
yes I will donate.
I would definitely pay or donate for a pure Django IDE, even tho there are already some existing plugins, I feel something is always "floating".
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I have a bunch of classes I want to rename. Some of them have names that are small and that name is reused in other class names, where I don't want that name changed. Most of this lives in Python code, but we also have some XML code that references class names.
Simple search and replace only gets me so far. In my case, I want to rename AdminAction to AdminActionPlug and AdminActionLogger to AdminActionLoggerPlug, so the first one's search-and-replace would also hit the second, wrongly.
Does anyone have experience with Python refactoring tools ? Bonus points if they can fix class names in the XML documents too.
In the meantime, I've tried it two tools that have some sort of integration with vim.
The first is Rope, a python refactoring library that comes with a Vim (and emacs) plug-in. I tried it for a few renames, and that definitely worked as expected. It allowed me to preview the refactoring as a diff, which is nice. It is a bit text-driven, but that's alright for me, just takes longer to learn.
The second is Bicycle Repair Man which I guess wins points on name. Also plugs into vim and emacs. Haven't played much with it yet, but I remember trying it a long time ago.
Haven't played with both enough yet, or tried more types of refactoring, but I will do some more hacking with them.
I would strongly recommend PyCharm - not just for refactorings. Since the first PyCharm answer was posted here a few years ago the refactoring support in PyCharm has improved significantly.
Python Refactorings available in PyCharm (last checked 2016/07/27 in PyCharm 2016.2)
Change Signature
Convert to Python Package/Module
Copy
Extract Refactorings
Inline
Invert Boolean
Make Top-Level Function
Move Refactorings
Push Members down
Pull Members up
Rename Refactorings
Safe Delete
XML refactorings (I checked in context menu in an XML file):
Rename
Move
Copy
Extract Subquery as CTE
Inline
Javascript refactorings:
Extract Parameter in JavaScript
Change Signature in JavaScript
Extract Variable in JavaScript
WingIDE 4.0 (WingIDE is my python IDE of choice) will support a few refactorings, but I just tried out the latest beta, beta6, and... there's still work to be done. Retract Method works nicely, but Rename Symbol does not.
Update: The 4.0 release has fixed all of the refactoring tools. They work great now.
I would take a look at Bowler (https://pybowler.io).
It's better suited for use directly from the command-line than rope and encourages scripting (one-off scripts).
Your IDE can support refactorings !!
Check it Eric, Eclipse, WingIDE have build in tools for refactorings (Rename including). And that are very safe refactorings - if something can go wrong IDE wont do ref.
Also consider adding few unit test to ensure your code did not suffer during refactorings.
PyCharm have some refactoring features.
PYTHON REFACTORING
Rename refactoring allows to perform global code changes safely and instantly. Local changes within a file are performed in-place. Refactorings work in plain Python and Django projects.
Use Introduce Variable/Field/Constant and Inline Local for improving the code structure within a method, Extract Method to break up longer methods, Extract Superclass, Push Up, Pull Down and Move to move the methods and classes.
You can use sed to perform this. The trick is to recall that regular expressions can recognize word boundaries. This works on all platforms provided you get the tools, which on Windows is Cygwin, Mac OS may require installing the dev tools, I'm not sure, and Linux has this out of the box. So grep, xargs, and sed should do the trick, after 12 hours of reading man pages and trial and error ;)