LinkedIn's Gradle plug-in brings build automation to Python

The {py}gradle plugin can put Python and Java on the same page when it comes to software builds

LinkedIn brings Gradle build automation to Python developers
Credit: Florida Fish & Wildlife

LinkedIn today is releasing via open source {py}gradle, a plugin for running Python builds in the popular Gradle software build automation system.

With {py}gradle, Python and Java shops can use the same build system, said Stephen Holsapple, lead on Python development at LinkedIn. The plugin is accessible under an Apache 2 license.

LinkedIn is using the open-sourcing to gauge the community's perspectives on what it wants from {py}gradle; pull and feature requests will be accepted. The plugin currently is in a 0.3 release stage, with a 1.0 release planned in about two weeks, after feedback from the community.

Recently, Python has garnered favor from both businesses and developers, breaking the mold in which the two parties prefer different langauges. LinkedIn has been a Python user for many years, Holsapple said, with hundreds of developers now using it primarily for developing command-line tools, libraries, and web services.

The company has used {py}Gradle to augment Setuptools, the Python package management library that was previously found insufficient for LinkedIn's needs. Specifically, LinkedIn found Setuptools deficient in dependency management, integration with metadata systems, and polyglot builds, for multilingual builds. Still, a {py}gradle project looks nearly identical to a Python project using Setuptools, Linked said.

LinkedIn has been using {py}gradle for about a year. "During this time, we've successfully managed nearly a thousand products with tens to hundred of thousands of interdependencies, which prior to {py}gradle was an arduous process to manage," Holsapple said. "We find it easy to get Python developers up to speed with the {py}gradle build system by striving to keep the Gradle DSL that we use idiomatic to Python developers."

In future releases, Linked plans to further integration between Gradle and Python by adding support for the Wheels package format and multiple versions of Python.

From CIO: 8 Free Online Courses to Grow Your Tech Skills