Free Programming Tools / Resources
You can find tools, resources and utilities for a wide variety of programming tasks below.
PC8394T Programming Tools 1.6 — Programmer for IBM/Lenovo Thinkpad’s TPM chips - More details. RPC8394 (reader) and WPC8394 (writer) are included in the full package kit. The software was made initially to unlock T43 and R53 models that use PC8394T-VJG (super I/O chip with TPM functions) to store the supervisor password. R5F64219 Programming Tool. Full set for programming R5F64219 Microcontroll. Details Wishlist R7F701x FLASH Programmer. Full set for programming R7F701x Microcontrolle. Details Wishlist TC179x Programmer. Full set for programming of the TriCore ™ TC179.
If you don't see the category of tools you want listed in the index below, pleasecheck out the Miscellaneous Free Programming Toolspage, a catch-all page for everything that does not have its own page. Note thatcompilers and interpreters,source code and librariesas well as documentation are listedseparately on their own pages.
Help and Documentation
Text and Source Code Handling
Debugging and Binary Code Management
Compiler Construction and Grammars
Miscellaneous
Engineering Software
Other Programming Resources
- Free Source Code and Programming Libraries - don't reinvent the wheel
Other Resources of Interest
New Pages on thefreecountry.com
New Pages on thesitewizard.com
New Pages on HowToHaven.com
Popular Pages
Python, like most other programming languages, has strong third-party support in the form of various tools. A tool is any utility that enhances the natural capabilities of Python when building an application. So, a debugger is considered a tool because it’s a utility, but a library isn’t.
Track bugs with Roundup Issue Tracker
Public sites are generally not as convenient to use as your own specific, localized bug-tracking software. You can use a number of tracking systems on your local drive, but Roundup Issue Tracker is one of the better offerings. Roundup should work on any platform that supports Python, and it offers these basic features:
- Bug tracking
- TODO list management
If you’re willing to put a little more work into the installation, you can get additional features. However, to get them, you may need to install other products, such as a DataBase Management System (DBMS). After you make the additional installations, you get these upgraded features:
- Customer help-desk support with the following features:
- Wizard for the phone answerers
- Network links
- System and development issue trackers
- Issue management for Internet Engineering Task Force (IETF) working groups
- Sales lead tracking
- Conference paper submission
- Double-blind referee management
- Blogging
Create a virtual environment using VirtualEnv
VirtualEnv provides the means to create a virtual Python environment that you can use for the early testing process or to diagnose issues that could occur because of the environment. There are at least three standard levels of testing that you need to perform:
- Bug
- Performance
- Usability
Install your application using PyInstaller
You need a surefire method of getting an application from your system to the user’s system. Installers, such as PyInstaller, do just that. They make a nice package out of your application that the user can easily install.
Fortunately, PyInstaller works on all the platforms that Python supports, so you need just the one tool to meet every installation need you have. In addition, you can get platform-specific support when needed. In many cases, avoiding the platform-specific features is best unless you really do need them. When you use a platform-specific feature, the installation will succeed only on the target platform.
Build developer documentation using pdoc
The majority of your documentation is likely to affect developers, and pdoc is a simple solution for creating it.
The pdoc utility relies on the documentation that you place in your code in the form of docstrings and comments. The output is in the form of a text file or an HTML document. You can also have pdoc run in a way that provides output through a web server so that people can see the documentation directly in a browser.
Develop application code using Komodo Edit
One of the better general-purpose IDEs for novice developers is Komodo Edit. You can obtain this IDE free, and it includes a wealth of features that will make your coding experience much better than what you’ll get from IDLE. Here are some of those features:
- Support for multiple programming languages
- Automatic completion of keywords
- Indentation checking
- Project support so that applications are partially coded before you even begin
- Superior support
When you start to find that your needs are no longer met by Komodo Edit, you can upgrade to Komodo IDE, which includes a lot of professional level support features, such as code profiling and a database explorer.
Debug your application using pydbgr
![Ibmpass Ibmpass](https://www.eetools.com/images/products/ChipMaxII.jpg)
When your editor doesn’t include a debugger, you need an external debugger such as pydbgr.
Here are some of the standard and nonstandard features that make pydbgr a good choice when your editor doesn’t come with a debugger:
- Smarteval
- Out-of-process debugging
- Thorough byte-code inspection
- Event filtering and tracing
Enter an interactive environment using IPython
Using a more advanced shell, such as IPython, can make the interactive environment friendlier by providing GUI features so that you don’t have to remember the syntax for odd commands.
One of the more exciting features of IPython is the ability to work in parallel computing environments. Normally a shell is single threaded, which means that you can’t perform any sort of parallel computing. In fact, you can’t even create a multithreaded environment. This feature alone makes IPython worthy of a trial.
Test Python applications using PyUnit
At some point, you need to test your applications to ensure that they work as instructed. Products such as PyUnit make unit testing significantly easier.
The nice part of this product is that you actually create Python code to perform the testing. Your script is simply another, specialized, application that tests the main application for problems.
Tidy your code using Isort
In some situations, it becomes difficult, if not impossible, to figure out what’s going on with your code when it isn’t kept neat. The Isort utility performs the seemingly small task of sorting your import statements and ensuring that they all appear at the top of the source code file.
Just knowing which modules a particular module needs can be a help in locating potential problems. In addition, knowing which modules an application needs is important when it comes time to distribute your application to users. Knowing that the user has the correct modules available helps ensure that the application will run as anticipated.
Provide version control using Mercurial
Numerous version control products are available for Python. One of the more interesting offerings is Mercurial. You can get a version of Mercurial for almost any platform that Python will run on, so you don’t have to worry about changing products when you change platforms.
Unlike a lot of the other offerings out there, Mercurial is free. Even if you find that you need a more advanced product later, you can gain useful experience by working with Mercurial on a project or two.
The best part about Mercurial is that it provides a great online tutorial.