Launchpad PPA
launchpad.net · Storage · 2 records · JSON
- Launchpad PPA (Ubuntu Personal Package Archive) Storagecaveatemail?card?Rper-ip-shaping
- Launchpad project file releases (+download area) Storagecaveatinstitutionno cardRper-object-cap
Launchpad PPA (Ubuntu Personal Package Archive) Storage
caveatemail?card?Rper-ip-shaping
| Free tier | 8 GiB of disk per PPA - current official reference: 'Disk space | 8 GiB; larger quotas considered on request at https://answers.launchpad.net/launchpad'. (Historical: PPAs were raised to a 2 GiB minimum in 2010 per the Launchpad blog; the 8 GiB figure is the current documented one.) 'PPAs per owner: One or more per user or team; each has its own URL.' unit GiB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | This is the binding constraint - you cannot push an arbitrary tarball; everything must be a signed source package (.dsc + orig.tar.gz + debian.tar.gz), so a 4 GB blob becomes one 4 GB .orig.tar.gz (allowed, but must be a valid Debian source package). retention: indefinite - 'A published package remains available until .. |
| Egress | Free: 'Data transfer | No fixed cap; unusual volumes may trigger contact from Launchpad.' Served from ppa.launchpadcontent.net with no billing. |
| Identity | email (placeholder) not published |
| Limits |
per-object-cap: 'Uploadable artefacts | Source packages only; pre-built binary uploads are rejected' and 'Package formats | .deb only'. This is the binding constraint - you cannot push an arbitrary tarball; everything must be a signed source package (.dsc + orig.tar.gz + debian.tar.gz), so a 4 GB blob becomes one 4 GB .orig.tar.gz (allowed, but must be a valid Debian source package). retention: indefinite - 'A published package remains available until ... the owner removes it, or a later upload supersedes it.' request-rate: not documented; download is plain HTTP. Measured single-stream throughput on a real PPA .deb was only ~70 KB/s. |
| Binding | per-ip-shaping one stream is shaped, and a user's throughput is the shaped rate times the number of streams |
| Interface | rest, ftp, rsync, rclone rest |
| Tooling | dput/dput-ng (rsync+ftp upload to ppa.launchpad.net), apt/deb-src for consumption, Launchpad REST API + launchpadlib. No rclone backend. |
| Composes with | N PPAs per owner ('one or more per user or team') x 8 GiB each x unlimited free Launchpad accounts and teams. A team can own multiple PPAs, so 8 GiB x N. For 20 TiB archive that is ~2,560 PPAs - achievable across accounts/teams but operationally heavy, and each is a separate signing key/deb repository. |
| Reliability | The read path works and supports ranges (verified 206 on a 1 MB range of a real .deb) but single-connection speed was poor (~70,666 B/s over 15 s). Batch/sharded fetch needed. Upload requires GPG-signed source packages - no arbitrary blob PUT. help.launchpad.net and blog.launchpad.net returned 503 to the reader all session (used archive captures instead), so the live help site is unreliable to fetch programmatically. |
| Notes | 8 GiB of disk per PPA - current official reference: 'Disk space | 8 GiB; larger quotas considered on request at https://answers.launchpad.net/launchpad'. (Historical: PPAs were raised to a 2 GiB minimum in 2010 per the Launchpad blog; the 8 GiB figure is the current documented one.) 'PPAs per owner: One or more per user or team; each has its own URL.' |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (5)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | launchpad-help.readthedocs.io/en/latest/how-to/distribute-ub | quotas table: 'Disk space | 8 GiB; larger quotas considered on request'; 'Data transfer | No fixed cap'; 'PPAs per owner | One or more per user or team' |
| 2026-10-21 | withheld | (captured 2024-12-11) - 'we've gone ahead and upgraded every PPA to a minimum of 2 GiB' |
| 2026-10-21 | ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/pool/main/p/p | probe: GET -> 200, directory listing of real .deb files |
| 2026-10-21 | withheld | probe: ranged GET bytes 0-1048575 on libpython3.12-dbg_3.12.15-1+jammy1_amd64.deb -> 206, 1,048,576 bytes, 70,666 B/s |
| 2026-10-21 | ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/dists/noble/R | probe: GET -> 200, 16,928 bytes (real Release file) |
Unknown or withheld values (8)
$.evidence[1].urlprivate-url$.evidence[3].urlprivate-url$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted
Launchpad project file releases (+download area) Storage
caveatinstitutionno cardRper-object-cap
| Free tier | 1 GiB PER FILE in the project *file release* area - a separate, much smaller surface than the PPA. The manual says: 'Each individual file must be no more than 1 GiB and you must be the: project maintainer / project driver / or the series release manager.' There is no published total-per-project cap; the unit of accounting is the individual release file. (The 8 GiB figure widely quoted for Launchpad is the PPA disk quota, verified in round 2 - it does not govern file releases.) unit GiB; metered on unstated |
|---|---|
| Price | none stated |
| Per-object cap | 1 GiB PER FILE (1073741824 bytes) |
| Retention | not stated |
| Egress | Free, no billing. Files are served from launchpadlibrarian.net behind a 303 redirect. No published transfer cap; round 2 measured ~70 KB/s single-stream on a PPA .deb, which is a throughput problem rather than a quota one. |
| Identity | institution derived from the record's prose, not from an identity field, and no signup was executed: padlibrarian.net -> 200, 419,427 bytes). Write path is web/API only with no bulk transport, so it is a worse fit than a forge with SFTP. The docs being stale-and-unrevised is a real |
| Limits |
per-object-cap: 1 GiB hard per release file. Also content-typed: files must fall into 'code release tarball / installer files / README or other documentation / changelog file / release notes' - arbitrary blobs are off-spec. retention: indefinite per release. request-rate: not documented for the file area; the docs page itself is flagged 'migrated from help.launchpad.net as is, and has not yet been revised'. |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Interface | rest, sftp, rsync rest |
| Tooling | Web upload per release ('Add download file') is the documented path - no SFTP/rsync equivalent to Savannah or SourceForge for the release area. Automation goes through the Launchpad web service API: launchpadlib (Python), the +download URL shape, and hardware-bound API tokens. Consumer side is plain HTTPS GET with an MD5 and optional GPG signature per file. |
| Composes with | unlimited projects x unlimited series x unlimited releases x 1 GiB per file. At 1 GiB granularity 500 GB is 500 files - feasible but operationally noisy, and every upload is a web action unless scripted via launchpadlib. Distinct from the PPA path (8 GiB/PPA, .deb-only, dput/rsync upload). |
| Reliability | Read path verified working end-to-end (303 -> launchpadlibrarian.net -> 200, 419,427 bytes). Write path is web/API only with no bulk transport, so it is a worse fit than a forge with SFTP. The docs being stale-and-unrevised is a real risk: the 1 GiB number is from a migrated page, not a maintained limits table. |
| Notes | 1 GiB PER FILE in the project *file release* area - a separate, much smaller surface than the PPA. The manual says: 'Each individual file must be no more than 1 GiB and you must be the: project maintainer / project driver / or the series release manager.' There is no published total-per-project cap; the unit of accounting is the individual release file. (The 8 GiB figure widely quoted for Launchpad is the PPA disk quota, verified in round 2 - it does not govern file releases.) |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | documentation.ubuntu.com/launchpad/user/explanation/projects | 'Each individual file must be no more than 1 GiB'; file must be one of code release tarball / installer / README / changelog / release notes |
| 2026-10-21 | withheld | same page - 'This document has been migrated from help.launchpad.net as is, and has not yet been revised.' |
| 2026-10-21 | launchpad.net/libeatmydata/trunk/release-105/+download/libea | probe: GET -> 303 to https://launchpadlibrarian.net/188644793/libeatmydata-105.tar.gz -> 200, Content-Length 419427 |
| 2026-10-21 | launchpad-help.readthedocs.io/en/latest/how-to/distribute-ub | round-2 cross-check: PPA quota is 8 GiB/PPA with GPG-signed source packages only () |
Unknown or withheld values (5)
$.evidence[1].urlprivate-url$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted$.retention.statednot-extracted