Giter Club home page Giter Club logo

developing-with-qiime2's People

Contributors

ebolyen avatar gregcaporaso avatar lizgehret avatar oddant1 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

developing-with-qiime2's Issues

stop hosting at https://cap-lab.bio/developing-with-qiime2

Now that we're set up with Read The Docs (RTD; https://develop.qiime2.org), we can stop hosting through GitHub pages. Ideally we'll have a index.html page or a permanent redirect at the old location (https://cap-lab.bio/developing-with-qiime2) that redirects to the new canonical URL (https://develop.qiime2.org).

  • Delete the requirements.txt file as part of the PR for this issue, as that isn't needed by RTD (which uses the environment.yml file).
  • Delete the GitHub Actions workflow.

"documentation engine" interface tutorial

A good interface tutorial could be to develop a "documentation engine", that ultimately could be used to generate plugin documentation for all plugins in a distribution, like the current Available Plugins page in the user docs. This would use the sdk to load the PluginManager, and then explore the different functionality to find the available plugins and write documentation of those plugins. Following development of this, I could fork the example interface repository (caporaso-lab/q2docgen?), and make it available to plugin developers for auto-generating their plugin user documentation.

add funding acknowledgements

This work was funded in part by NIH National Cancer Institute Informatics Technology for Cancer Research grant 1U24CA248454-01, and by grant DAF2019-207342 from the Chan Zuckerberg Initiative (CZI) DAF, an advised fund of Silicon Valley Community Foundation (CZI grant DOI: 10.37921/862772dbrrej; funder DOI 10.13039/100014989).

This book is built with MyST Markdown and Jupyter Book, which are supported in part with funding from the Alfred P. Sloan Foundation.

Initial support for the development of QIIME 2 was provided through a grant from the National Science Foundation.

port old developer docs

conclusion document

Currently the Next link at the bottom of the final plugin tutorial section jumps right to How-tos, which will confuse readers:

Screenshot 2024-04-13 at 6 22 29 AM

Add a brief conclusion document.

artifact classes

What they are, how they differ from semantic types, and our movement away from using artifact class and semantic type as synonyms (which we previously did in some contexts, before we started using the name artifact class).

update API doc strings in framework for public-facing APIs

Many of these either don't have doc strings, or have some formatting in the doc strings that doesn't align with either the Numpy or Google conventions. As part of this effort, we should choose whether we prefer the Numpy or Google convention and use that throughout.

This work will primarily happen in the QIIME 2 framework codebase, though there should be content updates in DWQ2 as new API documentation is produced.

configure external links to open in a new tab

This, in _config.yml, isn't working:

parse:
  myst_links_external_new_tab: true

I also don't seem to be able to change other variables from their defaults, such as:

parse:
  myst_all_links_external: true

based on this logging output after running make clean && make html:

myst v0.18.1: MdParserConfig(commonmark_only=False,
  gfm_only=False,
  enable_extensions=['colon_fence', 'dollarmath', 'linkify', 'substitution', 'tasklist'],
  disable_syntax=[],
  all_links_external=False,
  url_schemes=['mailto', 'http', 'https'],
  ref_domains=None,
  highlight_code_blocks=True,
  number_code_blocks=[],
  title_to_header=False,
  heading_anchors=None,
  heading_slug_func=None,
  footnote_transition=True,
  words_per_minute=200,
  sub_delimiters=('{', '}'),
  linkify_fuzzy_links=True,
  dmath_allow_labels=True,
  dmath_allow_space=True,
  dmath_allow_digits=True,
  dmath_double_inline=False,
  update_mathjax=True,
  mathjax_classes='tex2jax_process|mathjax_process|math|output_area')

The same behavior was observed when building with myst-parser 2.0.0.

(I don't want to overwrite myst_all_links_external - just testing.)

complete ArtifactClass definition

Should be something like the following (adapted from the content in qiime2/dev-docs#50):

plugin.register_formats(EMPPairedEndDirFmt)
plugin.register_semantic_types(EMPPairedEndSequences)
plugin.register_artifact_class(EMPPairedEndSequences, artifact_format=EMPPairedEndDirFmt)

how-to: avoid putting artifacts in your repo for testing purposes (and why)

  • use transform_format (q2-sapienns has a good example)
  • to know the to and from values to provide as input
    • export the artifact that you would have used in your test using qiime tools export. the format that is reported on the command line should be used as to (alternatively you can find this using qiime tools peek- it's the Data format that is reported)
    • the view type that your function takes as input (or which you would have passed as view_type to Artifact.load("...").view(view_type)) should be provided as from
  • generally this is a good way to go as:
    • it makes for easier test developing and debugging since you can see the test data more easily, and
    • generally speaking (though not in all cases - e.g., if the underlying format is binary) building your tests on data files (or objects) makes for more informative diffs if/when the test data changes across commits.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.