Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
dhondta committed Oct 28, 2024
1 parent 60a597c commit 9278f5b
Show file tree
Hide file tree
Showing 33 changed files with 1,617 additions and 0 deletions.
14 changes: 14 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[run]
source = malsearch
omit =
src/malsearch/__info__.py
tests/*

[report]
exclude_lines =
pragma: no cover
if.*?__name__.*?==.*?.__main__.:
def main\(\)\:
except ImportError:
except NameError:
raise NotImplementedError
37 changes: 37 additions & 0 deletions .github/workflows/pypi-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# This workflow will deploy the Python package to PyPi.org

name: deploy

env:
package: malsearch

on:
push:
branches:
- main
paths:
- '**/VERSION.txt'
workflow_run:
workflows: ["build"]
types: [completed]

jobs:
deploy:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Cleanup README
run: |
sed -ri 's/^(##*)\s*:.*:\s*/\1 /g' README.md
awk '{if (match($0,"## Supporters")) exit; print}' README.md > README
mv -f README README.md
- run: python3 -m pip install --upgrade build && python3 -m build
- name: Upload ${{ env.package }} to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
verbose: true
verify_metadata: false
79 changes: 79 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: build

env:
package: malsearch

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install ${{ env.package }}
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest pytest-cov pytest-pythonpath coverage
pip install -r requirements.txt
pip install .
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test ${{ env.package }} with pytest
run: |
pytest --cov=$package
coverage:
needs: build
runs-on: ubuntu-latest
env:
cov_badge_path: docs/coverage.svg
steps:
- uses: actions/checkout@v3
- name: Install ${{ env.package }}
run: |
python -m pip install --upgrade pip
python -m pip install pytest pytest-cov pytest-pythonpath
pip install -r requirements.txt
pip install .
- name: Make coverage badge for ${{ env.package }}
run: |
pip install genbadge[coverage]
pytest --cov=$package --cov-report=xml
genbadge coverage -i coverage.xml -o $cov_badge_path
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v17
id: changed_files
with:
files: ${{ env.cov_badge_path }}
- name: Commit files
if: steps.changed_files.outputs.files_changed == 'true'
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add $cov_badge_path
git commit -m "Updated coverage.svg"
- name: Push changes
if: steps.changed_files.outputs.files_changed == 'true'
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.github_token }}
branch: ${{ github.ref }}
78 changes: 78 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Temp files
*~
*.backup
.DS_Store

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
.build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib64/
parts/
sdist/
reinstall.sh
test.sh
update.sh
version.py

var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
MANIFEST

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
coverage/
.tox/
.coverage
.coverage.*
.coveralls.*
.cache
nosetests.xml
coverage.xml
*,cover

# Translations
*.mo
*.pot

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Project artifacts
.idea
.vagrant
.test
.pytest_cache
tmp
TODO
script.py
tool.py
hashes.txt
13 changes: 13 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
version: 2

build:
os: "ubuntu-22.04"
tools:
python: "3.11"

mkdocs:
configuration: docs/mkdocs.yml

python:
install:
- requirements: docs/requirements.txt
Loading

0 comments on commit 9278f5b

Please sign in to comment.