diff --git a/README.md b/README.md index a45569fc..170e2f54 100644 --- a/README.md +++ b/README.md @@ -134,9 +134,11 @@ https://github.com/pwwang/pipen-report/tree/master/example Plugins make `pipen` even better. - [`pipen-verbose`][15]: Add verbosal information in logs for pipen. +- [`pipen-lock`][25]: Process lock for pipen to prevent multiple runs at the same time. - [`pipen-report`][16]: Generate report for pipen - [`pipen-filters`][17]: Add a set of useful filters for pipen templates. - [`pipen-diagram`][18]: Draw pipeline diagrams for pipen +- [`pipen-annotate`][26]: Use docstring to annotate pipen processes - [`pipen-args`][19]: Command line argument parser for pipen - [`pipen-dry`][20]: Dry runner for pipen pipelines - [`pipen-cli-init`][21]: A pipen CLI plugin to create a pipen project (pipeline) @@ -168,3 +170,5 @@ Plugins make `pipen` even better. [22]: https://github.com/pwwang/pipen-cli-run [23]: https://libraries.io/github/pwwang/pipen#repository_dependencies [24]: https://github.com/pwwang/pipen-cli-require +[25]: https://github.com/pwwang/pipen-lock +[26]: https://github.com/pwwang/pipen-annotate diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 3a3a9a92..ad3c6cb9 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## 0.6.2 + +- ⬆️ Adopt xqute 0.1.5 + ## 0.6.1 - 🐛 Fix path expansion for `~/.pipen.toml` in defaults. diff --git a/pipen/job.py b/pipen/job.py index 3787a761..93040051 100644 --- a/pipen/job.py +++ b/pipen/job.py @@ -130,7 +130,7 @@ def output(self) -> Mapping[str, Any]: outdir=str(self.outdir), stdout_file=str(self.stdout_file), stderr_file=str(self.stderr_file), - lock_file=str(self.lock_file), + jid_file=str(self.jid_file), ), "in": self.input, "in_": self.input, @@ -201,7 +201,7 @@ def template_data(self) -> Mapping[str, Any]: outdir=str(self.outdir), stdout_file=str(self.stdout_file), stderr_file=str(self.stderr_file), - lock_file=str(self.lock_file), + jid_file=str(self.jid_file), ), "in": self.input, "in_": self.input, diff --git a/pipen/progressbar.py b/pipen/progressbar.py index 3ca29cfa..257f6f1c 100644 --- a/pipen/progressbar.py +++ b/pipen/progressbar.py @@ -42,7 +42,10 @@ def update_job_retrying(self): def update_job_running(self): """Update the progress bar when a job is running""" - self.running_counter.update_from(self.submitted_counter) + try: + self.running_counter.update_from(self.submitted_counter) + except ValueError: # pragma: no cover + pass def update_job_succeeded(self): """Update the progress bar when a job is succeeded""" @@ -50,6 +53,8 @@ def update_job_succeeded(self): self.success_counter.update_from(self.running_counter) except ValueError: # pragma: no cover self.success_counter.update_from(self.submitted_counter) + except: # noqa: E722 # pragma: no cover + pass def update_job_failed(self): """Update the progress bar when a job is failed""" @@ -57,6 +62,8 @@ def update_job_failed(self): self.failure_counter.update_from(self.running_counter) except ValueError: # pragma: no cover self.failure_counter.update_from(self.submitted_counter) + except: # noqa: E722 # pragma: no cover + pass def done(self): """The process is done""" diff --git a/pipen/version.py b/pipen/version.py index b0dc9e20..e4e6829a 100644 --- a/pipen/version.py +++ b/pipen/version.py @@ -1,3 +1,3 @@ """Provide version of pipen""" -__version__ = "0.6.1" +__version__ = "0.6.2" diff --git a/poetry.lock b/poetry.lock index 4a508e98..9d390f00 100644 --- a/poetry.lock +++ b/poetry.lock @@ -360,14 +360,14 @@ files = [ [[package]] name = "exceptiongroup" -version = "1.1.0" +version = "1.1.1" description = "Backport of PEP 654 (exception groups)" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.0-py3-none-any.whl", hash = "sha256:327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e"}, - {file = "exceptiongroup-1.1.0.tar.gz", hash = "sha256:bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23"}, + {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"}, + {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"}, ] [package.extras] @@ -690,14 +690,14 @@ files = [ [[package]] name = "openpyxl" -version = "3.1.1" +version = "3.1.2" description = "A Python library to read/write Excel 2010 xlsx/xlsm files" category = "dev" optional = false python-versions = ">=3.6" files = [ - {file = "openpyxl-3.1.1-py2.py3-none-any.whl", hash = "sha256:a0266e033e65f33ee697254b66116a5793c15fc92daf64711080000df4cfe0a8"}, - {file = "openpyxl-3.1.1.tar.gz", hash = "sha256:f06d44e2c973781068bce5ecf860a09bcdb1c7f5ce1facd5e9aa82c92c93ae72"}, + {file = "openpyxl-3.1.2-py2.py3-none-any.whl", hash = "sha256:f91456ead12ab3c6c2e9491cf33ba6d08357d802192379bb482f1033ade496f5"}, + {file = "openpyxl-3.1.2.tar.gz", hash = "sha256:a6f5977418eff3b2d5500d54d9db50c8277a368436f4e4f8ddb1be3422870184"}, ] [package.dependencies] @@ -912,14 +912,14 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale [[package]] name = "pytest-xdist" -version = "3.2.0" +version = "3.2.1" description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-xdist-3.2.0.tar.gz", hash = "sha256:fa10f95a2564cd91652f2d132725183c3b590d9fdcdec09d3677386ecf4c1ce9"}, - {file = "pytest_xdist-3.2.0-py3-none-any.whl", hash = "sha256:336098e3bbd8193276867cc87db8b22903c3927665dff9d1ac8684c02f597b68"}, + {file = "pytest-xdist-3.2.1.tar.gz", hash = "sha256:1849bd98d8b242b948e472db7478e090bf3361912a8fed87992ed94085f54727"}, + {file = "pytest_xdist-3.2.1-py3-none-any.whl", hash = "sha256:37290d161638a20b672401deef1cba812d110ac27e35d213f091d15b8beb40c9"}, ] [package.dependencies] @@ -1236,14 +1236,14 @@ files = [ [[package]] name = "xqute" -version = "0.1.4" +version = "0.1.5" description = "A job management system for python" category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ - {file = "xqute-0.1.4-py3-none-any.whl", hash = "sha256:ffa99ba0e1963e056ed39b9ccc3a00099f3a8577be10d0082f37e434720213b2"}, - {file = "xqute-0.1.4.tar.gz", hash = "sha256:0aec1181658dffc7c6835093303dc0a54239962ca638d2cfbf89415a3ea839a9"}, + {file = "xqute-0.1.5-py3-none-any.whl", hash = "sha256:95ef0b8926e41de7eb5681fb99bb3ac0a86a1df1d38dccd197aa487b11bc4dc8"}, + {file = "xqute-0.1.5.tar.gz", hash = "sha256:55f7d3ffd58d3b35c276f4e95c668439c09fbb655d09265f61ddd63116e48210"}, ] [package.dependencies] diff --git a/pyproject.toml b/pyproject.toml index c4211f2b..5e14b474 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.masonry.api" [tool.poetry] name = "pipen" -version = "0.6.1" +version = "0.6.2" description = "A pipeline framework for python" authors = [ "pwwang ",] license = "MIT"