What’s the buzz: Python gorges on tools and libraries

The BeeWare project offers tools and libraries offered for mobile and web development

The BeeWare project is increasing options for the Python language by offering a collection of tools and libraries for mobile and web development.

Billed as "BeeWare, the IDEs of Python," the collection follows the "Unix philosophy" of each doing one thing well. Libraries provide functionality ranging from iOS and Android application development to CSS support, while tools cover activities ranging from browser support to conversion of Python code to Java and debugging.

"The BeeWare project is a collection of tools and libraries to get native user interfaces out to people using Python as a deployment language," said project founder Russell Keith-Magee. Desktop, mobile, and even tvOS development is enabled, as is building single-page Web applications.

But the project still is in its early stages. "The low-level tool chain -- the pieces that let Python run on mobile devices and give access to the native system libraries -- is the more mature part of the project; probably somewhere around late-alpha/early-beta phase," Keith-Magee said. "The user-facing APIs like Toga are at proof-of-concept stage, and still in rapid development."

Featured as a library, Toga is a native, cross-platform widget toolkit for building GUIs for iOS and Android. It uses native buttons for iOS, while for Android development, Toga uses BeeWare's Voc transpiler to convert Python bytecode directly to Java bytecode.

Another library, iOS Template, provides a cookie-cutter template for deploying Python code on iOS. The Python Android Template library, meanwhile, does the same for Android.

The included Batavia tool runs Python bytecode in the browser by implements a Python 3.4 bytecode machine to handle function calls and basic class definitions. "I think it's probably optimistic to think [Batavia] it will ever completely replace JavaScript -- but I believe it has the potential to demonstrate that being able to support multiple languages in the browser would be of benefit to the entire Web ecosystem," said Keth-Magee. Batavia does not, however, support all of Python's built-in functions or the full standard library, it lacks support for full class inheritance, and it doesn't make a good distinction between integer and floating-point math.

Also in the BeeWare suite, the Rubicon library features a collection of tools bridging Python to other environments, including Objective-C and Java. "It allows you to instantiate, manipulate and extend all the native iOS libraries as if they were native Python libraries," said Keith-Magee.

The Cricket graphical tool runs Python test suites, supporting pre-Django 1.6 project test suites, Django 1.6-plus suites using unittest2-style discovery, and unittest test suites. Bugjar serves as a graphical interactive debugger for Python code, while Duvet is a GUI tool for visualizing code coverage results visualized by the Coverage.py tool.

BeeWare's Briefcase tool serves as a distutils extension to help package Python projects as standalone applications. The Colosseum library provides a partial implementation of the CSS box and flexbox.layout algorithm, while the Cassowary library is an implementation of the Cassowary constraint-solving algorithm. "At this point, the importance [of the Cassowary tool] is historical," Keith-Magee said. "The first iteration of the Toga widget toolkit used the Cassowary algorithm for widget layout. Cassowary is the underlying algorithm behind the constraint-based layout that iOS uses natively as of iOS 6."

Join the newsletter!

Or

Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.

Tags pythonprogramming

Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Paul Krill

InfoWorld
Show Comments

Brand Post

Bitdefender 2019

Bitdefender solutions stop attacks before they even begin! Get cybersecurity that 500 MILLION users already have and trust.

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Luke Hill

MSI GT75 TITAN

I need power and lots of it. As a Front End Web developer anything less just won’t cut it which is why the MSI GT75 is an outstanding laptop for me. It’s a sleek and futuristic looking, high quality, beast that has a touch of sci-fi flare about it.

Emily Tyson

MSI GE63 Raider

If you’re looking to invest in your next work horse laptop for work or home use, you can’t go wrong with the MSI GE63.

Laura Johnston

MSI GS65 Stealth Thin

If you can afford the price tag, it is well worth the money. It out performs any other laptop I have tried for gaming, and the transportable design and incredible display also make it ideal for work.

Andrew Teoh

Brother MFC-L9570CDW Multifunction Printer

Touch screen visibility and operation was great and easy to navigate. Each menu and sub-menu was in an understandable order and category

Louise Coady

Brother MFC-L9570CDW Multifunction Printer

The printer was convenient, produced clear and vibrant images and was very easy to use

Edwina Hargreaves

WD My Cloud Home

I would recommend this device for families and small businesses who want one safe place to store all their important digital content and a way to easily share it with friends, family, business partners, or customers.

Featured Content

Product Launch Showcase

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?