sphobjinv suggest
Dash Appsphobjinv
is a toolkit for manipulating and inspecting Sphinx
objects.inv
inventory files. It's my most popular open source project by a
considerable margin.
While I can't tell from the analytics I have access to, I suspect that the majority of people are using it for the 'suggest' CLI functionality, rather than the 'convert' CLI or API. If nothing else, 'suggest' is definitely the feature I use the most.
It's not always convenient to install a PyPI or OS-distributed package to get
access to a tool you need. So, I've been thinking for a while about figuring out
a way to provide sphobjinv suggest
as a web app. I explored
Wooey briefly a while ago, since it's specifically made to wrap a
webapp around a CLI. But, not having much web dev experience at the time, I
found it pretty cumbersome, and gave up the attempt.
Enter Plotly Dash. I picked it up as part of work on another side
project, and realized that I might be able to use it as a platform for a
sphobjinv suggest
web app. It's almost certainly not the most efficient way
to implement the thing, but it works, and it works in a pretty attractive way.
So, here is "sphobjinv suggest
as a Service" (... SSaaS?). As of now (Nov
2022), it's built on Dash and sphobjinv
, hosted at
PythonAnywhere, and does all of the inventory downloading and
object searching server-side. If it gets popular, my next step is to try to
leverage PyScript to move the suggest
portion client-side, so that I can keep
the number of PythonAnywhere workers to a minimum. One thing at a time, though.
Please report any problems with the app (or let me know that you like it!) on the Github issue tracker, on Twitter (@btskinn), or on Mastodon (@btskinn@fosstodon.org).
If you find yourself using the app quite a bit, please consider chipping in to cover the hosting costs. Right now I'm set up to receive contributions via GitHub Sponsors...any amount greatly appreciated.
Enjoy!
Copyright (c) Brian Skinn 2022
Website copy and docstrings are licensed under CC BY 4.0.
App code is released under the MIT License. See LICENSE.txt
for full license terms.