Skip to main content

DISCONTINUED

This has been discontinued in favor of ppa-dev-tools.

While this is still useful for examples, I no longer intend to proceed with development for this tool. Please, use ppa-dev-tools instead.

lppa

Command line tool to create Launchpad PPAs and push deb source packages to them.

While this tool is intended to be used by distribution developers who often need to prepare and push packages to test PPAs, this can also be used by developers who wish to distribute their software through PPAs. For the latter, please make sure to check the documentation since the default values are designed to enhance the former use cases.

Installation

pip install lppa

Usage

lppa ships an lppa command line application to interact with Launchpad PPAs. Run

lppa --help

for additional information.

Create a new PPA

To create a new PPA, run

lppa create PPA_NAME [all|arch, ...]

where arch is a Launchpad processor (you can pass multiple architectures here) or all to enable all available architectures. If no architecture is passed, all is assumed.

The currently available Launchpad processors are

  • amd64
  • arm64
  • s390x
  • ppc64el
  • armhf
  • armel
  • i386
  • powerpc
  • riscv64

Delete an existing PPA

lppa delete PPA_NAME

List user's PPAs

lppa list

This will print a list with the names of the user's available PPAs

Fetch PPA information

Often, you may want to retrieve an URL for a PPA packages page or quickly fetch a dput command to upload packages to a PPA. That can be achieved through the info command.

lppa info PPA_NAME

Moreover, passing the -v option to the info command will also display the architectures for which the PPA can build packages.

Development

Run make devel to set the development environment up (a python virtual environment is recommended).

Run make check to run the test suite and ensure the development environment is up to date.

You can use make coverage to ensure code coverage is not drastically reduced by new changes (if proposing changes, try to write some tests for them).

For instance, a complete bootstrap script would look like:

# apt install -y python3-virtualenv python3-virtualenvwrapper
$ mkvirtualenv lppa
$ workon lppa
$ make devel
$ make check

Releasing

There is a make release target which will

  • Change lppa/__init__.py to set the version to be published
  • Update the CHANGELOG.md file with towncrier entries
  • Commit the changes above and tag the repository
  • Push the changes to PyPI (login required)
  • Add a final commit bumping the package version to a new development one

Finally, a manual git push (including tags) is required.

Metadata

Release files for lppa 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lppa 0.3.0
File Size Uploaded Provenance Actions
lppa-0.3.0.tar.gz 24.5 kB Without provenance Details for lppa-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lppa 0.3.0
File Interpreter ABI Platform Actions
lppa-0.3.0-py3-none-any.whl Python 3 none any Details for lppa-0.3.0-py3-none-any.whl

Total release size: 48.5 kB

Release files / lppa-0.3.0.tar.gz

Download URL lppa-0.3.0.tar.gz
Size 24.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0cd79133c2c68a56b14c2eeebd538e675605b490603e3683c9ac6bf9e28ed856
BLAKE2b-256 checksum
How to use checksums
1c45ce7a85ccf4af8f39cec2dc0d90ed0a02e5bc507ef4de854a98ab6b10d481
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / lppa-0.3.0-py3-none-any.whl

Download URL lppa-0.3.0-py3-none-any.whl
Size 24.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7309e87cd926e3aa187523b930a0b35c760688cf3fe8ddb119bc70578f3222d6
BLAKE2b-256 checksum
How to use checksums
655171a1cbb5c49d35273fa325ecb2593255c2b16cc01bcaabb007164a5e9a9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Security for lppa 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page