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.
I think the search results could be improved.
In my company there are over 100 indices. There are tens, if not hundreds
of different packages. There are multiple project indices.
Usually the indices scheme is as follows:
[user/dev] -> [project/dev] -> [project/prod]
The packages workflow is quite standard, I think.
Packages are uploaded by users to their dev indices, and then pushed to an
integration index, and then to production.
Now when I search for a package usually the first search results are
pointing to a user/dev index.
Is it possible to configure the search to display the results from
non-volatile indices first?
I'm thinking here of less experienced people who just want to grab a bunch
of tools they need, and a user/dev index doesn't seem like a reliable place
to take packages from.
we have just open sourced a small tool that helps us to maintain our devpi indices. Maybe this is also interesting for others: https://github.com/blue-yonder/devpi-cleaner
PS: See you at EuroPython in Bilbao!
We just released devpi-server-2.2.2, devpi-web-2.4.0 and devpi-client-2.3.0,
core parts of the private pypi package management and testing system.
Among the highlights are support for distributed testing with "devpi test --detox",
new status pages at "/+status" for replica and master sites and support for
configuring upload formats when running "devpi upload".
None of the changes require an export/import cycle on the server side if
you used devpi-server-2.2.X before. However, please read the respective
changelog entries below for some notes and potentially
backward-incompatible changes. See the home page for docs and tutorials:
Holger Krekel and Florian Schulze
- make replica thread more robust by catching more exceptions
- Remove duplicates in plugin version info
- track timestamps for event processing and replication and expose in /+status
- implement devpiweb_get_status_info hook for devpi-web >= 2.4.0 status messages
- UPGRADE NOTE: if devpi-web is installed, you have to request
``application/json`` for ``/+status``, or you might get a html page.
- address issue246: refuse uploading release files if they do not
contain the version that was transferred with the metadata of
the upload request.
- fix issue248: prevent change of index type after creation
- macros.pt: Add autofocus attribute to search field
- macros.pt and style.css: Moved "How to search?" to the right of the search
button and adjusted width of search field accordingly.
- fix issue244: server status info
- added support for status message plugin hook ``devpiweb_get_status_info``
- macros.pt: added macros ``status`` and ``statusbadge`` and placed them
below the search field.
- added status.pt: shows server status information
- toxresults.pt: fix missing closing ``div`` tag.
- fix issue247: possible password leakage to log in devpi-client
- new experimental "-d|--detox" option to run tests via the "detox" distributed testing
tool instead of "tox" which runs test environments one by one.
- address issue246: make sure we use vcs-export also for building docs (and
respect --no-vcs for all building activity)
- address issue246: copy VCS repo dir to temporary upload dir to help
with setuptools_scm. Warn if VCS other than hg/git are used because
we don't copy the repo in that case for now and thus cause incompatibility
- (new,experimental) read a "[devpi:upload]" section from a setup.cfg file
with a "formats" setting that will be taken if no "--formats" option
is specified to "devpi upload". This allows to specify the default
artefacts that should be created along with a project's setup.cfg file.
Also you can use a ``no-vcs = True`` setting to induce the ``--no-vcs``