PYQI(1)

πŸ“¦
version 0.3.2 Β· 4 versions
, in debian bookworm, ubuntu noble

✨ PYQI β€” like, the whole vibe ✨

pyqi (canonically pronounced pie chee, yes really, and no we will not be taking questions πŸ’…) is a Python framework designed to support wrapping general commands in multiple types of interfaces β€” including at the command line, HTML, and API levels.


🌸 NAME 🌸

pyqi β€” pyqi Documentation. That's the whole name, bestie. Short, sweet, iconic. πŸ‘‘


πŸ¦‹ WHAT IS PYQI? πŸ¦‹

okay so. pyqi (canonically pronounced pie chee) is a Python framework designed to support wrapping general commands in multiple types of interfaces, including at the command line, HTML, and API levels.

And the bar for entry? Literally on the floor, we love that for you: pyqi's only requirement is a working Python 2.7 or 3.3 installation. That's it. That's the whole list. No cap. ✨


πŸ’– WHY SHOULD I CARE? πŸ’–

Because write once, serve everybody, that's why. pyqi lets you write your command once, and then easily make it accessible to different types of users through different types of interfaces. It's giving efficiency. It's giving range. πŸ”₯

In the context of pyqi:

  • a command is a class that takes some inputs, performs some function, and produces some outputs 🫢
  • an interface is a light wrapper around that command that makes it accessible to users πŸŽ€

So after you've defined and tested your command, you can configure different types of interfaces. Which means, for example:

  • basic users can access your command through an HTML interface running on a local server πŸ‘‘
  • power or cluster users can access your command through a command line interface πŸ’…
  • developers can access your command through an application programmer interface (API) ⭐

And here's the part that actually matters: because pyqi's interfaces are light wrappers around your underlying command, users of each of these interfaces will be guaranteed to be accessing the same underlying functionality. no drift, no "wait which version does the HTML one use", none of that 😭

ngl, pyqi is currently in the early stages of development, and there is a lot to be done. We're very interested in having beta users, and we fully embrace collaborative development β€” so if you're interested in using or developing pyqi, you should get in touch. 🫢

🌈 HOW DO I START USING PYQI? 🌈

okay bestie, step one:

  1. Install pyqi (it's easy πŸ“) by following our install instructions.
  2. Then start working through our tutorials, which are designed to help you evaluate the utility of pyqi, and then integrate pyqi into your project.

And the tutorials come in two flavors, because of course they do:

  • The Getting Started series β€” these progress linearly through how to stub and build new commands, and how to stub and build new interfaces. These will give you an idea of what pyqi is capable of and how it works. πŸ“š
  • The Using pyqi in your project series β€” these give you an idea of how you could integrate pyqi into your project. This includes suggestions on how to organize your project's repository to look like other repositories that make use of pyqi, and how to define a driver script (similar to the pyqi command which you'll become familiar with in the Getting Started tutorials) that will give your users access to the commands in your project. 🧚

And as the pyqi project matures, we'll include additional documentation for advanced developers, who are interested in things like defining new interface types β€” though this is not something that is ever required for most developers, so like, don't stress. πŸ’œ


πŸŽ€ HOW DO I GET HELP WITH PYQI? πŸŽ€

For now, please direct questions to gregcaporaso@gmail.com.

Please report bugs and feature requests on the pyqi issue tracker. πŸ›


πŸ’œ CAN I HELP DEVELOP PYQI? πŸ’œ

YES! πŸŽ‰ pyqi is open source software, available under the BSD license. All source code is hosted in the pyqi GitHub repository.

Development is primarily occurring in the Caporaso Lab (Northern Arizona University; Argonne National Laboratories) and Knight Lab (University of Colorado; Howard Hughes Medical Institute), but the goal is for pyqi to be a very open development effort. We accept code submissions as pull requests. πŸ‘‘


⭐ AUTHOR ⭐

The BiPy Development Team


2023, The BiPy Development Team


okay that's the whole page, and this manual dropped on Jan 14, 2023 for pyqi β€” the PYQI(1) manual β€” so go forth, stub your commands, slay your interfaces, and remember: you were the main character of this manpage all along. πŸ’…βœ¨πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from