diff --git a/.github/workflows/ci-dev.yaml b/.github/workflows/ci-dev.yaml deleted file mode 100644 index f451fde..0000000 --- a/.github/workflows/ci-dev.yaml +++ /dev/null @@ -1,12 +0,0 @@ -# Example of workflow trigger for calling workflow (the client). -name: ci-dev -on: - pull_request: - branches: ["dev"] - push: - branches: ["dev"] -jobs: - ci: - uses: qiime2/distributions/.github/workflows/lib-ci-dev.yaml@dev - with: - distro: amplicon diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..2032c05 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,55 @@ +name: Test and lint + +on: + pull_request: + branches: ["dev"] + push: + branches: ["dev"] + +jobs: + build-and-test-qiime2-amplicon-2024-10: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-13] + + steps: + - uses: actions/checkout@v2 + + - name: Set up Conda + uses: conda-incubator/setup-miniconda@v3 + with: + activate-environment: q2-fmt-qiime2-amplicon-2024.10 + environment-file: environments/q2-fmt-qiime2-amplicon-2024.10.yml + auto-activate-base: false + + - name: Install plugin + shell: bash -l {0} + run: make install + + - name: Run tests + shell: bash -l {0} + run: make test + + lint: + runs-on: ubuntu-latest + steps: + - name: checkout source + uses: actions/checkout@v3 + + - name: set up python 3.11 + uses: actions/setup-python@v4 + with: + python-version: 3.11 + + - name: install dependencies + run: | + python -m pip install --upgrade pip + pip install -q https://github.com/qiime2/q2lint/archive/master.zip + pip install -q flake8 + + - name: run flake8 + run: flake8 + + - name: run q2lint + run: q2lint diff --git a/Makefile b/Makefile index 1b9c4d2..bba09c6 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: all lint test test-cov install dev clean distclean +.PHONY: all lint test install dev clean distclean PYTHON ?= python @@ -11,11 +11,8 @@ lint: test: all py.test -test-cov: all - py.test --cov=q2_fmt - install: all - $(PYTHON) setup.py install + pip install . dev: all pip install -e . diff --git a/README.md b/README.md index 4ccbba1..f6d25e8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # q2-fmt (fecal microbiota transplant) -![](https://github.com/qiime2/q2-fmt/actions/workflows/ci-dev.yaml/badge.svg) +A [QIIME 2](https://qiime2.org) plugin [developed](https://develop.qiime2.org) by Chloe Herman (crh423@nau.edu). 🔌 ## Demo [![](https://raw.githubusercontent.com/qiime2/q2-fmt/master/demo/screenshot.png) @@ -122,3 +122,15 @@ qiime stats plot-rainclouds \ --i-stats stats_baseline0.qza \ --o-visualization raincloud-baseline0.qzv ``` +## About + +The `q2-fmt` Python package was [created from template](https://develop.qiime2.org/en/latest/plugins/tutorials/create-from-template.html). +To learn more about `q2-fmt`, refer to the [project website](https://example.com). +To learn how to use QIIME 2, refer to the [QIIME 2 User Documentation](https://docs.qiime2.org). +To learn QIIME 2 plugin development, refer to [*Developing with QIIME 2*](https://develop.qiime2.org). + +`q2-fmt` is a QIIME 2 community plugin, meaning that it is not necessarily developed and maintained by the developers of QIIME 2. +Please be aware that because community plugins are developed by the QIIME 2 developer community, and not necessarily the QIIME 2 developers themselves, some may not be actively maintained or compatible with current release versions of the QIIME 2 distributions. +More information on development and support for community plugins can be found [here](https://library.qiime2.org). +If you need help with a community plugin, first refer to the [project website](https://example.com). +If that page doesn't provide information on how to get help, or you need additional help, head to the [Community Plugins category](https://forum.qiime2.org/c/community-contributions/community-plugins/14) on the QIIME 2 Forum where the QIIME 2 developers will do their best to help you. diff --git a/ci/recipe/meta.yaml b/ci/recipe/meta.yaml deleted file mode 100644 index ff2f20b..0000000 --- a/ci/recipe/meta.yaml +++ /dev/null @@ -1,48 +0,0 @@ -{% set data = load_setup_py_data() %} -{% set version = data.get('version') or 'placehold' %} - -package: - name: q2-fmt - version: {{ version }} - -source: - path: ../.. - -build: - script: make install - -requirements: - build: - # nodejs is only necessary in the build phase - our build script needs it - # in order to render out transpiled js assets for various visualizations. - # once rendered, node is no longer necessary. don't set this in host reqs. - - nodejs - - host: - - python {{ python }} - - setuptools - - run: - - python {{ python }} - - pandas {{ pandas }} - - qiime2 {{ qiime2_epoch }}.* - - q2-types {{ qiime2_epoch }}.* - - q2-stats {{ qiime2_epoch }}.* - -test: - requires: - - qiime2 >={{ qiime2 }} - - q2-types >={{ q2_types }} - - pytest - - imports: - - q2_fmt - - qiime2.plugins.fmt - - commands: - - py.test --pyargs q2_fmt - -about: - home: https://qiime2.org - license: BSD-3-Clause - license_family: BSD diff --git a/environments/q2-fmt-qiime2-amplicon-2024.10.yml b/environments/q2-fmt-qiime2-amplicon-2024.10.yml new file mode 100644 index 0000000..7a0402b --- /dev/null +++ b/environments/q2-fmt-qiime2-amplicon-2024.10.yml @@ -0,0 +1,17 @@ +name: q2-fmt-qiime2-amplicon-2024.10 +channels: +- https://packages.qiime2.org/qiime2/2024.10/amplicon/passed +- conda-forge +- bioconda +dependencies: + - qiime2-amplicon + # Note 1: Add any additional conda dependencies here. + - pip + - pip: + # Note 2: Add any additional pip dependencies here. + # - # some pip dependency + # Note 3: If you host your repository on GitHub, and you uncomment and modify + # the following lines to replace REPO-OWNER with the user or organization + # name that owns the repository, your installation commands can be updated to + # install from this file without additional steps. + # - "q2-fmt @ git+https://github.com/REPO-OWNER/q2-fmt.git" diff --git a/setup.cfg b/setup.cfg index 76cf621..d55cabe 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,3 +5,7 @@ versionfile_source = q2_fmt/_version.py versionfile_build = q2_fmt/_version.py tag_prefix = parentdir_prefix = q2-fmt- + +[flake8] +max-line-length = 80 +extend-ignore = E203 diff --git a/setup.py b/setup.py index a2c3f26..2e844ac 100644 --- a/setup.py +++ b/setup.py @@ -13,6 +13,8 @@ setup( name='q2-fmt', version=versioneer.get_version(), + cmdclass=versioneer.get_cmdclass(), + license="BSD-3-Clause", packages=find_packages(), package_data={ 'q2_fmt': [ @@ -21,10 +23,9 @@ 'q2_fmt.tests': ['data/*', 'data/peds_dist/*'], }, - author='Liz Gehret', - author_email='elizabeth.gehret@nau.edu', + author='Chloe Herman and Liz Gehret', + author_email='crh423@nau.edu', description='QIIME 2 Plugin used for FMT analyses.', - license='BSD-3-Clause', url='https://github.com/qiime2/q2-fmt', zip_safe=False, entry_points={