diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a4b27d2..5777573 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -18,6 +18,7 @@ jobs: include: - python-version: "3.11" - python-version: "3.12" + - python-version: "3.13" - python-version: "3.10" steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index a17d38e..424e789 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Python 3.10 + - name: Set up Python 3.10 uses: actions/setup-python@v2 with: python-version: "3.10" @@ -24,9 +24,8 @@ jobs: - name: Build a binary wheel and a source tarball run: | cd src + sed -i 's/^version = ".*"$/version = "'${GITHUB_REF_NAME#v}'"/' pyproject.toml python -m build --sdist --wheel --outdir dist/ . - env: - BUILD_TAG: ${{ github.ref_name }} - name: Publish distribution 📦 to Test PyPI uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/src/pycomposefile/compose_element/compose_datatype_transformer.py b/src/pycomposefile/compose_element/compose_datatype_transformer.py index 2baf4ac..5ca31e3 100644 --- a/src/pycomposefile/compose_element/compose_datatype_transformer.py +++ b/src/pycomposefile/compose_element/compose_datatype_transformer.py @@ -68,7 +68,7 @@ def replace_environment_variables_with_empty_unset(self, value): default_value = matches.group("defaultvalue") if env_var is None or len(env_var) == 0: env_var = default_value - escaped = re.sub(r"([*+?{}])", r"\\\1", matches[0]) # escape special characters + escaped = re.sub(r"([*+?{}])", r"\\\1", matches[0]) # escape special characters value = self.update_value_with_resolved_environment(f"\\{escaped}", env_var, value) matches = capture.search(value) return value diff --git a/src/pyproject.toml b/src/pyproject.toml new file mode 100644 index 0000000..ad06866 --- /dev/null +++ b/src/pyproject.toml @@ -0,0 +1,22 @@ +[project] +name = "pycomposefile" +version = "0.0.1a1" +description = "Structured deserialization of Docker Compose files." +readme = "README.md" +authors = [ + { name = "Steven Murawski", email = "steven.murawski@microsoft.com" }, +] +requires-python = ">=3.6" +dependencies = ["pyyaml"] +keywords = ["docker", "compose"] +license = "MIT" + +[project.urls] +Homepage = "https://github.com/smurawski/pycomposefile" + +[tool.flit.sdist] +include = ["tests/"] + +[build-system] +requires = ["flit_core >=3.11,<4"] +build-backend = "flit_core.buildapi" diff --git a/src/setup.py b/src/setup.py deleted file mode 100644 index 9ee0d83..0000000 --- a/src/setup.py +++ /dev/null @@ -1,22 +0,0 @@ -import setuptools -import os - -long_desc = open("README.md").read() -required = ['pyyaml'] # Comma seperated dependent libraries name -version = os.environ.get("BUILD_TAG", "0.0.1a1").lstrip("v") - -setuptools.setup( - name="pycomposefile", - version=version, - author="Steven Murawski", - author_email="steven.murawski@microsoft.com", - license="MIT", - description="Structured deserialization of Docker Compose files.", - long_description=long_desc, - long_description_content_type="text/markdown", - url="https://github.com/smurawski/pycomposefile", - packages=setuptools.find_packages(), - key_words="docker compose", - install_requires=required, - python_requires=">=3.6", -)