I'm playing around with devpi themes.
My goal is to create a nice theme for my company.
I'd like to add extra information to some pages, like the index page or the
I added a snippet of code which produces an "index inheritance diagram" on
each index page display.
Because the company I work for is not that small, these diagrams can get
A sample diagram: index inheritance diagram
Each box is an index, I intentionally removed all user and index names,
except for root/pypi.
It's not my indices, please don't judge me for the design :)
I'm concerned about performance here. First of all, currently I generate
those on display action, which doesn't seem the way to go.
Could devpi provide a hook so that I'm able to regenerate a diagram on an
index update event?
Additionally, I'd like to add more information to an index page and the
root pages. So the question is: Could functions in devpi_web.views expose
more data in get_index() and root()? Potentially other functions?
I know I can always get the data with python snippets in the templates, but
it all takes precious time.
For instance, in my company, some indices are regular user indices, some of
them are project indices.
I'd like to sort the list of indices on the root page: display the project
ones first, and user indices below.
The way I would see this is the custom_data property of an index.
The bottom line: I think people could easily create fancier themes if the
devpi web views functions exposed more data to the templates, even if that
data is not used in the default theme.
It would be great to get the full indexconfig json structure for each index
in both get_index() and root() functions from devpi_web.views module.
Now I'm not sure how much more data others might want to get there.
I hope these things make sense.
This trinity release of devpi, the private packaging and workflow
system, is drop-in compatible to earlier releases and comes with these
- support for pip search on the server side which is also configured
when "devpi use" writes to pip configuration files.
- explicit --offline-mode for devpi-server to avoid trying
unneccessary and potentially laggy network requests and to
streamline simple pages to only contain releases that are locally
cached. thanks Daniel Panteleit for the PR.
- push from root/pypi to other indexes works now.
Docs are to be found as usual at:
This release brought to you mainly by Florian Schulze and me
and a few still unnamed sponsoring companies. Speaking of which,
if you need support, training, adjustments wrt packaging and
professional testing you may contact us through http://merlinux.eu.
You can also expect devpi-server-3.0 soon, a major new release which
is to bring improvements like generalized mirroring, storage
backends, speed and internal code cleanups.
- fix issue262: new experimental option --offline-mode will prevent
devpi-server from even trying to perform network requests and it
also strip all non-local release files from the simple index.
Thanks Daniel Panteleit for the PR.
- fix issue304: mark devpi-server versions older than 2.2.x as incompatible
and requiring an import/export cycle.
- fix issue296: try to fetch files from master again when requested, if there
were checksum errors during replication.
- if a user can't be found during authentication (with ``setup.py upload`` for
example), then the http return code is now 401 instead of 404.
- fix issue293: push from root/pypi to another index is now supported
- fix issue265: ignore HTTP(S) proxies when checking if the server is
- Add ``content_type`` route predicate for use by plugins.
- fix issue305: read documentation html files in binary and let BeautifulSoup
detect the encoding.
- require devpi-server >= 2.6.0
- support for ``pip search`` command on indexes
- fix issue291: transfer file modes with vcs exports. Thanks Sergey
Vasilyev for the report.
- new option "--index" for "install", "list", "push", "remove", "upload" and
"test" which allows to use a different than the current index without using
"devpi use" before
- set ``index`` in ``[search]`` section of ``pip.cfg`` when writing cfgs, to
support ``pip search``