# Resources for Learning Programming in Artifact API

**URL:** https://forum.qiime2.org/t/resources-for-learning-programming-in-artifact-api/2162
**Category:** Ideas and Suggestions
**Tags:** pending-development, artifact-api
**Created:** [December 11, 2017, 2:31pm UTC](https://forum.qiime2.org/t/resources-for-learning-programming-in-artifact-api/2162 "2017-12-11T14:31:09Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![hulfred](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/h/ad7895/32.png) [@hulfred](https://forum.qiime2.org/u/hulfred)
#### Post date: [December 11, 2017, 2:31pm UTC](https://forum.qiime2.org/t/resources-for-learning-programming-in-artifact-api/2162/1 "2017-12-11T14:31:09Z")

</div>

Hi All,

I just start to learn QIIME2 this week and tried to follow the tutorials on the official website. These tutorials are very comprehensive and helpful, I do appreciate it. However, it seems all of them are written in the command-line interface, and I can hardly find some examples/tutorials illustrating how to program in Python by Artifact API throughout the website.

I have no experience using the terminal, but I do learn some Python before, so I was wondering are there any good resources of using QIIME2 in Artifact API?

Thank you!

---

<div class="post-metadata">

### Author: ![Nicholas\_Bokulich](https://forum.qiime2.org/user_avatar/forum.qiime2.org/nicholas_bokulich/32/19937_2.png) [@Nicholas\_Bokulich](https://forum.qiime2.org/u/Nicholas_Bokulich)
#### Post date: [December 11, 2017, 2:49pm UTC](https://forum.qiime2.org/t/resources-for-learning-programming-in-artifact-api/2162/3 "2017-12-11T14:49:01Z")

</div>

Hi @hulfred,  
Thanks for posting! We plan to provide more artifact API tutorials in the future, including expanding all existing command-line interface tutorials to cover the equivalent commands in artifact API. For now, [this tutorial gives a primer on artifact API](https://docs.qiime2.org/2017.11/interfaces/artifact-api/) and should give some sense of the equivalent artifact API command for various actions. Furthermore, [artifact API documentation exists for all available plugins](https://docs.qiime2.org/2017.11/plugins/available/) (just click on the action of interest and click the artifact API tab ). So that should help you get started using artifact API.

All that said, the command-line interface is the easiest way for users to get started who want to use QIIME2 for analysis. Learning unix/linux commands is not even necessary to get started, though learning the basics on navigating directory structure would help.

Good luck!

---

<div class="post-metadata">

### Author: ![jairideout](https://forum.qiime2.org/user_avatar/forum.qiime2.org/jairideout/32/9_2.png) [@jairideout](https://forum.qiime2.org/u/jairideout)
#### Post date: [December 11, 2017, 6:43pm UTC](https://forum.qiime2.org/t/resources-for-learning-programming-in-artifact-api/2162/5 "2017-12-11T18:43:26Z")

</div>

Quick followup on @Nicholas_Bokulich's reply: I wrote up a forum post showing how to use the Artifact API to load and view `Artifacts` as `Metadata` (e.g. to accomplish what the CLI is doing in [this section of the metadata tutorial](https://docs.qiime2.org/2017.11/tutorials/metadata/#metadata-from-a-qiime-2-artifact)). There's also some other tidbits about the Artifact API in that post that are not included in the main (and currently incomplete) [Artifact API](https://docs.qiime2.org/2017.11/interfaces/artifact-api/) tutorial, so the post may be helpful to you:

> [@Visualization API](https://forum.qiime2.org/t/visualization-api/1023):
>
> Hi all, I am an experienced Python developer but new to Qiime2. I have walked through the tutorials, which show the applications with command line as a nice wrapper. However, I still prefer the API (i.e. call Python packages directly instead of a wrapper in Python calls the command line wrapper). So far, I can replace most command lines with APIs, but there is one thing I could not figure out: exporting .qzv files. For examples, How do I translate the following command line with Python code? q…

---

<div class="post-metadata">

### Author: ![hulfred](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/h/ad7895/32.png) [@hulfred](https://forum.qiime2.org/u/hulfred)
#### Post date: [December 11, 2017, 7:28pm UTC](https://forum.qiime2.org/t/resources-for-learning-programming-in-artifact-api/2162/6 "2017-12-11T19:28:44Z")

</div>

Thanks for your reply! And look forward to the upcoming artifact API tutorials!

---

<div class="post-metadata">

### Author: ![hulfred](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/h/ad7895/32.png) [@hulfred](https://forum.qiime2.org/u/hulfred)
#### Post date: [December 11, 2017, 7:28pm UTC](https://forum.qiime2.org/t/resources-for-learning-programming-in-artifact-api/2162/7 "2017-12-11T19:28:45Z")

</div>

That is nice! Thank you very much for letting me know!
