From d064e6f98bbc6e35bc7fa1f8610b8bf93d0e2bdd Mon Sep 17 00:00:00 2001 From: Pandede Date: Fri, 26 Jan 2024 18:02:35 +0800 Subject: [PATCH 1/9] add `__version__` --- wpodnet/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/wpodnet/__init__.py b/wpodnet/__init__.py index e69de29..34c1db3 100644 --- a/wpodnet/__init__.py +++ b/wpodnet/__init__.py @@ -0,0 +1 @@ +__version__ = '1.0.2' \ No newline at end of file From 647aa33fcc2bad42cb445e4e31d92581184cf288 Mon Sep 17 00:00:00 2001 From: Pandede Date: Fri, 26 Jan 2024 18:03:07 +0800 Subject: [PATCH 2/9] add torch related packages --- requirements.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ec18478..cd8894f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,4 @@ numpy -Pillow \ No newline at end of file +Pillow +torch +torchvision \ No newline at end of file From 87fd7a3a1fc194356047fd0e4f2ed1ab21cab869 Mon Sep 17 00:00:00 2001 From: Pandede Date: Mon, 29 Jan 2024 09:51:11 +0800 Subject: [PATCH 3/9] add `pyproject.toml` --- pyproject.toml | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..a9b9755 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,58 @@ +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[project] +name = "wpodnet-pytorch" +dynamic = ["dependencies", "version"] +description = "The implementation of ECCV 2018 paper \"License Plate Detection and Recognition in Unconstrained Scenarios\" in PyTorch" +readme = "README.md" +requires-python = ">=3.7" +keywords = [ + "python", + "ai", + "computer-vision", + "deep-learning", + "torch", + "object-detection", + "license-plate-recognition", + "wpod", + "wpod-net", +] +authors = [{ name = "Pandede" }] +maintainers = [{ name = "Pandede" }] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: Education", + "Intended Audience :: Science/Research", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Topic :: Software Development", + "Topic :: Scientific/Engineering", + "Topic :: Scientific/Engineering :: Artificial Intelligence", + "Topic :: Scientific/Engineering :: Image Recognition", + "Operating System :: POSIX :: Linux", + "Operating System :: MacOS", + "Operating System :: Microsoft :: Windows", +] + +[tool.setuptools] +packages = { find = { where = ["."], include = ["wpodnet", "wpodnet.*"] } } + +[tool.setuptools.dynamic] +dependencies = { file = "requirements.txt" } +version = { attr = "wpodnet.__version__" } + +[project.optional-dependencies] +dev = [ + "pytest" +] + +[project.urls] +"Source" = "https://github.com/Pandede/WPODNet-Pytorch" From 7318a35875df4e13cd5dd66cb74222e0e309e598 Mon Sep 17 00:00:00 2001 From: Pandede Date: Mon, 29 Jan 2024 09:52:25 +0800 Subject: [PATCH 4/9] add shortcuts --- wpodnet/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/wpodnet/__init__.py b/wpodnet/__init__.py index 34c1db3..a085870 100644 --- a/wpodnet/__init__.py +++ b/wpodnet/__init__.py @@ -1 +1,7 @@ -__version__ = '1.0.2' \ No newline at end of file +__version__ = '1.0.2' + +from .backend import Prediction, Predictor + +__all__ = [ + 'Prediction', 'Predictor' +] \ No newline at end of file From 8a0d8e1c60ec1d1b4c0f851b2c1dfc1a569cd01c Mon Sep 17 00:00:00 2001 From: Pandede Date: Mon, 29 Jan 2024 17:18:25 +0800 Subject: [PATCH 5/9] add workflows --- .github/workflows/cd.yaml | 93 +++++++++++++++++++++++++++++++++++++++ .github/workflows/ci.yaml | 38 ++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 .github/workflows/cd.yaml create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml new file mode 100644 index 0000000..80d3046 --- /dev/null +++ b/.github/workflows/cd.yaml @@ -0,0 +1,93 @@ +name: Publish Python distribution to PyPI + +on: push + +jobs: + build: + name: Build distribution + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.x" + - name: Install pypa/build + run: >- + python3 -m + pip install + build + --user + - name: Build a binary wheel and a source tarball + run: python3 -m build + - name: Store the distribution packages + uses: actions/upload-artifact@v3 + with: + name: python-package-distributions + path: dist/ + + publish-to-pypi: + name: >- + Publish Python distribution 📦 to PyPI + if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes + needs: + - build + runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/p/wpodnet-pytorch + permissions: + id-token: write # IMPORTANT: mandatory for trusted publishing + + steps: + - name: Download all the dists + uses: actions/download-artifact@v3 + with: + name: python-package-distributions + path: dist/ + - name: Publish distribution to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + + github-release: + name: >- + Sign the Python distribution with Sigstore + and upload them to GitHub Release + needs: + - publish-to-pypi + runs-on: ubuntu-latest + + permissions: + contents: write # IMPORTANT: mandatory for making GitHub Releases + id-token: write # IMPORTANT: mandatory for sigstore + + steps: + - name: Download all the dists + uses: actions/download-artifact@v3 + with: + name: python-package-distributions + path: dist/ + - name: Sign the dists with Sigstore + uses: sigstore/gh-action-sigstore-python@v1.2.3 + with: + inputs: >- + ./dist/*.tar.gz + ./dist/*.whl + - name: Create GitHub Release + env: + GITHUB_TOKEN: ${{ github.token }} + run: >- + gh release create + '${{ github.ref_name }}' + --repo '${{ github.repository }}' + --notes "" + - name: Upload artifact signatures to GitHub Release + env: + GITHUB_TOKEN: ${{ github.token }} + # Upload to GitHub Release using the `gh` CLI. + # `dist/` contains the built packages, and the + # sigstore-produced signatures and certificates. + run: >- + gh release upload + '${{ github.ref_name }}' dist/** + --repo '${{ github.repository }}' diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..93d0687 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,38 @@ +name: CI + +on: [push] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + - name: Install dependencies + run: | + pip install --upgrade pip + pip install -r requirements.txt + - name: Lint with Ruff + run: | + pip install ruff + ruff --format=github . + continue-on-error: true + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + - name: Install dependencies + run: | + pip install --upgrade pip + pip install -r requirements.txt + - name: Test with pytest + run: | + pip install pytest pytest-cov pytest-mock + python -m pytest --junitxml=junit/test-results.xml --cov --cov-report=xml --cov-report=html \ No newline at end of file From bc98311ed513e0021ab38700758d9b31b40e2b26 Mon Sep 17 00:00:00 2001 From: Pandede Date: Mon, 29 Jan 2024 17:20:13 +0800 Subject: [PATCH 6/9] use python `3.10` for cicd --- .github/workflows/cd.yaml | 2 +- .github/workflows/ci.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index 80d3046..11a1796 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -12,7 +12,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: "3.x" + python-version: 3.10 - name: Install pypa/build run: >- python3 -m diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 93d0687..930ce63 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -10,7 +10,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.x' + python-version: 3.10 - name: Install dependencies run: | pip install --upgrade pip @@ -27,7 +27,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.x' + python-version: 3.10 - name: Install dependencies run: | pip install --upgrade pip From a106385d623ccc7625b0f3bd411e323dcea300e9 Mon Sep 17 00:00:00 2001 From: Pandede Date: Mon, 29 Jan 2024 17:21:16 +0800 Subject: [PATCH 7/9] add quotes --- .github/workflows/cd.yaml | 2 +- .github/workflows/ci.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index 11a1796..ccf35df 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -12,7 +12,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.10 + python-version: "3.10" - name: Install pypa/build run: >- python3 -m diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 930ce63..550ed8f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -10,7 +10,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.10 + python-version: "3.10" - name: Install dependencies run: | pip install --upgrade pip @@ -27,7 +27,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.10 + python-version: "3.10" - name: Install dependencies run: | pip install --upgrade pip From 0874e4ebf4edd5765bad04765b60c44940b72857 Mon Sep 17 00:00:00 2001 From: Pandede Date: Mon, 29 Jan 2024 17:23:43 +0800 Subject: [PATCH 8/9] fix incorrect cli of `ruff` --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 550ed8f..37925aa 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -18,7 +18,7 @@ jobs: - name: Lint with Ruff run: | pip install ruff - ruff --format=github . + ruff -- --format=github . continue-on-error: true test: runs-on: ubuntu-latest From ea94d3802e0e82b65e9040e5a2a5a2e9ca7ec632 Mon Sep 17 00:00:00 2001 From: Pandede Date: Mon, 29 Jan 2024 17:24:21 +0800 Subject: [PATCH 9/9] change condition to trigger CD --- .github/workflows/cd.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index ccf35df..c3ec76a 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -1,6 +1,9 @@ -name: Publish Python distribution to PyPI +name: CD -on: push +on: + push: + tags: + - '*' jobs: build: