Hospedando seu próprio repositório simples

Se você deseja hospedar seu próprio repositório simples 1, você pode usar um pacote de software como devpi ou você pode usar simplesmente criar a estrutura de diretório apropriada e usar qualquer servidor web que pode servir arquivos estáticos e gerar um autoindex.

Em ambos os casos, como você hospedará um repositório que provavelmente não está nos repositórios padrão do usuário, você deve instruí-los na descrição do seu projeto para configurar o instalador apropriadamente. Por exemplo, com pip:

python3 -m pip install --extra-index-url https://python.example.com/ foobar
py -m pip install --extra-index-url https://python.example.com/ foobar

Além disso, é altamente recomendado que você sirva seu repositório com HTTPS válido. Neste momento, a segurança das instalações do seu usuário depende de todos os repositórios usando uma configuração válida do HTTPS.

Repositório “manual”

O layout do diretório é bastante simples, dentro de um diretório raiz você precisa criar um diretório para cada projeto. Este diretório deve ser o nome normalizado do projeto. Em cada um desses diretórios, basta colocar cada um dos arquivos para download. Se você tem os projetos “Foo” (com as versões 1.0 e 2.0) e “bar” (com a versão 0.1), você deve acabar com uma estrutura parecida com:

.
├── bar
│   └── bar-0.1.tar.gz
└── foo
    ├── Foo-1.0.tar.gz
    └── Foo-2.0.tar.gz

Assim que tiver esse layout, basta configurar seu servidor web para servir o diretório raiz com o autoindex habilitado. Para um exemplo usando o servidor Web embutido em Twisted, você simplesmente executaria twistd -n web --path . e então instruiria os usuários a adicionar a URL à configuração de seu instalador.


1

Para a documentação completa do protocolo de repositório simples, veja API de repositório simples..