Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
MatthijsBurgh committed Jun 20, 2024
1 parent ce754fd commit 2e5b84c
Show file tree
Hide file tree
Showing 29 changed files with 6,467 additions and 973 deletions.
25 changes: 20 additions & 5 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,35 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
id: setup-python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenv-create: true
virtualenvs-in-project: true
- name: Poetry cache
id: poetry_cache
uses: actions/cache@v4
with:
save-always: true
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
restore-keys: |
venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r tests/actions_requirements.txt
poetry install --with dev --with test
- name: Test with pytest
run: |
python --version
echo "import tests.actions_test" > test.py
coverage run --source facenet_pytorch/models,examples tests/actions_test.py
coverage report
coverage xml
poetry run coverage run --source facenet_pytorch/models,examples tests/actions_test.py
poetry run coverage report
poetry run coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
if: ${{ matrix.python-version == '3.12' }}
267 changes: 267 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,267 @@
# Example markdownlint configuration with all properties set to their default value

# Default state for all rules
default: true

# Path to configuration file to extend
extends: null

# MD001/heading-increment: Heading levels should only increment by one level at a time: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md001.md
MD001: true

# MD003/heading-style: Heading style: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md003.md
MD003:
# Heading style
style: "consistent"

# MD004/ul-style: Unordered list style: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md004.md
MD004:
# List style
style: "consistent"

# MD005/list-indent: Inconsistent indentation for list items at the same level: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md005.md
MD005: true

# MD007/ul-indent: Unordered list indentation: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md007.md
MD007:
# Spaces for indent
indent: 2
# Whether to indent the first level of the list
start_indented: false
# Spaces for first level indent (when start_indented is set)
start_indent: 2

# MD009/no-trailing-spaces: Trailing spaces: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md009.md
MD009:
# Spaces for line break
br_spaces: 2
# Allow spaces for empty lines in list items
list_item_empty_lines: false
# Include unnecessary breaks
strict: false

# MD010/no-hard-tabs: Hard tabs: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md010.md
MD010:
# Include code blocks
code_blocks: true
# Fenced code languages to ignore
ignore_code_languages: []
# Number of spaces for each hard tab
spaces_per_tab: 1

# MD011/no-reversed-links: Reversed link syntax: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md011.md
MD011: true

# MD012/no-multiple-blanks: Multiple consecutive blank lines: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md012.md
MD012:
# Consecutive blank lines
maximum: 1

# MD013/line-length: Line length: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md013.md
MD013:
# Number of characters
line_length: 120
# Number of characters for headings
heading_line_length: 120
# Number of characters for code blocks
code_block_line_length: 120
# Include code blocks
code_blocks: true
# Include tables
tables: true
# Include headings
headings: true
# Strict length checking
strict: false
# Stern length checking
stern: false

# MD014/commands-show-output: Dollar signs used before commands without showing output: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md014.md
MD014: true

# MD018/no-missing-space-atx: No space after hash on atx style heading: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md018.md
MD018: true

# MD019/no-multiple-space-atx: Multiple spaces after hash on atx style heading: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md019.md
MD019: true

# MD020/no-missing-space-closed-atx: No space inside hashes on closed atx style heading: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md020.md
MD020: true

# MD021/no-multiple-space-closed-atx: Multiple spaces inside hashes on closed atx style heading: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md021.md
MD021: true

# MD022/blanks-around-headings: Headings should be surrounded by blank lines: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md022.md
MD022:
# Blank lines above heading
lines_above: 1
# Blank lines below heading
lines_below: 1

# MD023/heading-start-left: Headings must start at the beginning of the line: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md023.md
MD023: true

# MD024/no-duplicate-heading: Multiple headings with the same content: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md024.md
MD024:
# Only check sibling headings
allow_different_nesting: false
# Only check sibling headings
siblings_only: false

# MD025/single-title/single-h1: Multiple top-level headings in the same document: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md025.md
MD025:
# Heading level
level: 1
# RegExp for matching title in front matter
front_matter_title: "^\\s*title\\s*[:=]"

# MD026/no-trailing-punctuation: Trailing punctuation in heading: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md026.md
MD026:
# Punctuation characters
punctuation: ".,;:!。,;:!"

# MD027/no-multiple-space-blockquote: Multiple spaces after blockquote symbol: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md027.md
MD027: true

# MD028/no-blanks-blockquote: Blank line inside blockquote: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md028.md
MD028: true

# MD029/ol-prefix: Ordered list item prefix: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md029.md
MD029:
# List style
style: "one_or_ordered"

# MD030/list-marker-space: Spaces after list markers: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md030.md
MD030:
# Spaces for single-line unordered list items
ul_single: 1
# Spaces for single-line ordered list items
ol_single: 1
# Spaces for multi-line unordered list items
ul_multi: 1
# Spaces for multi-line ordered list items
ol_multi: 1

# MD031/blanks-around-fences: Fenced code blocks should be surrounded by blank lines: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md031.md
MD031:
# Include list items
list_items: true

# MD032/blanks-around-lists: Lists should be surrounded by blank lines: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md032.md
MD032: true

# MD033/no-inline-html: Inline HTML: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md033.md
MD033:
# Allowed elements
allowed_elements: []

