https://github.com/bskinn/soi-app
sphobjinv suggest web app
https://github.com/bskinn/soi-app
Last synced: 11 days ago
JSON representation
sphobjinv suggest web app
- Host: GitHub
- URL: https://github.com/bskinn/soi-app
- Owner: bskinn
- License: mit
- Created: 2022-11-14T23:21:00.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-29T03:39:16.000Z (over 1 year ago)
- Last Synced: 2024-12-18T06:48:37.729Z (2 months ago)
- Language: Python
- Size: 279 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
Awesome Lists containing this project
README
# `sphobjinv suggest` Dash App
[`sphobjinv`][soi docs] 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][wooey docs] 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][dash docs]. 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][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][issue tracker], on Twitter ([@btskinn][twitter]), or
on Mastodon ([@[email protected]][mastodon]).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][CC BY].
App code is released under the [MIT License][MIT License]. See [`LICENSE.txt`][GH License] for full license terms.
[CC BY]: http://creativecommons.org/licenses/by/4.0/
[dash docs]: https://plotly.com/dash/
[GH License]: https://github.com/bskinn/soi-app/blob/main/LICENSE.txt
[issue tracker]: https://github.com/bskinn/soi-app/issues
[mastodon]: https://fosstodon.org/@btskinn
[MIT License]: https://opensource.org/licenses/MIT
[pythonanywhere]: https://pythonanywhere.com
[soi docs]: https://sphobjinv.readthedocs.io/en/stable
[soi repo]: https://github.com/bskinn/sphobjinv
[twitter]: https://twitter.com/btskinn
[wooey docs]: https://wooey.readthedocs.io/en/latest/