Software.com logo
Dec 20, 2019 newsletter

Is Poetry the future of Python?

Python Poetry

Poetry, a dependency management and packaging tool for Python developers, released version 1.0.0, a major milestone for the fast-growing project. With Poetry, developers can easily declare, manage, and install dependencies in Python projects.

It’s a mess. Today, packaging systems and dependency management tools in Python are messy, convoluted, and hard to understand for many developers. From the team behind Poetry:

"Even for seasoned developers it might be cumbersome at times to create all files needed in a Python project: setup.py, requirements.txt, setup.cfg, MANIFEST.in and the newly added Pipfile."

To manage their Python environments, developers are forced to navigate a confusing ecosystem of tools, like pipenv, pyenv, conda, pip-tools, pip, and venv.

What’s different about Poetry: Unlike other Python package management tools, Poetry mimics the simplicity and robustness of packaging tools in other programming languages, like Composer for PHP and Cargo for Rust.

Poetry consolidates everything—from dependency management to packing to publishing—into a single configuration file. That greatly simplifies developer workflows when working with packages.

Poetry also includes a new robust dependency resolver that is better at automatically fixing dependency issues than most existing tools, which often fail to search exhaustively for solutions to dependency errors.

Why this matters: Python adoption is accelerating. A better package management tool can solidify Python’s dominance by dramatically improving developer experience.

For context, in the latest State of the Octoverse, a report that analyzes repositories across GitHub, Python outranked Java for the first time ever to become the second most popular language. Earlier this year, Python reached its highest ever popularity ranking on the TIOBE Index.

Much of that rapid growth is driven by Python’s popularity in machine learning and among novice developers. Both of those groups are drawn to languages and ecosystems that prioritize a superior, yet smooth, developer experience.

By filling a noticeable gap in Python’s ecosystem, Poetry can be instrumental in catalyzing further Python growth.


In with the new, out with the old

2019 State of JavaScript Survey

The recently released 2019 State of JavaScript Survey breaks down the JavaScript ecosystem to reveal what technologies are gaining popularity—and which tools are losing their fame.

A few key takeaways:

TypeScript is solid. With the highest satisfaction rate of any JavaScript flavor at 89%, TypeScript continues to gain ground in the development world over Elm, ClojureScript, and PureScript.

In 2016, only 20.8% of developers had ever used TypeScript and hoped to use it again. In 2019, that number has nearly tripled to 58.5% of developers. GitHub’s State of the Octoverse confirms that trend, revealing that TypeScript usage grew 161% over the last year.

For Microsoft, the creator and maintainer of TypeScript, the language’s rapid growth gives them unprecedented involvement in the entire software supply chain, from code to code editors to code repositories.

Frontend frameworks are fickle. React continues to dominate the frontend world with an 89% satisfaction rate among developers. Svelte, an underdog that barely registered on last year's survey, jumped to the top with an 88% developer satisfaction ranking.

For every growing framework, another framework struggles. Since last year, VueJS has dropped from first to third in developer satisfaction. Angular continues to plummet, falling to an all-time low at 38%. Ember, too, hit a new low at 31%.

Welcome the newcomers. A few new technologies are gaining attention. GraphQL, a query language developed at Facebook that helps developers make descriptive data requests in their APIs, is widely enjoyed by developers, earning a 95% satisfaction rating. Moreover, nearly 51% of developers said they were interested in learning how to use GraphQL.

Gatsby, a static site generator that integrates GraphQL, made a strong debut among web frameworks, snagging an 88% developer satisfaction rating.

VS Code is mopping up the competition. Roughly 57% of developers use VS Code. WebStorm is a distant second, used by only 14% of developers.

Even Vim (13%), a text editor with a steep learning curve that was first released in 1991, beat out Sublime Text (10%) and Atom (6%).

What does this all mean for the JavaScript ecosystem? High tool churn is accelerating JavaScript innovation. Despite many tools falling out of favor with developers, JavaScript is a quickly evolving language with a uniquely rich ecosystem of new and inventive technologies.


Forging ahead with developer-led growth

Atlassian Forge

Atlassian—the company behind Jira, Confluence, Bitbucket and Trello—announced Forge, a new serverless app development platform for developers to build and deploy their own apps for Atlassian products.

From Atlassian: "Forge is our new cloud development platform that will empower developers to more easily build and run enterprise-ready cloud apps that integrate with Atlassian products."

What’s in Forge? At its core, Forge is a serverless function-as-a-service (FaaS) tool built on top of AWS Lambda. That lets developers build apps for Atlassian without needing to manage or scale any infrastructure.

On top of its serverless platform, Forge offers a few developer tools to simplify the app creation process. For example, Forge UI is a new markup language that makes it easy to quickly build user interfaces. And the new Forge CLI helps developers manage the creation, testing, and deployment of their Forge apps from the command line.

What’s the goal? Atlassian is leaning into the Salesforce model: entrench your software around the world by building a rich third-party app ecosystem driven by developers.

Salesforce’s developer platform has helped solidify the company as a juggernaut, supporting hundreds of thousands of developers and luring in customers that need greater functionality and integrations on top of its core products.

Atlassian hopes to similarly attract developers to its platform by abstracting away—through serverless architecture, powerful frameworks, and pipeline management tools—much of the complexity of building an Atlassian app. More apps lead to more customers and platform lock-in.

Will it work? The Atlassian Marketplace offers more than 4,000 apps. There are more than 25,000 developers involved in building the Atlassian Ecosystem.

Since 2012, the marketplace has done more than $1B in lifetime sales. Last fiscal year alone, the marketplace generated $300M in app sales, with $225M of that total going to app developers.

Atlassian has all the pieces: interested developers, a proven market, and—with Forge—a more robust development toolset.

If its developer platform is actually as powerful as it claims to be, Atlassian can rely heavily on its developer community to unleash developer-led virality and boost growth to become a truly dominant suite of productivity tools.


The value of open source AI for developers

Hugging Face open source AI

Hugging Face, creator of the open source Transformers library, raised $15M in their latest round of funding. Transformers is a popular machine learning tool focused on natural language processing (NLP) that has racked up nearly 20k stars on GitHub.

Where it all began. Hugging Face originally developed its language processing technology to power its mobile app that let anyone chat with a friendly and conversational AI bot.

Hugging Face took that underlying NLP technology and created the open source Transformers framework to give developers greater access to powerful machine learning libraries.

What it can do. Transformers includes more than 30 pretrained models in upwards of 100 languages. It is deeply interoperable with TensorFlow and PyTorch, the most popular open source machine learning libraries.

Developers can use Transformers for text classification, information extraction, summarization, text generation, and conversational artificial intelligence.

The impact. Developers get better access to better tools as the next wave of artificial intelligence technologies are built.

Many existing commercial models are proprietary, tied to blackboxes run by big cloud providers—like Azure Cognitive Services or AWS Comprehend. While powerful and developer-friendly, these platforms limit developer involvement in how they grow and evolve.

Powerful open source machine learning libraries empower developers to play a more meaningful role in adopting and advancing cutting-edge AI.


Small bytes

  • In its mission to be a centralized DevOps platform, GitLab is adding new observability features to its open source codebase. Developers will now have better access to logging, tracing, alerting, and other metrics [GITLAB]
  • HackerRank, a coding practice resource for developers, acquired Mimir, a tool for computer science classrooms. With the acquisition, HackerRank can be more involved in the developer learning experience [INC42]
  • Russian police raided the Moscow offices of Nginx, the company behind the world’s most popular server technology. Rambler originally claimed ownership of the Nginx server code, but later backed down [ZDNET]
  • Amazon, Apple, Google, and Zigbee Alliance want to find a way to make sure smart home devices work well together. The new group is working on developing standards to help device manufacturers and improve device compatibility for consumers [APPLE]
  • Cockroach Labs released its 2020 Cloud Report. While GCP lagged behind AWS last year, GCP has boosted its performance over the last year to be on par with AWS [COCKROACH]

Tools

  • Hidden Bar lets you hide menu bar items to give your Mac a cleaner look [GITHUB]
  • FX is a command-line tool and terminal JSON viewer [FX.WTF]
  • xs:code is a monetization platform for open source projects open to any developer [XS:CODE]
  • React Cosmos is a developer tool for building scalable, high-quality user interfaces by making it easy for you to test and iterate on React components [REACT COSMOS]
  • Use the REFL.ME app and the data source in JSON to show messages and notifications on your mobile device in a simple and user-friendly form [REFL.ME]
Never miss the big news

Every week, our team will send you three of the most important stories for developers, including our analysis of why they matter. Software development changes fast, but src is your secret weapon to stay up to date in the developer world.

Featured articles
AI Ethics: How Diverging Global Strategies Open a Gaping Regulatory Void

Today global initiatives on AI are a series of regulatory and ethical gambles—a dangerous, potentially existential game.


Can Master Chief win the day for Microsoft Azure?

Why the Xbox will be Azure’s unlikely hero.


Churn Baby, Churn

Understanding churn rates can help developers be more productive and write quality code

Made with by Software. Read more about our mission.