Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge changes from develop #44

Closed
wants to merge 56 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
e3d8e55
Create CONTRIBUTING.md
Vini2 May 26, 2022
12f5169
TST: Add testing on develop branch
Vini2 May 26, 2022
abfe8de
TST: Fix test command
Vini2 May 26, 2022
cf69677
TST: Update testing workflow
Vini2 May 26, 2022
1207134
DEV: refactor labelprop code
Vini2 May 27, 2022
3171931
TST: update tests
Vini2 May 27, 2022
75d6838
TST: Add new tests for arguments and utils
Vini2 May 27, 2022
d460e16
TST: update testing workflow
Vini2 May 27, 2022
cd63d4e
Add issue templates
Vini2 May 27, 2022
d7d03bb
DOC: Update README
Vini2 Jun 2, 2022
6983457
DOC: Update CONTRIBUTING.md
Vini2 Jun 2, 2022
a0b62ef
DOC: Update documentation
Vini2 Jun 3, 2022
6c4f75b
DOC: Update CONTRIBUTING.md
Vini2 Jun 3, 2022
179f54f
MAINT: Code refactoring and formatting
Vini2 Jun 3, 2022
b52a3fa
DOC: Update documentation
Vini2 Jun 3, 2022
be3c215
DOC: Update documentation
Vini2 Jun 29, 2022
9da4ad5
DOC: Update REAMD.md
Vini2 Jul 19, 2022
166a07c
DOC: update requirements.txt for docs
Vini2 Aug 3, 2022
1511d7d
Update README.md
Vini2 Jan 6, 2023
2f221c0
TST: Update testing_python_app.yml
Vini2 Jan 6, 2023
cdc8f58
DEV: Fix import in graphbin_Flye.py
Vini2 Jan 6, 2023
c12616a
DEV: Update version
Vini2 Jan 6, 2023
e7b4659
DOC: Add PyPI badge to README
Vini2 Jan 6, 2023
60d622c
DOC: Update README
Vini2 Jan 9, 2023
acb553e
MAINT: Update issue templates
Vini2 Jan 9, 2023
2977b32
TST: Change versions, see actions/runner-images#6384
Vini2 Jan 17, 2023
3cd8db2
DEV: Create codeql.yml action
Vini2 Jan 19, 2023
8ae5841
DOC: Add CodeQL badge
Vini2 Jan 20, 2023
121a424
DOC: Update README and docs
Vini2 Jan 26, 2023
8c9cb84
DOC: Update README
Vini2 Jan 29, 2023
fe30236
DOC: Add DOI badge to README
Vini2 Feb 13, 2023
c564b4c
DEV: refactor code to re-use common logic
anuradhawick Mar 4, 2023
4b984cb
DOC: Update README
Vini2 Mar 5, 2023
65751ea
DOC: Update README
Vini2 Apr 5, 2023
78f2a44
DOC: Add CZI logo
Vini2 May 5, 2023
e291d24
DOC: Update CZI logo
Vini2 May 10, 2023
6bc6e19
DOC: Update README.md
Vini2 May 12, 2023
50554d7
DEV: Convert to use click and fix #37
Vini2 May 17, 2023
62c9a0e
DEV: add click to pyproject.toml
Vini2 May 17, 2023
81bb890
DOC: Update README.md
Vini2 May 17, 2023
bc15286
TST: update python versions
Vini2 May 17, 2023
18cb879
TST: add testing with conda
Vini2 May 17, 2023
07b3b0f
TST: fix tests
Vini2 May 17, 2023
8fe4634
TST: fix env for tests
Vini2 May 17, 2023
a5a31fd
REL: Update version number
Vini2 May 17, 2023
e01c970
TST: fix test workflow to solve cogent3 conflict
Vini2 May 17, 2023
3542894
DEV: fix #33
Vini2 May 17, 2023
7339120
TST: update tests to check for #33
Vini2 May 17, 2023
88c5163
REL: Update version number
Vini2 May 17, 2023
2a1d99e
DEV: Change python-igraph to igraph for PyPI to fix #43
Vini2 Jul 25, 2023
58533b4
DEV: Update environment.yml to use cogent3 from pip
Vini2 Jul 25, 2023
fa3fb97
DEV: Update environment.yml to use cogent3 from pip
Vini2 Jul 25, 2023
8304611
REL: Update version number
Vini2 Jul 25, 2023
2d829a7
REL: Create pypi-publish.yml
Vini2 Aug 2, 2023
cf86016
DOC: Update README.md
Vini2 Nov 17, 2023
61e49c4
DOC: Update logo
Vini2 Nov 17, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG]"
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behaviour, including the
1. Command executed
2. Error message

**Expected behaviour**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. Ubuntu]
- OS version [e.g. 20.04 LTS]
- Python version [e.g. 3.7]

**Additional context**
Add any other context about the problem here.
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/custom.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
name: Custom issue template
about: Describe this issue template's purpose here.
title: ''
labels: ''
assignees: ''

---


20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
76 changes: 76 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ "develop" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "develop" ]
schedule:
- cron: '34 3 * * 1'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Use only 'java' to analyze code written in Java, Kotlin or both
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Checkout repository
uses: actions/checkout@v3

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun

# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.

# - run: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{matrix.language}}"
39 changes: 39 additions & 0 deletions .github/workflows/pypi-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Upload Python Package

on:
release:
types: [published]

permissions:
contents: read

jobs:
deploy:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: python -m build
- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
17 changes: 9 additions & 8 deletions .github/workflows/testing_python_app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: CI

on:
push:
branches: [ master ]
branches: [ develop ]
pull_request:
branches: [ master ]
branches: [ develop ]


jobs:
Expand All @@ -14,16 +14,16 @@ jobs:

strategy:
matrix:
os: [macos-latest, ubuntu-latest]
python-version: ["3.7", "3.8", "3.9", "3.10"]
os: [macos-12, ubuntu-latest]
python-version: ["3.8", "3.9", "3.10", "3.11"]

steps:
- uses: "actions/checkout@v2"
- uses: "actions/checkout@v3"
with:
fetch-depth: 0

# Setup env
- uses: "actions/setup-python@v2"
- uses: "actions/setup-python@v3"
with:
python-version: "${{ matrix.python-version }}"

Expand All @@ -35,10 +35,11 @@ jobs:
- name: "Generate coverage report on ${{ matrix.os }} for Python ${{ matrix.python-version }}"
run: |
pip install pytest pytest-cov
pytest --cov=tests --cov-report=xml --cov-append
pytest --cov=graphbin --cov-report=xml --cov-append

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: coverage.xml
fail_ci_if_error: true
46 changes: 46 additions & 0 deletions .github/workflows/testing_python_conda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: CI conda

on:
push:
branches: [ develop ]
pull_request:
branches: [ develop ]


jobs:
tests:
name: "Python ${{ matrix.python-version }}"
runs-on: ${{ matrix.os }}

defaults:
run:
shell: bash -el {0}

strategy:
matrix:
os: [macos-12, ubuntu-latest]
python-version: ["3.8", "3.9", "3.10"]

steps:
- uses: "actions/checkout@v3"
with:
fetch-depth: 0

# Setup conda env
- uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: graphbin
environment-file: environment.yml
python-version: ${{ matrix.python-version }}
auto-activate-base: false

- name: "Setup graphbin on ${{ matrix.os }} for Python ${{ matrix.python-version }}"
run: |
python -m pip install --upgrade pip
pip install .

- name: "Generate coverage report on ${{ matrix.os }} for Python ${{ matrix.python-version }}"
run: |
pip install pytest pytest-cov
pytest --cov=graphbin --cov-report=xml --cov-append

67 changes: 67 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Contributing to GraphBin project

We love to have your contributions to the GraphBin project, whether it's:
* Reporting a bug
* Submitting a fix
* Proposing new features

## Clone and install GraphBin onto your machine

First, make sure you have [git](https://github.com/git-guides/install-git) installed on your machine.

On GitHub, [fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the GraphBin repository and [clone](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) it to your machine.

```
# clone repository to your local machine
git clone https://github.com/metagentools/GraphBin.git
```

Move to the GraphBin directory and install GraphBin via [flit](https://pypi.org/project/flit/).

```
# go to repo direcotry
cd GraphBin

# install flit
pip install flit

# install graphbin via flit
flit install -s --python `which python`
```

## Test GraphBin installation

Use the following command to run [pytest](https://docs.pytest.org/en/7.1.x/) and the all the tests should pass.

```
pytest
```

## Coding Style

We adhere to the [PEP 8](https://peps.python.org/pep-0008/) style guide.

Before committing, make sure to run [`black`](https://pypi.org/project/black/) and [`isort`](https://pypi.org/project/isort/).

## Report bugs using Github's issues

We use GitHub issues to track public bugs. Report a bug by opening a new issue in GitHub [issues](https://github.com/metagentools/GraphBin/issues). You will get to select between templates for bug report and feature request.

## Committing code

Once you have finished coding and all the tests pass, commit your code and make a pull request. Make sure to follow the commit style of [c3dev](https://github.com/cogent3/c3dev/wiki#style-for-commit-messages).

```
git commit -m "<commit message>"
git push
```

Your contribution will be reviewed before accepting it.

## License

By contributing, you agree that your contributions will be licensed under the BSD-3 License.

## References

This document was adapted from the open-source contribution guidelines for [Transcriptase](https://github.com/briandk/transcriptase-atom/blob/master/CONTRIBUTING.md) and [c3dev](https://github.com/cogent3/c3dev/wiki/How-to-Contribute-Code).
Binary file added GraphBin_logo_dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added GraphBin_logo_light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading