-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update Qurro to support pandas v1 and up, and thus newer versions of …
…QIIME 2 (#322) * DEP: Update setup.py re: python and pandas #315 * DEV: port CI from Travis to GH Actions: close #316 * TST: For now, omit "make notebooks" from CI Maybe we can make another GitHub Actions for these later; but Songbird is causing tensorflow nonsense to pop up, and this is not the sort of thing I think we should spend time fixing (esp with the advent of birdman) * DEP: pin min biom vsn and add some comments * DEP: Fix biom_table_to_sparse_df for pandas >= 1 See #258 and #315. not confident this is done yet (and if nothing else the rest of the code gleefully refers to "SparseDataFrame" because 2019 marcus was a schmuck), but this at least fixes a fair amount of failing tests * DEP: remove some warnings, docs, fix a test re: pd * TST: Fix the python tests!!! #258 The problem was using .loc[] on these sparse dataframes. whoops * STY: tiny style fixes * DEP: knock out some pandas warnings * DEP: np.matrix() -> np.array() in qarcoal tests since apparently it's deprecated, or about to be deprecated, idk * DEP/STY: Fix more warnings; remove unused import most of these warnings were just pd.DataFrame.append() being deprecated and replaced with pd.concat() * DOC: one of the demos' JS data slightly changed looks like it's a tiny floating-point thing -- probably an artifact of working here on a new operating system, on a new python version, a new pandas version, a new biom version, etc. shouldn't make a noticeable difference * DOC: update readme re: min Q2 vsn * TST: matrix of qiime 2 versions nice! * TST: more detailed comment about Q2 vsn matrix * DOC: remove the "Sparse" from "SparseDataFrame" * REL: version kick * TST: Add standalone CI IIRC something about how our specific altair version works makes it incompatible with python 3.10. let's test that here -- if needed, we can update the README to disallow python versions >= 3.10. (And then we can look into removing the altair pin when absolutely needed.) * TST: attempt to get standalone tests working * TST: attempt to fix pytest q2 exclusion * DEP: ok py 3.10 is a no go * STY: fix formatting * DOC: Rerun 4 / 6 example notebooks Songbird and ALDEx2 ones will cause problems * DOC: tidy/update readme refs * DOC: update jake fish dataset ref on website * DOC: Fix songbird notebook!, standardize output rm * BLD: rm (now-)unused comments from q2 ci * DOC: fix transcriptomics ntbk :) * REL: update changelog * REL: update changelog * TST: see if we can finagle q2 2020.6 / 2020.8? since i thiiiink these versions mighta worked with the pandas >= 1 syntax that being said, i don't think it makes sense to devote time/energy to officially supporting them; just wanna check * TST: remove Q2 2020.6 / 2020.8 in CI Looks like the tests themselves pass for these versions, but the style-checking with black fails due to incompatibility with click. yeah this is enough for me to not bother supporting these versions imo * DOC: songbird compatibility deets * DEV/DOC: update dev docs re: 2022 the apocalypse came and all i got was this pull request * REL: update changelog about updating contributing about about about about aboot * REL: minor chglog tidying
- Loading branch information
Showing
27 changed files
with
791 additions
and
1,047 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# Based on | ||
# https://github.com/fedarko/strainFlye/blob/main/.github/workflows/main.yml | ||
# (which was based on EMPress' workflow); some of the Node.js stuff based on | ||
# MetagenomeScope's JS workflow | ||
name: QIIME 2 CI | ||
on: [push, pull_request] | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
matrix: | ||
# Test on multiple QIIME 2 versions. This is a nice way of making sure | ||
# that Qurro works on all of the QIIME 2 versions it actually, you | ||
# know, supports. | ||
# | ||
# We could use a matrix of just QIIME 2 version strings (e.g. | ||
# "2020.11", ...), but other stuff about the URLs change across QIIME 2 | ||
# versions (e.g. the "-py36-" or "-py38-" thing). It ends up being | ||
# easier just have the variable here be the URLs to the YAMLs. That | ||
# sentence has too many acronyms. Look, you get the point. | ||
# | ||
# Worth noting: the final of these URLs (with qiime2-latest) will | ||
# always be set to the latest version of QIIME 2. Thanks @thermokarst | ||
# for the heads up about this :) | ||
q2-yaml: [ | ||
"https://raw.githubusercontent.com/qiime2/environment-files/master/2020.11/release/qiime2-2020.11-py36-linux-conda.yml", | ||
"https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py38-linux-conda.yml" | ||
] | ||
|
||
steps: | ||
|
||
# Updating from v2 to v3 to match, as of writing, | ||
# https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | ||
- name: Check out code | ||
uses: actions/checkout@v3 | ||
|
||
- name: Download the QIIME 2 conda environment YAML | ||
run: wget -O q2-env.yml ${{ matrix.q2-yaml }} | ||
|
||
# https://github.com/conda-incubator/setup-miniconda#example-3-other-options | ||
- name: Hit the yoinky sploinky (install QIIME 2) | ||
uses: conda-incubator/setup-miniconda@v2 | ||
with: | ||
activate-environment: qiime2-dev | ||
environment-file: q2-env.yml | ||
|
||
- name: Install Qurro (and its pip dependencies) | ||
run: conda run -n qiime2-dev pip install -e .[dev] | ||
|
||
- name: Set up Node.js | ||
uses: actions/setup-node@v1 | ||
|
||
- name: Install Qurro's Node.js development dependencies | ||
run: npm install -g mocha-headless-chrome nyc prettier@2.0.5 jshint | ||
|
||
- name: Run tests | ||
run: conda run -n qiime2-dev make test | ||
|
||
- name: Lint and stylecheck | ||
run: conda run -n qiime2-dev make stylecheck | ||
|
||
- name: Upload code coverage information to Codecov | ||
uses: codecov/codecov-action@v2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# Based on | ||
# https://github.com/fedarko/pyfastg/blob/master/.github/workflows/main.yml | ||
name: Standalone CI | ||
on: [push, pull_request] | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
matrix: | ||
python-version: [3.6, 3.7, 3.8, 3.9] | ||
|
||
steps: | ||
|
||
- name: Check out code | ||
uses: actions/checkout@v3 | ||
|
||
# https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Install Cython and NumPy | ||
run: pip install cython "numpy >= 1.12.0" | ||
|
||
- name: Install Qurro (and its pip dependencies) | ||
run: pip install -e .[dev] | ||
|
||
- name: Set up Node.js | ||
uses: actions/setup-node@v1 | ||
|
||
- name: Install Qurro's Node.js development dependencies | ||
run: npm install -g mocha-headless-chrome nyc prettier@2.0.5 jshint | ||
|
||
# Just run the tests; don't bother running stylechecking / linting, since | ||
# that's already done in the QIIME 2 CI. | ||
- name: Run tests | ||
run: | | ||
make pytest_standalone | ||
make jstest | ||
- name: Upload code coverage information to Codecov | ||
uses: codecov/codecov-action@v2 |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.