<?xml version="1.0" encoding="UTF-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us"><id>https://blog.pgxn.org/tags/upload/</id><title>Upload</title><updated>2010-10-19T17:46:44Z</updated><link rel="self" type="application/atom+xml" href="https://blog.pgxn.org/tags/upload/feed.xml"/><link rel="alternate" type="text/html" href="https://blog.pgxn.org/tags/upload/"/><author><name>The PGXN Maintainers</name></author><generator uri="https://gohugo.io/" version="0.167.0">Hugo</generator><entry><id>https://blog.pgxn.org/post/1352326020</id><title type="html">First Upload to PGXN</title><link rel="alternate" type="text/html" href="https://blog.pgxn.org/2010/first-upload/"/><updated>2026-10-07T16:13:48Z</updated><published>2010-10-19T17:46:44Z</published><author><name>David E. Wheeler</name></author><category scheme="https://blog.pgxn.org/tags" term="pgxn" label="PGXN"/><category scheme="https://blog.pgxn.org/tags" term="upload" label="Upload"/><category scheme="https://blog.pgxn.org/tags" term="distribution" label="Distribution"/><category scheme="https://blog.pgxn.org/tags" term="metadata" label="Metadata"/><category scheme="https://blog.pgxn.org/tags" term="json" label="JSON"/><category scheme="https://blog.pgxn.org/tags" term="pair" label="Pair"/><summary type="html"><![CDATA[<p>Last night I deployed <a href="https://github.com/theory/pgxn-manager/">PGXN::Manager</a> v0.2.1 and uploaded the first
distribution, <a href="https://master.pgxn.org/dist/pair/">pair</a>. If you follow that link you&rsquo;ll see three files:</p>
<ul>
<li><a href="https://master.pgxn.org/dist/pair/pair-0.1.0.json"><code>pair-0.1.0.json</code></a> is metadata file generated by PGXN manager to describe
the distribution. Most of its data is taken from the <a href="https://github.com/theory/kv-pair/blob/master/META.json"><code>META.json</code></a> included
in the uploaded zip file, but a few keys, like &ldquo;sha1&rdquo;, are generated, and
others, like &ldquo;release_status&rdquo; are added if they&rsquo;re not in the included
<code>META.json</code>.</li>
<li><a href="https://master.pgxn.org/dist/pair/pair-0.1.0.readme">pair-0.0.1.readme</a> is a copy of the <code>README</code> file distributed with pair.</li>
<li><a href="https://master.pgxn.org/dist/pair/pair-0.1.0.pgz">pair-0.1.0.pgz</a> is the distribution zip file. That&rsquo;s the file you want to
download, unzip, and build and install.</li>
</ul>
<p>Following the spec I previously <a href="https://blog.pgxn.org/post/988613682/restful-directory">wrote up</a>, there are a number of other files
that get created when a new distribution is uploaded to PGXN. For the pair
extension, we got:</p>]]></summary><content type="html" xml:base="https://blog.pgxn.org/" xml:space="preserve"><![CDATA[<p>Last night I deployed <a href="https://github.com/theory/pgxn-manager/">PGXN::Manager</a> v0.2.1 and uploaded the first
distribution, <a href="https://master.pgxn.org/dist/pair/">pair</a>. If you follow that link you&rsquo;ll see three files:</p>
<ul>
<li><a href="https://master.pgxn.org/dist/pair/pair-0.1.0.json"><code>pair-0.1.0.json</code></a> is metadata file generated by PGXN manager to describe
the distribution. Most of its data is taken from the <a href="https://github.com/theory/kv-pair/blob/master/META.json"><code>META.json</code></a> included
in the uploaded zip file, but a few keys, like &ldquo;sha1&rdquo;, are generated, and
others, like &ldquo;release_status&rdquo; are added if they&rsquo;re not in the included
<code>META.json</code>.</li>
<li><a href="https://master.pgxn.org/dist/pair/pair-0.1.0.readme">pair-0.0.1.readme</a> is a copy of the <code>README</code> file distributed with pair.</li>
<li><a href="https://master.pgxn.org/dist/pair/pair-0.1.0.pgz">pair-0.1.0.pgz</a> is the distribution zip file. That&rsquo;s the file you want to
download, unzip, and build and install.</li>
</ul>
<p>Following the spec I previously <a href="https://blog.pgxn.org/post/988613682/restful-directory">wrote up</a>, there are a number of other files
that get created when a new distribution is uploaded to PGXN. For the pair
extension, we got:</p>
<ul>
<li>
<p><a href="https://master.pgxn.org/by/dist/pair.json"><code>by/dist/pair.json</code></a>, which will be updated with information for every
release of the &ldquo;pair&rdquo; distribution.</p>
</li>
<li>
<p><a href="https://master.pgxn.org/by/extension/pair.json"><code>by/extension/pair.json</code></a>, which will be updated for every upload
containing the &ldquo;pair&rdquo; extension.</p>
</li>
<li>
<p><a href="https://master.pgxn.org/by/owner/theory.json"><code>by/owner/theory.json</code></a>, which will be updated every time I upload a
distribution.</p>
</li>
<li>
<p>Files for every tag listed in the <a href="https://master.pgxn.org/dist/pair/pair-0.1.0.json">metadata</a> are also
created. In this case, that includes:</p>
<ul>
<li><a href="https://master.pgxn.org/by/tag/key%20value%20pair.json"><code>by/tag/key value pair.json</code></a></li>
<li><a href="https://master.pgxn.org/by/tag/key%20value.json"><code>by/tag/key value.json</code></a></li>
<li><a href="https://master.pgxn.org/by/tag/ordered%20pair.json"><code>by/tag/ordered pair.json</code></a></li>
<li><a href="https://master.pgxn.org/by/tag/pair.json"><code>by/tag/pair.json</code></a></li>
<li><a href="https://master.pgxn.org/by/tag/variadic%20function.json"><code>by/tag/variadic function.json</code></a></li>
</ul>
<p>Each of these files will be updated every time a distribution is uploaded
containing the relevant tag.</p>
</li>
</ul>
<p>You&rsquo;ll soon be able to upload your own extension distributions to PGXN. If
you&rsquo;re interested, please subscribe to the <a href="https://groups.google.com/group/pgxn-users">mail list</a>, where I&rsquo;ll soon be
inviting folks to get an account and start uploading.</p>
<p>But first, a blog post on how to create a PGXN-friendly distribution archive.
Coming up shortly.</p>
]]></content></entry></feed>