Skip to content

Commit

Permalink
Merge pull request #295 from labgem/add_linter
Browse files Browse the repository at this point in the history
Add linter to PPanGGOLIN code base
  • Loading branch information
JeanMainguy authored Oct 29, 2024
2 parents 1fd1092 + 4e2b9df commit 9526e46
Show file tree
Hide file tree
Showing 70 changed files with 22,965 additions and 6,420 deletions.
10 changes: 10 additions & 0 deletions .github/workflows/black_lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Lint

on: [push, pull_request]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: psf/black@stable
24 changes: 12 additions & 12 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@

# -- Project information -----------------------------------------------------

project = 'PPanGGOLiN'
copyright = '2023, LABGeM'
author = 'Jérôme Arnoux'
project = "PPanGGOLiN"
copyright = "2023, LABGeM"
author = "Jérôme Arnoux"

# The full version, including alpha/beta/rc tags
release = open(Path(__file__).resolve().parents[1]/"VERSION").read().rstrip() # Get release number in the VERSION file
release = (
open(Path(__file__).resolve().parents[1] / "VERSION").read().rstrip()
) # Get release number in the VERSION file


# -- General configuration ---------------------------------------------------
Expand All @@ -33,21 +35,19 @@
"sphinx.ext.duration",
"sphinx.ext.autosectionlabel",
"sphinx.ext.autodoc",
'sphinx_search.extension',
'sphinxcontrib.mermaid'
"sphinx_search.extension",
"sphinxcontrib.mermaid",
]


source_suffix = {
'.md': 'markdown'
}
source_suffix = {".md": "markdown"}

# Prefix document path to section labels, to use:
# `path/to/file:heading` instead of just `heading`
autosectionlabel_prefix_document = True

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
templates_path = ["_templates"]

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
Expand All @@ -60,9 +60,9 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
html_theme = "sphinx_rtd_theme"

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_static_path = ["_static"]
28 changes: 20 additions & 8 deletions docs/dev/contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,35 +8,47 @@ If you have ideas for new features or improvements, initiating a discussion in a

For minor changes like fixing typos or making small edits, feel free to create a new Pull Request (PR) directly with your proposed changes.


## Setting Up the Development Environment

1. **Fork the Repository:** Start by forking the repository to your GitHub account. 🍴
1. **Fork the Repository:**
Start by forking the repository to your GitHub account. 🍴

2. **Clone the Forked Repository:** Clone your forked repository to your local machine.
2. **Clone the Forked Repository:**
Clone your forked repository to your local machine.

3. **Get an Environment:** Create an environment with all PPanGGOLiN prerequisites installed. For that, you can follow installation instructions [here](../user/install.md#installing-from-source-code-github).

4. **Branch from 'dev':** Begin your changes from the 'dev' branch, where we incorporate changes for the upcoming release.
4. **Branch from 'dev':**
Begin your changes from the 'dev' branch, where we incorporate changes for the upcoming release.


5. **Install in Editable Mode:**

5. **Install in Editable Mode:** To enable seamless code editing and testing of new functionality, install PPanGGOLiN in editable mode using the following command:
To enable code editing and testing of new functionality, you can install PPanGGOLiN in editable mode using the following command:

```bash
pip install -e .
```

This allows you to modify the code and experiment with new features directly.

```{note}
Note: Currently, we are not utilizing any auto formatters (like autopep8 or black). Kindly refrain from using them, as it could introduce extensive changes across the project, making code review challenging for us.
6. **Apply Code Formatting with Black:**
We have integrated [Black](https://github.com/psf/black) as our code formatter to maintain consistent styling. Code changes are automatically checked via a GitHub Action in our CI, so **ensure your code is formatted with Black before committing**.


```{tip}
Integrate Black with your IDE to automatically format your changes and avoid formatting-related CI failures.
```


## Making Your Changes

We encourage consistency in code formatting; when adding new code, try to follow the existing code structure as closely as possible. Functions should include descriptive docstrings explaining their purpose and detailing the parameters. Ensure that argument types are specified in the function definitions.
Keep it consistent! Match the existing code style, add docstrings to describe functions, and specify argument types.

## Update Documentation

It's essential to update the documentation to reflect your changes. Provide clear descriptions and, if necessary, examples of commands and their respective outputs.
Update docs to reflect changesclear descriptions and examples are always helpful!

## Tests

Expand Down
2 changes: 1 addition & 1 deletion ppanggolin/RGP/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
from .genomicIsland import subparser, launch
from .spot import *
from . import rgp_cluster
from . import rgp_cluster
Loading

0 comments on commit 9526e46

Please sign in to comment.