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

Style #196

Closed
BjornFJohansson opened this issue Feb 2, 2024 · 9 comments
Closed

Style #196

BjornFJohansson opened this issue Feb 2, 2024 · 9 comments

Comments

@BjornFJohansson
Copy link
Collaborator

I use pre-commit https://pre-commit.com with this settings file: .pre-commit-config.yaml

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
  rev: v4.5.0
  hooks:
  - id: no-commit-to-branch
    args: [--branch, master]
  - id: check-yaml
  - id: end-of-file-fixer
  - id: trailing-whitespace
  - id: debug-statements
  - id: fix-encoding-pragma
  - id: mixed-line-ending
- repo: https://github.com/ambv/black
  rev: 23.12.1
  hooks:
  - id: black
- repo: https://github.com/PyCQA/flake8
  rev: 7.0.0
  hooks:
  - id: flake8
exclude: scripts/|docs/|tests/

This autoformats the code before each commit. The pyproject.toml contains:

[tool.black]
line-length = 119
target-version = ["py38", "py39", "py310", "py311", "py312"]
include = '\.pyi?$'

This means that the line lenght will be 119 which I think is used by the django project.

@manulera , do you agree with this ocr do you have another suggestion?

@manulera
Copy link
Collaborator

manulera commented Feb 5, 2024

Hi @BjornFJohansson, sounds good to me. This was not yet implement in dev_bjorn, right?

@BjornFJohansson
Copy link
Collaborator Author

Yes I run this before every commit. This means that the code is formatted automatically. Not nicer everywhere, but should be consistent.

@manulera
Copy link
Collaborator

manulera commented Feb 9, 2024

Hi @BjornFJohansson I wonder if there are better ways to do this that don't involve asking the users to install pre-commit. We could add black and flake8 as dev dependencies, and set up a git hook that runs on commit. This SO comment explains how this can be set up.

The advantage of something like this is that we can create a separate file with the rules we want black and flake8 to implement that are also interpreted by the IDE as you write. The IDE would show you the syntax suggestions in real time, and also allow you to format on save, what do you think? I have done this before with a repo.

Also, we could add a github action to check syntax if tests pass?

@BjornFJohansson
Copy link
Collaborator Author

Sounds like a good idea. Do you have this running already?

@manulera
Copy link
Collaborator

manulera commented Mar 4, 2024

I can give it a go eventually, I will assign myself to the issue.

In the meantime, can you include the instructions on how to install pre-commit and use it in the readme?

@manulera manulera self-assigned this Mar 4, 2024
@BjornFJohansson
Copy link
Collaborator Author

Will do

@BjornFJohansson
Copy link
Collaborator Author

69b7ec7 on the dev_bjorn branch has the instructions.

for installing it is simply

pip install pre-commit

@manulera
Copy link
Collaborator

Hi @BjornFJohansson I have some suggestions on how to incorporate this in poetry, so that it comes as you do poetry install. In pyproject.toml:

[tool.poetry.group.dev.dependencies]
autopep8 = "^2.1.0"
black = "^24.4.1"
flake8-bugbear = [
  {version = ">=24.4.21", python = ">=3.8.1"},
]
pre-commit = [
  {version = ">3.6", python = ">=3.9"},
  {version = "<3.6", python = "<3.9"},
]

Let me know where should I target with my PR, and I will add this. Also, you mentioned that 69b7ec7 containted the instructions, but I can't see a README with those instructions anymore. Maybe this commit got lost?

@BjornFJohansson
Copy link
Collaborator Author

Hi, Ill have a look and get back to you asap.

manulera added a commit that referenced this issue May 13, 2024
@manulera manulera mentioned this issue May 13, 2024
BjornFJohansson pushed a commit that referenced this issue Jul 2, 2024
manulera added a commit that referenced this issue Oct 8, 2024
manulera added a commit that referenced this issue Oct 24, 2024
* added new translation function

* new orfs method for Seq based on three_frame_orfs function

* new orfs_to_features method for Dseqrecord

* new extract_from_text functions that also returns the intervening text between sequences

* bugfix orfs for Seq and Dsecrecord

* added crispr tests

* added pairwise for older Python versions

* older type hint

* Deploying to gh-pages from @ da3e7e9 🚀

* Deploying to gh-pages from @ 5be4f9d 🚀

* Deploying to gh-pages from @ b37a17c 🚀

* Deploying to gh-pages from @ 11aae3c 🚀

* Deploying to gh-pages from @ 0f95223 🚀

* try to build docs locally on gh-pages

* try to build gh pages

* try to build gh pages

* fix

* added sphinx ext

* Deploying to gh-pages from @ bc08a36 🚀

* try fix docs

* build docs

* clean

* redirect docs badge to action

* redirect docs badge to action

* fix readme links

* fix readme

* fix

* try to fix test error

* fix bug that recognized parts of re enzyme names as other enzymes

* added comment with number of enzymes

* changed number of expected enzymes to the correct number 621

* more informative error msg

* closes #216 (2)

* closes #196

* vscode and poetry settings added

* fix test

* add locations_overlap to utils

* Issue 238 (#239)

* closes #238

* fix notebook

* closes #240

* atomically write default config

* optimisation for #237

* fix python 3.8 typing

* include neb calculator and its tests

* fix design and add tests

* example commit for #176

* Documentation notebooks 2 (#272)

* Documentation notebooks (#271)

* added documentation for dseq.py

* fixed docs for Dseq.py

* fixed docs for Dseq.py

* add hook

* fix exclusions and run hook

* strip outputs of Dseq.ipynb

* update Dseq notebook

* placed notebooks in docs

* added looped and shifted methods in Dseq docs

* added docs for importing files using pydna

* added some Dseqrecord docs

* added docs+examples for Dseq_Features

* added origin spanning feats and removing feats for Dseq_Features

* some comments and todos

* added restriction page

* updated Importing_Seq page

* updated Dseq_Feature Page w/examples

* added restrict+ligate notebook

* added some PCR notes

* added examples, prints

* added tm and design

* fixed tm_default docs

* added gibson assembly

* some comments on current progress

* gibson

* fixed comments, added gibson example and CRISPR

* added Restriction example

* added Gibson example

* closes #256

* run pre-commit

* alternative example for gibson

* gibson updated example

* modified crispr

* modified crispr

* feedback changes for #260

* best practices for qualifiers

---------

Co-authored-by: Pei-Lun Xie <[email protected]>
Co-authored-by: Pei-Lun Xie <[email protected]>

* remove unnecessary file

* remove dir exclusions

* exclude test notebooks

---------

Co-authored-by: Pei-Lun Xie <[email protected]>
Co-authored-by: Pei-Lun Xie <[email protected]>

* update contribution guidelines (#274)

* update CI action to enforce hooks (#277)

* update CI action to enforce hooks

* update action

* update: Added google badge to all notebooks issue #266  (#275)

* fourth trt

* final file added

* update: added installation of pydna

* added seguid stamp to Genbank sequence files

* fix test sequence file

* dependabot monthly

* New CRISPR example notebook (#260) (#284)

* fourth trt

* final file added

* update: added installation of pydna

* update: added CRIPSR examples in notebooks issue #259

* update: added google badge issue #266

* Polished Example CRISPR notebook

---------

Co-authored-by: Manuel Lera-Ramirez <[email protected]>

* Updated notebooks (#295)

* updated example_restriction (#285)

Co-authored-by: Pei-Lun Xie <[email protected]>

* small fixes (#294)

* allow run all on notebooks that have pip install for google colab

---------

Co-authored-by: Pei-Lun Xie <[email protected]>

* progress towards #261

* WIP

* remove code image from README for #261

* more README updates + make requirements.txt

* add requirements file

* fix configuration

* typing for PrettyTable

* typing for codon dicts

* typing for Seq

* typing for FakeSeq

* typing for Genbank

* typing for sequence_picker module

* typing for common_sub_strings module

* typing for Assembly.__init__ and Assembly.__repr__

* Bump pillow from 10.3.0 to 10.4.0

Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.3.0 to 10.4.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](python-pillow/Pillow@10.3.0...10.4.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump autopep8 from 2.1.0 to 2.3.1

Bumps [autopep8](https://github.com/hhatto/autopep8) from 2.1.0 to 2.3.1.
- [Release notes](https://github.com/hhatto/autopep8/releases)
- [Commits](hhatto/autopep8@v2.1.0...v2.3.1)

---
updated-dependencies:
- dependency-name: autopep8
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump black from 24.4.2 to 24.8.0

Bumps [black](https://github.com/psf/black) from 24.4.2 to 24.8.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@24.4.2...24.8.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump sphinx-rtd-theme from 2.0.0 to 3.0.0

Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 2.0.0 to 3.0.0.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](readthedocs/sphinx_rtd_theme@2.0.0...3.0.0)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump prettytable from 3.10.0 to 3.11.0

Bumps [prettytable](https://github.com/jazzband/prettytable) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/jazzband/prettytable/releases)
- [Changelog](https://github.com/jazzband/prettytable/blob/main/CHANGELOG.md)
- [Commits](prettytable/prettytable@3.10.0...3.11.0)

---
updated-dependencies:
- dependency-name: prettytable
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* closes #261 (#297)

* tests for #281 #279, add type to pcr (#298)

* update codecov action for #242

* Issue 270 (#301)

* closes #270

* closes #269 by adding an example notebook + extra tests

* closes #288, includes the graphics in docs notebook

* added example.ipynb to tests folder

* removed example.ipynb

* deal with Tm = 0

* fix notebook export related to #279

* New docs (#304)

* new docs

* update action

* update action

* fix typo in action

* update README + closes #305

* improve docs

* document how docs work

* fix autogen_docs.sh

* fix crispr docstring

* Fix link in README (#310)

* Fix action (#311)

* fix action

* fix action

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: BjornFJohansson <[email protected]>
Co-authored-by: BjornFJohansson <[email protected]>
Co-authored-by: Pei-Lun Xie <[email protected]>
Co-authored-by: Jerry Xu <[email protected]>
Co-authored-by: Pei-Lun Xie <[email protected]>
Co-authored-by: Lucas Levassor <[email protected]>
Co-authored-by: Kawin <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel García Ruano <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants