Julian Wiley

Poetry Extras as Architecture Boundaries

April 14, 2026· 1 min readAgentic Assistants

Why the extras layout in pyproject.toml became an architectural tool, not just a packaging convenience, in Agentic Assistants.

Agentic AssistantsPoetryArchitecturePythonDependencies

Packaging Usually Follows Architecture

In many projects, dependency files simply mirror what code already did.

In agentic_assistants, pyproject.toml moved in the other direction: extras started shaping architecture. Distinct groups like dagster, orchestration, nemotron, evaluation, and library signal where the platform can stay modular.

Why This Matters

A local-first AI framework touches many ecosystems:

  • training stacks
  • orchestration engines
  • vector infrastructure
  • evaluation frameworks

If all dependencies are mandatory, every environment becomes brittle and onboarding slows down.

Extras keep core workflows lean while still exposing advanced capability gates.

The Practical Benefit

I can now run environment-specific installs:

poetry install -E dagster
poetry install -E nemotron
poetry install -E library

This makes it easier to match dependencies to use-case:

  • docs and examples laptop
  • orchestration node
  • model tuning node

The Tradeoff

More extras means more combinatorics. You need clear docs and compatibility tests, or users will discover broken combinations first.

The repository addresses this by documenting install paths in both main docs and example READMEs, and by keeping a stable core dependency set.

Architecture Signal In One File

The extras map also communicates product shape:

  • what is first-class
  • what is optional
  • where integration seams live

That helps contributors reason about scope before they touch implementation.

Practical Takeaway

Use extras to encode boundaries your codebase already needs. If your platform spans multiple domains, packaging can be one of the cleanest ways to communicate and enforce modularity.

Related Posts

Installing Only What You Need: Extras Strategy for the Examples Library
Apr 10, 2026
How the Agentic Assistants examples library uses Poetry extras to keep installs lightweight while still supporting a broad set of workflows.
Removing Langflow from Extras: A Dependency Conflict Postmortem
Apr 16, 2026
What we learned from removing Langflow from optional extras due to cachetools conflicts with MLflow and how to handle similar packaging tradeoffs.
Inside the Planner-Worker Engine of CyberSec Dashboard
May 7, 2026
How the core planner-worker-pipeline architecture in cybersec_dashboard enables async security analysis across diverse telemetry streams.
WebUI Package Upgrades: Why Next.js 16 and React Flow Matter
Apr 15, 2026
A practical look at the WebUI dependency updates in Agentic Assistants and how they unlocked richer model and pipeline interactions.