You don't upload a .deb package, you upload a source package, which can be built
in to a .deb package.
This is then put in a PPA to build the .deb packages that users will install.
Therefore there is a PPA behind the scenes.
You can then submit updates to your application by uploading an updated
source package at a later date. This will then be reviewed and go through
QA before being made available to users.
I look forward to seeing your application in the Software Center.
Well, yes. Keep in mind that
- The only acknowledged consumer of this API is the Software Center project. The syntax can and probably will be viciously deprecated in the future, with no regard for third parties.
- In the future, the Software Center may come to multiplex applications from other source APIs, such as those of Mozilla Marketplace and Appstream. As such this API may not be comprehensive.
- If you abuse this API you will be blocked.
With all those caveats aside
Applications
https://software-center.ubuntu.com/api/2.0/applications/$LANG/ubuntu/$SERIES/$ARCH/
will return a JSON document detailing third party applications currently installable for a given language code, release name prefix, and architecture. For example, here are the Software Center items currently provided for Ubuntu 12.04.
For technical reasons that would be constitutionally painful to explain, applications available from the Ubuntu archives (eg the Universe) are handled by a data package: app-install-data
. You can get the list with apt-get source -t $SERIES app-install-data
and handle it on your server locally; it doesn't change very often.
Reviews
http://reviews.ubuntu.com/reviews/api/1.0/reviews/filter/$LANG/ubuntu/$SERIES/$VERSION/$PACKAGE/
Will get you reviews for a package. Note that most fields here can be replaced with any
. For example, here are reviews of Warsaw written for 11.10.
Ratings
http://reviews.ubuntu.com/reviews/api/1.0/review-stats/ubuntu/$SERIES/
Will get you all ratings for all packages.
Images
http://screenshots.ubuntu.com/thumbnail-with-version/$PACKAGE/$VERSION
http://screenshots.ubuntu.com/screenshot-with-version/$PACKAGE/$VERSION
Will get you the thumbnail and screenshot for an application. For example, here is VLC's latest screenshot.
Other minor metadata
/usr/share/software-center/softwarecenter/distro/Ubuntu.py
/usr/share/software-center/softwarecenter/backend/piston/
For more API fun, visit these paths in your file browser. It's all in very readable Python. There's a lot of miscellanea for things like pagination, filtering, licensing text, review statistics, etcetera that you might be interested in:
Best Answer
It's not obvious, but the API filter there is using origin to specify whether the app is from the ubuntu archives or a PPA. So for a commercial app, filtering by 'ubuntu' gives zero results. What you want is:
etc.
Note, there's also a tiny wrapper that can keep your code cleaner if you want it: