Way back in 1991, Guido van Rossum developed what became known as Python, a programming language. It grew from a small project into a first class programming language that powers everything from modern websites to games to scientific computing and even inside NASA. Although initially used in prototyping and toy projects for tinkerers, it commands attention from many companies that actually look for it on a resume.
The Python reference implementation is available as free software under a liberal license and the overall direction of the language is guided by a community process. This lends itself to the creation of communities of enthusiasts who help development and support the language. Being a country with a rich IT culture, many Python communities have grown and flourished in India. The language was designed with the notion that code has to be read more than written. Python code is very English like and has often been called “executable pseudo code”. This makes it ideal for newcomers as well as people in various fields that aren’t professional programmers.
Python’s success in the scientific computing community is an example of this. The dynamic nature of the language makes it quick turnarounds and high programmer productivity possible. The huge standard library makes it very easy to get started with almost any kind of application. Add to all this a thriving 20 year old community of enthusiasts and developers and you have all the elements needed to make a successful, reliable and high quality open source project. Python is also extendable in C making it a very nice “glue language”. It is possible to write a little C extension for Python that can allow it to, for example, interface with a piece of hardware that can then be controlled from within the language console. Just like it is extendable, Python can be embedded. This means that Python can be used a scripting interface for a larger application. Many graphical applications implement their performance intensive parts in C and provide a Python scripting interface that can be used to extend the application.
While initially, it was only used by programmers for their personal projects, it has taken root in the industry and a quick search on popular job boards for python displays numerous positions available. The short development time and dynamic nature of the language is very attractive to startups and such companies for whom rapid turnarounds are important. Larger companies rely on Python for their internal infrastructure and some even ship applications written in Python to their customers.
Google relies on Python heavily for many of its internal infrastructure projects and provides Google App Engine which is a PaaS product that supports three languages one of which is Python. It even employs the creator of Python himself as well as many other luminaries of the Python community. ZeOmega is another company with a long history of involvement with Python technically as well as socially. They ship a number of products written in Python and have backed the community and its conferences for a long time now. Enthought, with its offices in Mumbai ships a suite of scientific computing products mostly written in Python.
Perhaps the most widespread commercial use of Python, in India anyway, is for writing web apps. There are a number of companies, large and small, in India who have public facing and internal web based tools that are written using one of the many Python web frameworks out there. On the academic side, there’s been an increasing interest in using Python as a first language for new programmers. Various engineering colleges in Bangalore like MSRIT and R.V. College of Engineering teach Python either as part of the official curriculum or as as a supplementary skill. Many students from India participate in Google Summer of Code projects related to Python and this is growing.
Senthil Kumaran, one of the python core developers from India who entered the project via. GSoC talks about his experience – “Being a part of Open Source project, especially a widely used one like Python has been an amazing experience. It has taught me many things and most important of which is we work not competition, money or fame, but for enjoyment. It also takes away a good amount of time from you and you are never short of anything to do. Serious software engineering as hobby and software as a craft is something many of us from India are yet to come to grasp with, this is teaching me exactly that.”
Another prominent example of the role of Python in education is the FOSSEE project sponsored by the Ministry of Human Resources and Development. It aims to bring programmings skills to scientific professionals to do their work and the language of choice is Python.
The Indian Python community
There are active user groups in Pune, Bangalore, Chennai, the NCR region and many other large cities. The Bangalore group which is one of the oldest was created in 2007 or so and has semi regularly since then at various times. Anand Pillai who was instrumental in starting the initial the Bangalore Python user group or “Bangpypers” as it is called is still an active member of the community. The community grew over the years and in 2009, the first PyCon in India was held at the Indian Institute of Science in Bangalore.
The Python Software Foundation
The Python Software Foundation is a non profit organisation established in the United States to advancing open source technology related to the Python language. One of its activities is the organisation of a worldwide conference for all Python developers called “PyCon”. Regional conferences sprouted around the world catering to local needs and in 2009, the first one was held in India. This was conducted in consultation with the PSF and while small, kick started PyCon India.
The conference has grown since then. 2010 saw the event again in Bangalore at MSRIT and in 2011, it was conducted in Pune. In 2012, it moved back to Bangalore and was conducted at Dharmaram college. Over the years, the conference grew and keynote speakers who were part of the core Python developer group were invited from abroad. Tutorials were added to the main conference and the number of delegates as well as sponsors grew over the years. It is a volunteer driven event that the Indian Python community looks forward to every year.
The Python Software Society of India
To facilitate PyCon India and to spearhead work that takes Python and related technologies forward in India, the Python Software Society of India was formed shortly after the 2009 conference. It is a non profit organisation that oversees the conference and takes care of finances and book keeping not much unlike the PSF worldwide. It has recently instituted an award for students active in the Python community in honour of the first President of the society, Kenneth Gonsalves who passed away earlier this year.
Join the Indian Python community
While there is no real formal “community” as such, participating in the user group meetings and helping out with PyCon India are a great way to get to know the larger Python community. It can be a rewarding technical and social experience. We’d love to have you! The official PyCon India mailing list is here. Signing up will let you take part in the discussions leading to the conference. Calls for volunteers and other such things are made on the list. Local user groups have their own mailing lists where meetups are organised. Joining the one in the city closest to you is a good way to meet local Pythonistas:
If your city doesn’t have one, considering starting one yourself.
The community section of the official website of the Python programming language is here, and you might find links there that are relevant as well.
Noufal is a freelance programmer based out of Bangalore, and works for the Internet Archive. A bibliophile, and an amateur calligrapher; he's the founder of PyCon India. For more: http://nibrahim.net.in.
- No contests are currently running.