# MD034/no-bare-urls: Bare URL used: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md034.md
MD034: true

# MD035/hr-style: Horizontal rule style: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md035.md
MD035:
# Horizontal rule style
style: "consistent"

# MD036/no-emphasis-as-heading: Emphasis used instead of a heading: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md036.md
MD036:
# Punctuation characters
punctuation: ".,;:!?。,;:!?"

# MD037/no-space-in-emphasis: Spaces inside emphasis markers: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md037.md
MD037: true

# MD038/no-space-in-code: Spaces inside code span elements: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md038.md
MD038: true

# MD039/no-space-in-links: Spaces inside link text: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md039.md
MD039: true

# MD040/fenced-code-language: Fenced code blocks should have a language specified: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md040.md
MD040:
# List of languages
allowed_languages: []
# Require language only
language_only: false

# MD041/first-line-heading/first-line-h1: First line in a file should be a top-level heading: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md041.md
MD041:
# Heading level
level: 1
# RegExp for matching title in front matter
front_matter_title: "^\\s*title\\s*[:=]"

# MD042/no-empty-links: No empty links: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md042.md
MD042: true

# MD043/required-headings: Required heading structure: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md043.md
MD043: false
#MD043:
# # List of headings
# headings: []
# # Match case of headings
# match_case: false

# MD044/proper-names: Proper names should have the correct capitalization: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md044.md
MD044:
# List of proper names
names: []
# Include code blocks
code_blocks: true
# Include HTML elements
html_elements: true

# MD045/no-alt-text: Images should have alternate text (alt text): https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md045.md
MD045: true

# MD046/code-block-style: Code block style: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md046.md
MD046:
# Block style
style: "consistent"

# MD047/single-trailing-newline: Files should end with a single newline character: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md047.md
MD047: true

# MD048/code-fence-style: Code fence style: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md048.md
MD048:
# Code fence style
style: "consistent"

# MD049/emphasis-style: Emphasis style: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md049.md
MD049:
# Emphasis style
style: "consistent"

# MD050/strong-style: Strong style: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md050.md
MD050:
# Strong style
style: "consistent"

# MD051/link-fragments: Link fragments should be valid: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md051.md
MD051: true

# MD052/reference-links-images: Reference links and images should use a label that is defined: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md052.md
MD052:
# Include shortcut syntax
shortcut_syntax: false

# MD053/link-image-reference-definitions: Link and image reference definitions should be needed: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md053.md
MD053:
# Ignored definitions
ignored_definitions:
- "//"

# MD054/link-image-style: Link and image style: https://github.com/DavidAnson/markdownlint/blob/v0.32.1/doc/md054.md
MD054:
# Allow auto-links
autolink: true
# Allow inline links and images
inline: true
# Allow full reference links and images
full: true
# Allow collapsed reference links and images
collapsed: true
# Allow shortcut reference links and images
shortcut: true
# Allow URLs as inline links
url_inline: true
82 changes: 82 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# can be used to exclude certain regex patterns or paths
exclude: '^$'
# if set to true, fails on first failure
fail_fast: false
repos:
# The following pre-commit hooks could be very useful.
# They are not part of CI/CD, so use or remove them as you please
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: debug-statements
- id: name-tests-test
args: [
"--pytest-test-first" # test_.*\.py
#"--pytest" # .*_test\.py
#"--unittest" # test.*\.py
]
- id: check-added-large-files
- id: check-docstring-first
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
- id: check-merge-conflict
- id: check-yaml
args: ['--unsafe']
- id: check-toml
- id: check-xml
- id: detect-private-key

- repo: https://gitlab.com/bmares/check-json5
rev: v1.0.0
hooks:
- id: check-json5

- repo: https://github.com/DavidAnson/markdownlint-cli2
rev: v0.13.0
hooks:
- id: markdownlint-cli2
args: [ "--fix", "--config", ".markdownlint.yaml" ]

# part of CI/CD
- repo: local
hooks:
- id: poetry-check
name: poetry-check --lock
description: run poetry check to validate config
entry: poetry check --lock
language: python
pass_filenames: false
files: ^(.*/)?pyproject\.toml$
# - id: poetry-export
# name: poetry-export
# description: run poetry export to sync lock file with requirements.txt
# entry: poetry export
# language: python
# pass_filenames: false
# files: ^(.*/)?poetry\.lock$
# args: ["-f", "requirements.txt", "-o", "requirements.txt"]
# - id: poetry-export-dev
# name: poetry-export --with-dev
# description: run poetry export to sync lock file with requirements.txt
# entry: poetry export
# language: python
# pass_filenames: false
# files: ^(.*/)?poetry\.lock$
# args: ["--with", "dev", "-f", "requirements.txt", "-o", "requirements-dev.txt"]

- id: ruff-format
name: ruff-format
description: "Run 'ruff format' for extremely fast Python formatting"
entry: ruff format --force-exclude
language: python
types_or: [python, pyi]
args: []
- id: ruff
name: ruff
description: Run 'ruff' for extremely fast Python linting
entry: ruff check --force-exclude
language: python
types_or: [python, pyi]
args: [--fix]
Loading

0 comments on commit 2e5b84c

Please sign in to comment.