# packaging

Published articles for packaging.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Seven years of bitwise: a weekend project, a Hackernews front page, and the long road into Debian

DevFeed: [Seven years of bitwise: a weekend project, a Hackernews front page, and the long road into Debian](<https://devfeed.tech/articles/seven-years-of-bitwise-a-weekend-project-a-hackernews-front-page-and-the-long-road-into-debian-21707.md>)

Original publisher: [Read original article](<https://nativeguru.wordpress.com/2026/09/11/seven-years-of-bitwise-a-weekend-project-a-hackernews-front-page-and-the-long-road-into-debian/>)

Author: Ramon

Published: 2026-09-11T15:21:24Z

Content type: opinion

Language: en

Sources: [Ramon Fried](<https://devfeed.tech/sources/ramon-fried.md>)

Topics: [Software](<https://devfeed.tech/topics/software.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Debian](<https://devfeed.tech/topics/debian.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [debian](<https://devfeed.tech/tags/debian.md>), [hacker-news](<https://devfeed.tech/tags/hacker-news.md>), [linux](<https://devfeed.tech/tags/linux.md>), [ncurses](<https://devfeed.tech/tags/ncurses.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [software](<https://devfeed.tech/tags/software.md>), [vim](<https://devfeed.tech/tags/vim.md>)

### AI overview

A developer reflects on seven years of maintaining bitwise, a terminal calculator, from its initial release through feature development, Hacker News attention, and packaging in Debian and other distributions.

### Source excerpt

I started bitwise because I was tired of opening the KDE calculator. Seven years, one Hacker News front page and sixteen distributions later, here's what I learned -- mostly about how hard it is to get software to people.

## One-command OpenTelemetry setup on Linux hosts

DevFeed: [One-command OpenTelemetry setup on Linux hosts](<https://devfeed.tech/articles/one-command-opentelemetry-setup-on-linux-hosts-32582.md>)

Original publisher: [Read original article](<https://opentelemetry.io/blog/2026/packaging-first-repo/>)

Author: OpenTelemetry Authors; Docs CC BY

Published: 2026-07-23T16:51:56Z

Content type: article

Language: en

Sources: [Blog on OpenTelemetry](<https://devfeed.tech/sources/blog-on-opentelemetry.md>)

Topics: [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [automation](<https://devfeed.tech/tags/automation.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [installation](<https://devfeed.tech/tags/installation.md>), [java](<https://devfeed.tech/tags/java.md>), [linux](<https://devfeed.tech/tags/linux.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [net](<https://devfeed.tech/tags/net.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [processes](<https://devfeed.tech/tags/processes.md>), [python](<https://devfeed.tech/tags/python.md>), [setup](<https://devfeed.tech/tags/setup.md>)

### AI overview

OpenTelemetry introduces a package-based setup for instrumenting Java, .NET, Node.js, and Python applications running directly on Linux hosts. The package installs the OpenTelemetry Injector, SDKs, and auto-instrumentation packages, which activate instrumentation at process startup without application code or deployment-script changes.

### Source excerpt

OpenTelemetry as system dependency Setting up OpenTelemetry for your applications and systems depends on where those apps and systems run. Some are very automated, especially Kubernetes, thanks to the OpenTelemetry Operator, or AWS Lambda, with the OpenTelemetry Lambda layers. But the countless Java, .NET, Node.js, and Python apps running directly on Linux hosts have had no such automation. Instrumenting those has meant downloading agents by hand and wiring up environment variables yourself. At OTel Unplugged EU in Brussels this February, one ask kept coming up: clear packaging, installation, and usage paths. You asked for:

## AI SaaS Monetization in 2026: What Actually Works

DevFeed: [AI SaaS Monetization in 2026: What Actually Works](<https://devfeed.tech/articles/ai-saas-monetization-in-2026-what-actually-works-9619.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/ai-saas-monetization-2026/>)

Author: Ayush Agarwal

Published: 2026-05-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [ai](<https://devfeed.tech/tags/ai.md>), [article](<https://devfeed.tech/tags/article.md>), [billing](<https://devfeed.tech/tags/billing.md>), [churn](<https://devfeed.tech/tags/churn.md>), [cost](<https://devfeed.tech/tags/cost.md>), [margin](<https://devfeed.tech/tags/margin.md>), [monetization](<https://devfeed.tech/tags/monetization.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [pricing](<https://devfeed.tech/tags/pricing.md>), [revenue](<https://devfeed.tech/tags/revenue.md>), [saas](<https://devfeed.tech/tags/saas.md>), [subscription](<https://devfeed.tech/tags/subscription.md>), [unit-economics](<https://devfeed.tech/tags/unit-economics.md>), [variable](<https://devfeed.tech/tags/variable.md>)

### AI overview

The article explains three pricing eras for AI SaaS: flat subscriptions, raw consumption pricing, and a hybrid model combining subscriptions, included usage, overage pricing, and optional larger commitments. It argues that the hybrid approach offers buyers predictability while protecting seller margins.

### Source excerpt

How AI SaaS companies are pricing, billing, and packaging in 2026. Learn the real monetization patterns for AI products and what to avoid.

## Can Bundler Be as Fast as uv?

DevFeed: [Can Bundler Be as Fast as uv?](<https://devfeed.tech/articles/can-bundler-be-as-fast-as-uv-39003.md>)

Original publisher: [Read original article](<https://tenderlovemaking.com/2025/12/29/can-bundler-be-as-fast-as-uv/>)

Published: 2025-12-29T20:26:00Z

Content type: opinion

Language: en

Sources: [Aaron Patterson](<https://devfeed.tech/sources/aaron-patterson.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [rubygems](<https://devfeed.tech/topics/rubygems.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [packaging](<https://devfeed.tech/tags/packaging.md>), [performance](<https://devfeed.tech/tags/performance.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [rubygems](<https://devfeed.tech/tags/rubygems.md>), [rust](<https://devfeed.tech/tags/rust.md>)

### AI overview

The article examines whether Bundler can approach uv's package-installation speed. It reviews performance techniques from uv, considers how they apply to Bundler and RubyGems, and discusses existing bottlenecks and possible improvements.

### Source excerpt

At RailsWorld earlier this year, I got nerd sniped by someone. They asked "why can't Bundler be as fast as uv?" Immediately my inner voice said "YA, WHY CAN'T IT BE AS FAST AS UV????" My inner voice likes to shout at me, especially when someone asks a question so obvious I should have thought of it myself. Since then I've been thinking about and investigating this problem, going so far as to give a presentation at XO Ruby Portland about Bundler performance. I firmly believe the answer is "Bundler can be as fast as uv" (where "as fast" has a margin of error lol). Fortunately, Andrew Nesbitt recently wrote a post called "How uv got so fast", and I thought I would take this opportunity to review some of the highlights of the post and how techniques applied in uv can (or can't) be applied to Bundler / RubyGems. I'd also like to discuss some of the existing bottlenecks in Bundler and what we can do to fix them. If you haven't read Andrew's post, I highly recommend giving it a read. I'm going to quote some parts of the post and try to reframe them with RubyGems / Bundler in mind. Rewrite in Rust? Andrew opens the post talking about rewriting in Rust: uv installs packages faster than pip by an order of magnitude. The usual explanation is "it's written in Rust." That's true, but it doesn't explain much. Plenty of tools are written in Rust without being notably fast. The interesting question is what design decisions made the difference. This is such a good quote. I'm going to address "rewrite in Rust" a bit later in the post. But suffice to say, I think if we eliminate bottlenecks in Bundler such that the only viable option for performance improvements is to "rewrite in Rust", then I'll call it a success. I think rewrites give developers the freedom to "think outside the box", and try techniques they might not have tried. In the case of uv, I think it gave the developers a good way to say "if we don't have to worry about backwards compatibility, what could we achieve?". I su

## Santa's Python Pitfalls: A Java Developer's Guide to Staying Safe This Christmas

DevFeed: [Santa's Python Pitfalls: A Java Developer's Guide to Staying Safe This Christmas](<https://devfeed.tech/articles/santa-s-python-pitfalls-a-java-developer-s-guide-to-staying-safe-this-christmas-23029.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/santas-python-pitfalls-a-java-developers-guide-to-staying-safe-this-christmas.html>)

Author: Steve Poole

Published: 2025-12-24T03:03:09Z

Content type: tutorial

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [pip](<https://devfeed.tech/topics/pip.md>), [PyPI](<https://devfeed.tech/topics/pypi.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Java](<https://devfeed.tech/topics/java.md>), [Maven](<https://devfeed.tech/topics/maven.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [attacks](<https://devfeed.tech/tags/attacks.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [developer](<https://devfeed.tech/tags/developer.md>), [guide](<https://devfeed.tech/tags/guide.md>), [install](<https://devfeed.tech/tags/install.md>), [internet](<https://devfeed.tech/tags/internet.md>), [java](<https://devfeed.tech/tags/java.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [mirror](<https://devfeed.tech/tags/mirror.md>), [model](<https://devfeed.tech/tags/model.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [pitfalls](<https://devfeed.tech/tags/pitfalls.md>), [pypi](<https://devfeed.tech/tags/pypi.md>), [python](<https://devfeed.tech/tags/python.md>), [registry](<https://devfeed.tech/tags/registry.md>), [trust](<https://devfeed.tech/tags/trust.md>)

### AI overview

A Java-focused guide to Python package-management risks. It contrasts Maven Central with PyPI, highlighting flat package naming, trusting dependency resolution, typosquatting, dependency confusion, and unsafe installation commands. It recommends version pins, known sources, private registries, and lock files.

### Source excerpt

Just like that it happened. You, a disciplined Java developer, are now installing Python. Like everything in 2025, it just arrived. One day, you were running a tidy mvn install, the next, you're learning about virtual environments and fighting an unfriendly pip install that won't explain what it just pulled from the internet. Good news: [...] The post Santa's Python Pitfalls: A Java Developer's Guide to Staying Safe This Christmas appeared first on JVM Advent.

## Introducing Componentize-Py

DevFeed: [Introducing Componentize-Py](<https://devfeed.tech/articles/introducing-componentize-py-15264.md>)

Original publisher: [Read original article](<https://www.fermyon.com/blog/introducing-componentize-py>)

Author: Joel Dice

Published: 2023-08-29T12:00:00Z

Content type: release

Language: en

Sources: [Fermyon - Experience the next wave of cloud computing.](<https://devfeed.tech/sources/fermyon-experience-the-next-wave-of-cloud-computing.md>)

Topics: [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [Python](<https://devfeed.tech/topics/python.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [python](<https://devfeed.tech/tags/python.md>), [tool](<https://devfeed.tech/tags/tool.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

Componentize-Py is a new tool that packages Python applications and their dependencies as WebAssembly components.

### Source excerpt

Componentize-Py is a new tool for packaging Python apps and their dependencies as WebAssembly components.

## Shipping completions for Go CLIs using GoReleaser and Cobra

DevFeed: [Shipping completions for Go CLIs using GoReleaser and Cobra](<https://devfeed.tech/articles/shipping-completions-for-go-clis-using-goreleaser-and-cobra-37739.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/golang-completions-cobra/>)

Author: Carlos Alexandro Becker

Published: 2022-08-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [friendly interactive shell](<https://devfeed.tech/topics/fish.md>), [Zsh](<https://devfeed.tech/topics/zsh.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Unix](<https://devfeed.tech/topics/unix.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [go](<https://devfeed.tech/tags/go.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [hugo](<https://devfeed.tech/tags/hugo.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [powershell](<https://devfeed.tech/tags/powershell.md>), [shell](<https://devfeed.tech/tags/shell.md>)

### AI overview

A tutorial on shipping shell completions for Go command-line tools using Cobra and GoReleaser. It covers generating completion files, enabling them through GoReleaser hooks, packaging them for archives, Homebrew, AUR, and nFPM, testing the packages, and optionally adding Unix man pages.

### Source excerpt

Everyone likes command line completions, so much that some even install extra tools just to have them.

## Mobile NixOS July 2021 project update

DevFeed: [Mobile NixOS July 2021 project update](<https://devfeed.tech/articles/july-2021-round-up-32474.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2021-08-03-july-2021-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2021-08-03T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Library](<https://devfeed.tech/topics/library.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [fontawesome](<https://devfeed.tech/tags/fontawesome.md>), [fonts](<https://devfeed.tech/tags/fonts.md>), [gui](<https://devfeed.tech/tags/gui.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The July 2021 Mobile NixOS update reports merged project changes, including redesigned stage-1 applications, TrueType font support in the GUI toolkit, packaging improvements, image fixes, and PinePhone updates.

### Source excerpt

This update is the eighteenth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the two months 12 pull requests were merged. Stage-1 apps re-design The applications for stage-1 were redesigned in #364. Though it is an understatement to imply that they only were redesigned. While, yes, this follows the design language of the redesigned website, some work was needed to achieve the result. First, support for truetype fonts needed to be added to the GUI toolkit. While it may seem like it's not required for this limited use case, in reality this not only allows using more fonts than the hardcoded ones, it allows scalable fonts. With these changes, text should be big and readable on all devices. Truetype fonts support also gives us the ability to fall back to other fonts. This initial implementation falls back to FontAwesome, giving us access to the full library of glyphs, rather than a selected subset. In addition to these user-facing changes, a lot of work was done to rework some parts of the implementation and packaging of these applications. This should reduce the burden on packaging new features or applications made with this toolkit. In another pull request, large images were fixed. This fixes corruption with images with higher resolution devices. Notable changes Device-specific changes Pinephone improvements A flurry of changes for the Pinephone, most authored by @tomfitzhenry. Succinctly, updates to the latest revisions for the different mainline components, and other fixes and feature enablement. Pinephone pull requests merged in July (7) Ports No new port were made in April. There is still a total of 21 devices you can build for.

## Python and Go : Part III - Packaging Python Code

DevFeed: [Python and Go : Part III - Packaging Python Code](<https://devfeed.tech/articles/python-and-go-part-iii-packaging-python-code-22169.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2020/08/packaging-python-code.html>)

Published: 2020-08-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Code](<https://devfeed.tech/topics/code.md>), [Development](<https://devfeed.tech/topics/development.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [library](<https://devfeed.tech/tags/library.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

This tutorial explains how to package Python code that wraps a Go shared library. It covers writing a Python module with a Pythonic API, defining the package, and the simplified workflow pip uses to install Python packages.

### Source excerpt

Series Index Python and Go: Part I - gRPC Python and Go: Part II - Extending Python With Go Python and Go: Part III - Packaging Python Code Python and Go: Part IV - Using Python in Memory Introduction In the previous post we compiled Go code to a shared library and used it from the Python interactive shell. In this post we're going to finish the development process by writing a Python module that hides the low level details of working with a shared library and then package this code as a Python package.

## Getting Started with Pipenv

DevFeed: [Getting Started with Pipenv](<https://devfeed.tech/articles/getting-started-with-pipenv-26288.md>)

Original publisher: [Read original article](<https://masnun.com/pipenv-getting-started/>)

Author: masnun

Published: 2017-11-25T23:09:32Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [pip](<https://devfeed.tech/topics/pip.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [PyPI](<https://devfeed.tech/topics/pypi.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [PyCharm](<https://devfeed.tech/topics/pycharm.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [environment-management](<https://devfeed.tech/tags/environment-management.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [install](<https://devfeed.tech/tags/install.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [pycharm](<https://devfeed.tech/tags/pycharm.md>), [pypi](<https://devfeed.tech/tags/pypi.md>), [python](<https://devfeed.tech/tags/python.md>), [python-packages](<https://devfeed.tech/tags/python-packages.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A tutorial introducing Pipenv for Python development. It explains how Pipenv combines package installation with isolated virtual environments, records dependencies in a Pipfile, creates a lock file for deterministic builds, and supports installing packages, running applications, activating environments, and managing dependencies.

### Source excerpt

If you're a Python developer, you probably know about pip and the different environment management solutions like virtualenv or venv. The pip tool is currently the standard way to install a Python package. Virtualenv has been a popular way of isolating Python environments for a long time. Pipenv combines the very best of these tools [...] The post Getting Started with Pipenv appeared first on Abu Ashraf Masnun.

## How to Handle your Python packaging in Lambda with Serverless plugins

DevFeed: [How to Handle your Python packaging in Lambda with Serverless plugins](<https://devfeed.tech/articles/how-to-handle-your-python-packaging-in-lambda-with-serverless-plugins-14389.md>)

Original publisher: [Read original article](<https://www.serverless.com/blog/serverless-python-packaging>)

Author: Alex DeBrie

Published: 2017-08-04T00:00:00Z

Content type: tutorial

Language: en

Sources: [Serverless Blog](<https://devfeed.tech/sources/serverless-blog.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [faas](<https://devfeed.tech/tags/faas.md>), [function-as-a-service](<https://devfeed.tech/tags/function-as-a-service.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [python](<https://devfeed.tech/tags/python.md>), [python-dependencies](<https://devfeed.tech/tags/python-dependencies.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [serverless-architecture](<https://devfeed.tech/tags/serverless-architecture.md>), [serverless-framework](<https://devfeed.tech/tags/serverless-framework.md>)

### AI overview

A tutorial on handling Python dependencies in AWS Lambda functions using Serverless plugins to maintain development and production parity.

### Source excerpt

Handling Python dependencies in your Lambda functions can be a pain. Here's how I handle Python packaging with Serverless for dev/prod parity.

## Design Philosophy On Packaging

DevFeed: [Design Philosophy On Packaging](<https://devfeed.tech/articles/design-philosophy-on-packaging-22121.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2017/02/design-philosophy-on-packaging.html>)

Published: 2017-02-20T00:00:00Z

Content type: article

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Library](<https://devfeed.tech/topics/library.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>)

### AI overview

The article explains packaging in Go as a structural mechanism that separates parts of a program, supports large-team development, and allows the compiler and language to provide assistance. It argues that developers must use appropriate practices when organizing Go code because package boundaries differ from folder-based source organization in other languages.

### Source excerpt

Prelude This post is part of a series of posts designed to make you think about your own design philosophy on different topics. If you haven't read this post yet, please do so first: Develop Your Design Philosophy After this post, read this next one: Package Oriented Design Introduction In an interview given to Brian Kernighan by Mihai Budiu in the year 2000, Brian was asked the following question: "Can you tell us about the worse features of C, from your point of view"?

## Flexible Environment Variable Support for AWS Lambda - Serverless Framework V1.2

DevFeed: [Flexible Environment Variable Support for AWS Lambda - Serverless Framework V1.2](<https://devfeed.tech/articles/flexible-environment-variable-support-for-aws-lambda-serverless-framework-v1-2-14415.md>)

Original publisher: [Read original article](<https://www.serverless.com/blog/serverless-v1-2-0>)

Author: Philipp Müns

Published: 2016-11-22T00:00:00Z

Content type: release

Language: en

Sources: [Serverless Blog](<https://devfeed.tech/sources/serverless-blog.md>)

Topics: [serverless framework](<https://devfeed.tech/topics/serverless-framework.md>), [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [AWS IAM](<https://devfeed.tech/topics/aws-iam.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [faas](<https://devfeed.tech/tags/faas.md>), [function-as-a-service](<https://devfeed.tech/tags/function-as-a-service.md>), [iam](<https://devfeed.tech/tags/iam.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [news](<https://devfeed.tech/tags/news.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [serverless-architecture](<https://devfeed.tech/tags/serverless-architecture.md>), [serverless-framework](<https://devfeed.tech/tags/serverless-framework.md>)

### AI overview

Serverless Framework v1.2 adds environment variable support for AWS Lambda, optimized function packaging, per-function IAM permissions, and new configuration options.

### Source excerpt

Environment variable support, optimized function packaging, per function IAM permissions, and new configuration options available in Serverless v1.2

## Maven, Gems, and a JRuby Console for All

DevFeed: [Maven, Gems, and a JRuby Console for All](<https://devfeed.tech/articles/maven-gems-and-a-jruby-console-for-all-15762.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/maven-gems-and-a-jruby-console-for-all>)

Author: Square Engineering

Published: 2013-07-02T16:03:00Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Maven](<https://devfeed.tech/topics/maven.md>), [Java](<https://devfeed.tech/topics/java.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [java](<https://devfeed.tech/tags/java.md>), [maven-plugin](<https://devfeed.tech/tags/maven-plugin.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [ruby](<https://devfeed.tech/tags/ruby.md>)

### AI overview

A tutorial showing how to package an embedded JRuby console and its gem dependencies inside a Maven shaded JAR. It explains the Maven plugin configuration and demonstrates running the application in production without invoking JRuby while still allowing the console to access the configured gems.

### Source excerpt

We will show how to add a JRuby console to any maven project... with gems!

## pgfincore in debian

DevFeed: [pgfincore in debian](<https://devfeed.tech/articles/pgfincore-in-debian-34441.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2011/08/pgfincore-in-debian/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2011-08-19T21:00:00Z

Content type: tutorial

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [Debian](<https://devfeed.tech/topics/debian.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [build-system](<https://devfeed.tech/tags/build-system.md>), [code](<https://devfeed.tech/tags/code.md>), [debian](<https://devfeed.tech/tags/debian.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

This article discusses pgfincore entering Debian after its 1.0 release, focusing on Debian packaging and support. It explains multi-version packaging for PostgreSQL 8.4, 9.0, and 9.1, and describes using debhelper, PostgreSQL packaging helpers, and PGXS to automate extension builds.

### Source excerpt

As of pretty recently, pgfincore is now in debian, as you can see on its postgresql-9.0-pgfincore page. The reason why it entered the debian archives is that it reached the 1.0 release! Rather than talking about what pgfincore is all about ( A set of functions to manage pages in memory from PostgreSQL), I will talk about its packaging and support as a debian package. Here's the first example of a modern multi-version packaging I have to offer. pgfincore packaging supports building for 8.4 and 9.0 and 9.1 out of the box, even if the only binary you'll find in debian sid is the 9.0 one, as you can check on the pgfincore debian source package page.

## Back from Ottawa, preparing for Cambridge

DevFeed: [Back from Ottawa, preparing for Cambridge](<https://devfeed.tech/articles/back-from-ottawa-preparing-for-cambridge-34412.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2011/05/back-from-ottawa-preparing-for-cambridge/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2011-05-30T09:00:00Z

Content type: opinion

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Availability](<https://devfeed.tech/topics/availability.md>)

Tags: [clustering](<https://devfeed.tech/tags/clustering.md>), [debian](<https://devfeed.tech/tags/debian.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [high-availability](<https://devfeed.tech/tags/high-availability.md>), [management](<https://devfeed.tech/tags/management.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [triggers](<https://devfeed.tech/tags/triggers.md>)

### AI overview

The author returns from PG Con in Ottawa and prepares for CHAR 11 in Cambridge. The article discusses PostgreSQL SSI and DDL triggers as possible foundations for auditing, finer-grained privilege management, and more automated replication, and mentions planned work on Skytools 3 documentation and monitoring.

### Source excerpt

While Magnus is all about PG Conf EU already, you have to realize we're just landed back from PG Con in Ottawa. My next stop in the annual conferences is CHAR 11, the Clustering, High Availability and Replication conference in Cambridge, 11-12 July. Yes, on the old continent this time. This year's pgcon hot topics, for me, have been centered around a better grasp at SSI and DDL Triggers. Having those beasts in PostgreSQL would allow for auditing, finer privileges management and some more automated replication facilities. Imagine that ALTER TABLE is able to fire a trigger, provided by Londiste or Slony, that will do what's needed on the cluster by itself. That would be awesome, wouldn't it?

## Some notes about Skytools3

DevFeed: [Some notes about Skytools3](<https://devfeed.tech/articles/some-notes-about-skytools3-34411.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2011/04/some-notes-about-skytools3/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2011-04-11T09:30:00Z

Content type: article

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [documentation](<https://devfeed.tech/tags/documentation.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [production](<https://devfeed.tech/tags/production.md>), [release](<https://devfeed.tech/tags/release.md>), [separate](<https://devfeed.tech/tags/separate.md>), [services](<https://devfeed.tech/tags/services.md>), [system](<https://devfeed.tech/tags/system.md>)

### AI overview

The article discusses packaging Skytools3, including separating its daemons and subprojects into installable components for PostgreSQL environments. It describes service users, configuration files, startup and shutdown integration, logging defaults, and planned documentation work before a public release.

### Source excerpt

I've been working on skytools3 packaging lately. I've been pushing quite a lot of work into it, in order to have exactly what I needed out of the box, after some 3 years of production and experiences with the products. Plural, yes, because even if pgbouncer and plproxy are siblings to the projets (same developers team, separate life cycle and releases), then skytools still includes several sub-projects. Here's what the skytools3 packaging is going to look like:

## hstore-new & preprepare reach debian too

DevFeed: [hstore-new & preprepare reach debian too](<https://devfeed.tech/articles/hstore-new-preprepare-reach-debian-too-34345.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2009/08/hstore-new-preprepare-reach-debian-too/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2009-08-18T07:14:00Z

Content type: release

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [Debian](<https://devfeed.tech/topics/debian.md>), [Bash](<https://devfeed.tech/topics/bash.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [debian](<https://devfeed.tech/tags/debian.md>), [packaging](<https://devfeed.tech/tags/packaging.md>)

### AI overview

The hstore-new and preprepare packages reached Debian's unstable queue after Debian developers processed the NEW queue. The author notes a Bash compatibility issue in hstore-new packaging and plans improvements to preprepare's GUC management.

### Source excerpt

It seems like debian developers are back from annual conference and holiday, so they have had a look at the NEW queue and processed the packages in there. Two of them were mines and waiting to get in unstable, hstore-new and preprepare. Time to do some bug fixing already, as hstore-new packaging is using a bash'ism I shouldn't rely on (or so the debian buildfarm is telling me) and for preprepare I was waiting for inclusion before to go improving the GUC management, stealing some code from Selena's pgGearman :)

## prefix 1.0~rc2-1

DevFeed: [prefix 1.0~rc2-1](<https://devfeed.tech/articles/prefix-1-0-rc2-1-34344.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2009/07/prefix-1.0~rc2-1/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2009-07-09T10:48:00Z

Content type: release

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [make](<https://devfeed.tech/topics/make.md>)

Tags: [benchmark](<https://devfeed.tech/tags/benchmark.md>), [building](<https://devfeed.tech/tags/building.md>), [debian](<https://devfeed.tech/tags/debian.md>), [function](<https://devfeed.tech/tags/function.md>), [packages](<https://devfeed.tech/tags/packages.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [qa](<https://devfeed.tech/tags/qa.md>), [query](<https://devfeed.tech/tags/query.md>), [text](<https://devfeed.tech/tags/text.md>)

### AI overview

A release note for prefix 1.0~rc2-1 describing Debian packaging work for PostgreSQL 8.3 and 8.4 and the addition of the length(prefix_range) function. It also includes a micro-benchmark for the new function.

### Source excerpt

I've been having problem with building both postgresql-8.3-prefix and postgresql-8.4-prefix debian packages from the same source package, and fixing the packaging issue forced me into modifying the main prefix Makefile. So while reaching rc2, I tried to think about missing pieces easy to add this late in the game: and there's one, that's a function length(prefix_range), so that you don't have to cast to text no more in the following wildspread query: