fshy

fshy / Storage

Launchpad PPA

launchpad.net · Storage · 2 records · JSON

Launchpad PPA (Ubuntu Personal Package Archive) Storage

caveatemail?card?Rper-ip-shaping

launchpad.net/ubuntu/+ppas · paas · storage/launchpad-ppa · JSON · compare

Free tier8 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
Pricenone stated
Per-object capnot stated
RetentionThis 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 ..
EgressFree: 'Data transfer | No fixed cap; unusual volumes may trigger contact from Launchpad.' Served from ppa.launchpadcontent.net with no billing.
Identityemail (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.
Bindingper-ip-shaping one stream is shaped, and a user's throughput is the shaped rate times the number of streams
Interfacerest, ftp, rsync, rclone rest
Toolingdput/dput-ng (rsync+ftp upload to ppa.launchpad.net), apt/deb-src for consumption, Launchpad REST API + launchpadlib. No rclone backend.
Composes withN 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.
ReliabilityThe 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.
Notes8 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 rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-ip-shaping 70.0 KB
Evidence (5)
datesourcewhat it proved
2026-10-21launchpad-help.readthedocs.io/en/latest/how-to/distribute-ubquotas 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-21withheld(captured 2024-12-11) - 'we've gone ahead and upgraded every PPA to a minimum of 2 GiB'
2026-10-21ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/pool/main/p/pprobe: GET -> 200, directory listing of real .deb files
2026-10-21withheldprobe: 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-21ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/dists/noble/Rprobe: GET -> 200, 16,928 bytes (real Release file)
Unknown or withheld values (8)
  • $.evidence[1].url private-url
  • $.evidence[3].url private-url
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted

Launchpad project file releases (+download area) Storage

caveatinstitutionno cardRper-object-cap

launchpad.net · paas · storage/launchpad-project-file-releases · JSON · compare

Free tier1 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
Pricenone stated
Per-object cap1 GiB PER FILE (1073741824 bytes)
Retentionnot stated
EgressFree, 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.
Identityinstitution 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 PER FILE source
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'.
Bindingper-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
Interfacerest, sftp, rsync rest
ToolingWeb 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 withunlimited 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).
ReliabilityRead 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.
Notes1 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 rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-object-cap 1.0 GiB
Evidence (4)
datesourcewhat it proved
2026-10-21documentation.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-21withheldsame page - 'This document has been migrated from help.launchpad.net as is, and has not yet been revised.'
2026-10-21launchpad.net/libeatmydata/trunk/release-105/+download/libeaprobe: GET -> 303 to https://launchpadlibrarian.net/188644793/libeatmydata-105.tar.gz -> 200, Content-Length 419427
2026-10-21launchpad-help.readthedocs.io/en/latest/how-to/distribute-ubround-2 cross-check: PPA quota is 8 GiB/PPA with GPG-signed source packages only ()
Unknown or withheld values (5)
  • $.evidence[1].url private-url
  • $.free_tier.notes process
  • $.per_object_cap.notes not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted