diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..b6bcbf2e3 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,62 @@ +name: Release 🚀 + +on: push + +jobs: + build: + name: Build distribution 📦 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v5 + 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@v4 + with: + name: python-package-distributions + path: dist/ + publish-to-pypi: + name: Publish to PyPI 🐍 + if: startsWith(github.ref, 'refs/tags/') + needs: + - build + runs-on: ubuntu-latest + permissions: + id-token: write + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: python-package-distributions + path: dist/ + - name: Publish distribution 📦 to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + publish-to-testpypi: + name: Publish to TestPyPI 🐍 + needs: + - build + runs-on: ubuntu-latest + permissions: + id-token: write + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: python-package-distributions + path: dist/ + - name: Publish distribution 📦 to TestPyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + repository-url: https://test.pypi.org/legacy/ \ No newline at end of file diff --git a/.gitignore b/.gitignore index e22c10752..61125123f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ kanjivg.xml kanjivg-*xml.gz kanjivg-*.zip stripped/* +*.egg-info \ No newline at end of file diff --git a/__init__.py b/__init__.py new file mode 100644 index 000000000..8599030eb --- /dev/null +++ b/__init__.py @@ -0,0 +1,10 @@ +import importlib.metadata as metadata + +__version__ = metadata.version(__name__) +__author__ = metadata.metadata(__name__)['Author'] +__license__ = metadata.metadata(__name__)['License'] +__all__ = [__name__] + +from kanjivg import * +from kvg_lookup import * +from kvg import * \ No newline at end of file diff --git a/kvg.py b/kvg.py old mode 100755 new mode 100644 diff --git a/kvg-lookup.py b/kvg_lookup.py old mode 100755 new mode 100644 similarity index 100% rename from kvg-lookup.py rename to kvg_lookup.py diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..4db3f5a75 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,32 @@ +[build-system] +requires = ["setuptools>=64", "setuptools_scm>=8"] +build-backend = "setuptools.build_meta" + +[project] +name = "kanjivg" +dynamic = ["version"] +authors = [ + {name = "ospalh"}, + {name = "benkasminbullock"}, + {name = "Gnurou"}, + {name = "eichhirn"} +] +description = "Kanji vector graphics " +readme = "README.md" +requires-python = ">=3.7" +license = {file = "LICENSE"} +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved", + "Operating System :: OS Independent", + "Development Status :: 5 - Production/Stable", + "Topic :: Utilities" +] + +[tool.setuptools_scm] +version_scheme = "no-guess-dev" +local_scheme = "no-local-version" +tag_regex = "^(?:r)?(\\d{8}-?\\d?)$" + +[project.urls] +Homepage = "https://github.com/KanjiVG/kanjivg"