plesty update

Update metadata or tooling in an existing Plesty project. Only the options you provide are changed; everything else is left as-is.

plesty update [OPTIONS]

Operates on the directory set by the global --project-dir option (defaults to the current working directory).

Options

Option

Description

--author TEXT

New author name — updates [project].authors[0].name in pyproject.toml

--email TEXT

New author email — updates [project].authors[0].email in pyproject.toml

--name NAME

New PyPI distribution name — updates [project].name in pyproject.toml

--standard STANDARD

Regenerate .gitlab-ci.yml using the given compliance standard (pixel, nebula, or quantum).

--no-ci

Remove the .gitlab-ci.yml file if present.

--install-hook

Install (or reinstall) the pre-push git hook that runs plesty check.

--versioning

Name snapshots for the release their line is working towards: write packaging/versioning.py and point [tool.hatch.version] at it.

At least one option must be provided.

Examples

# Change author and email
plesty update --author "Jane Doe" --email jane@example.com

# Rename the PyPI distribution
plesty update --name plesty-pm100d-device

# Regenerate CI with nebula standard
plesty update --standard nebula

# Remove the CI file
plesty update --no-ci

# Reinstall the pre-push hook
plesty update --install-hook

# Adopt the snapshot versioning rule new scaffolds ship with
plesty update --versioning

# Combine multiple updates in one call
plesty update --author "Jane Doe" --email jane@example.com --standard quantum

# Update a project in another directory
plesty --project-dir ../plesty-power_meter-device update --author "Jane Doe"

Notes

  • --author / --email update [project] metadata in pyproject.toml. Per-file copyright is declared in REUSE.toml; edit it there if the change affects authorship.

  • --name changes only [project].name. The Python package directory name and all import paths in source files are left unchanged.

  • --standard fully regenerates .gitlab-ci.yml from scratch using the plesty-standard-ci CI component; any manual edits to that file will be lost.

  • --versioning matters on a module with more than one line. A build between two tags is named for the release its branch is working towards: the next minor on exp and main, the next patch on maintain/0.N and on any branch that names no line. Without the rule, a maintain/0.4 snapshot is named 0.5.0.devN and sorts above the 0.4.1 the line exists to produce. The option also annotates packaging/** in REUSE.toml unless an existing annotation already covers it.