craft-parts
Craft parts tooling
Decision gist · record as of 2026-08-14
Yes, if you are developing Starcraft family applications (Snapcraft, Rockcraft, etc.) or building tools that need declarative multi-source data processing and packaging. The library is actively maintained, has low install friction, and carries no known vulnerabilities. The unclear license metadata warrants a quick verification, but the stated LGPL-3.0 license is permissive for most use cases. Not recommended if you are outside the Starcraft ecosystem unless you specifically need its parts-processing abstraction.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low install friction with a pure-wheel distribution.
- Active maintenance with a recent release (58 days ago) and ongoing commits.
License · maintenance · safety
(unclear) — License treatment is marked unclear in the metadata, though the description states the package is released under LGPL-3.0. Verify the actual license terms before use in proprietary or commercial contexts.
last release 2026-06-17 (58 days) · last repo commit 2026-08-14 · 18 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 166,617 downloads/mo, #10,488 on PyPI
Alternatives
Verify before relying
pip install craft-parts
from craft_parts import PartHandler
# Use PartHandler to declare and process parts from your sources- Whether the LGPL-3.0 license stated in the description is authoritative given the unclear license_treatment metadata.
- Scope of 'Starcraft family' applications and whether this library is suitable for non-Starcraft use cases.
What it is and what it does
Craft Parts is a library that implements a declarative parts mechanism for the Starcraft family of craft applications. It abstracts the workflow of fetching data from various sources, processing that data according to specifications, and organizing the results before they are packaged into a final artifact. The library is built on widely-used dependencies (lxml, pydantic, PyYAML, requests, semver, tomli, zstandard, and pyxdg) and targets modern Python versions (3.10, 3.11, 3.12).
The package is maintained by Canonical and is in production-stable status. It is most directly useful for developers working within the Starcraft ecosystem, though the underlying parts-processing abstraction may have broader applicability. The library is actively maintained with recent releases and is part of the Canonical open-source family.
Use it for
- Build and package Snapcraft, Rockcraft, or other Starcraft applications using declarative part definitions.
- Fetch and process source code, assets, or configuration from multiple remote or local sources in a single pipeline.
- Organize and transform build artifacts before final packaging into a distributable format.
- Integrate parts processing into custom build tools or CI/CD workflows that follow the Starcraft pattern.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are developing Starcraft family applications (Snapcraft, Rockcraft, etc.) or building tools that need declarative multi-source data processing and packaging.
The library is actively maintained, has low install friction, and carries no known vulnerabilities. The unclear license metadata warrants a quick verification, but the stated LGPL-3.0 license is permissive for most use cases. Not recommended if you are outside the Starcraft ecosystem unless you specifically need its parts-processing abstraction.
Install
craft-parts on PyPI
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a recent release (58 days ago) and ongoing commits. Nine runtime dependencies are all widely-used libraries (lxml, pydantic, PyYAML, requests, semver, etc.), suggesting stable, well-integrated tooling.
Requires Python 3.10 or later.
License in practice
License treatment is marked unclear in the metadata, though the description states the package is released under LGPL-3.0. Verify the actual license terms before use in proprietary or commercial contexts.
Quickstart
pip install craft-parts
from craft_parts import PartHandler
# Use PartHandler to declare and process parts from your sources
Verify before relying
- Whether the LGPL-3.0 license stated in the description is authoritative given the unclear license_treatment metadata.
- Scope of 'Starcraft family' applications and whether this library is suitable for non-Starcraft use cases.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 9 packageslxmlpydanticpyxdgPyYAMLrequests-unixsocket2requestssemvertomlizstandard |
| Maintenance | Actively maintained 58 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 166,617 / month, #10,488 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12 |
Evidence: craft_parts-2.35.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “parts mechanism for craft tools”
- craft-partsCraft Parts provides a declarative framework for obtaining,…
- keras-ocrkeras-ocr detects and recognizes text in images using pre-trained…
- canteraCantera is a suite of tools for chemical kinetics, thermodynamics,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also taskflow · app-model · ops · sf-hamilton · magic-filter · arcade-core · chialisp-builder · omnibase-compat · soldr · drf-access-policy