pyqi - pyqi Documentation
Contents
Can I Help Develop Pyqi?
Yes! pyqi is open source software, available under the BSD license. All source code is hosted in the pyqiGitHubrepository.
Development is primarily occurring in the CaporasoLab (Northern Arizona University; Argonne National
Laboratories) and KnightLab (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 pullrequests.
Copyright
2013, The BiPy Development Team
Jan 08, 2025 PYQI(1)
How Do I Get Help With Pyqi?
For now, please direct questions to gregcaporaso@gmail.com. Please report bugs and feature requests on
the pyqiissuetracker.
How Do I Start Using Pyqi?
First, install pyqi (it's easy) by following our installinstructions. Then, you can start working
through our tutorials, which are designed to help you evaluate the utility of pyqi, and then integrate
pyqi into your project.
The GettingStarted series of tutorials progress linearly through howtostubandbuildnewcommands and
howtostubandbuildnewinterfaces. These will give you an idea of what pyqi is capable of and how it
works.
The Usingpyqiinyourproject series of tutorials will then give you an idea of how you could integrate
pyqi into your project. This includes suggestions on howtoorganizeyourproject'srepositorytolooklikeotherrepositoriesthatmakeuseofpyqi, and howtodefineadriverscript (similar to the pyqi
command which you'll become familiar with in the GettingStarted tutorials) that will give your users
access to the commands in your project.
As the pyqi project matures, we'll include additional documentationforadvanceddevelopers, who are
interested in things like defining new interface types (though this is not something that is ever
required for most developers).
Name
pyqi - pyqi Documentation
What Is Pyqi?
pyqi (canonically pronounced piechee) is a Python framework designed to support wrapping general
commands in multiple types of interfaces, including at the command line, HTML, and API levels.
pyqi's only requirement is a working Python 2.7 or 3.3 installation.
Why Should I Care?
pyqi allows you to write your command once, and easily make it accessible to different types of users
through different types of interfaces. In the context of pyqi, acommandisaclassthattakessomeinputs,performssomefunction,andproducessomeoutputs. An interface is a light wrapper around that
command that makes it accessible to users.
After defining and testing your command, you can configuredifferenttypesofinterfaces. This enables,
for example, basic users to access your command through an HTMLinterface running on a local server,
power or cluster users to access your command through a commandlineinterface, and developers to access
your command through an applicationprogrammerinterface(API). Because pyqi's interfaces are light
wrappers around your underlying command, usersofeachoftheseinterfaceswillbeguaranteedtobeaccessingthesameunderlyingfunctionality.
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.
