diff --git a/.github/workflows/pydna_pypi_build_workflow.yml b/.github/workflows/pydna_pypi_build_workflow.yml index 965c2f87..9b67607d 100644 --- a/.github/workflows/pydna_pypi_build_workflow.yml +++ b/.github/workflows/pydna_pypi_build_workflow.yml @@ -4,6 +4,7 @@ on: types: [published] branches: - master + - dev_bjorn jobs: build: name: Build @@ -53,13 +54,9 @@ jobs: shell: bash -l {0} run: git describe --tags - - name: 🔩 Build pypi wheel package - shell: bash -l {0} - run: poetry build - - - name: 🔼 Publish a Python distribution to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 + - name: Build and publish to pypi + uses: JRubics/poetry-publish@v1.17 with: - user: __token__ - password: ${{ secrets.PYDNA_PYPI_TOKEN }} - skip_existing: true + pypi_token: ${{ secrets.PYPI_TOKEN }} + repository_name: "testpypi" + repository_url: "https://test.pypi.org/legacy/" diff --git a/.github/workflows/pydna_test_and_coverage_workflow.yml b/.github/workflows/pydna_test_and_coverage_workflow.yml index bcc21932..1e40a864 100644 --- a/.github/workflows/pydna_test_and_coverage_workflow.yml +++ b/.github/workflows/pydna_test_and_coverage_workflow.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: [ 'macos-latest', 'windows-latest' ] - python-version: ["3.11", "3.10", "3.9", "3.8"] + python-version: ["3.12", "3.11", "3.10", "3.9", "3.8"] include: - os: ubuntu-latest python-version: "3.8" @@ -25,6 +25,8 @@ jobs: python-version: "3.10" - os: ubuntu-latest python-version: "3.11" + - os: ubuntu-latest + python-version: "3.12" runs-on: ${{ matrix.os }} steps: diff --git a/poetry.lock b/poetry.lock index aeb7b858..e70fd788 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1372,13 +1372,13 @@ files = [ [[package]] name = "platformdirs" -version = "3.11.0" +version = "4.0.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, - {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, + {file = "platformdirs-4.0.0-py3-none-any.whl", hash = "sha256:118c954d7e949b35437270383a3f2531e99dd93cf7ce4dc8340d3356d30f173b"}, + {file = "platformdirs-4.0.0.tar.gz", hash = "sha256:cb633b2bcf10c51af60beb0ab06d2f1d69064b43abf4c185ca6b28865f3f9731"}, ] [package.extras] @@ -2199,30 +2199,30 @@ files = [ [[package]] name = "urllib3" -version = "2.0.7" +version = "2.1.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, - {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, + {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, + {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, + ] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] [[package]] name = "wcwidth" -version = "0.2.9" +version = "0.2.10" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.9-py2.py3-none-any.whl", hash = "sha256:9a929bd8380f6cd9571a968a9c8f4353ca58d7cd812a4822bba831f8d685b223"}, - {file = "wcwidth-0.2.9.tar.gz", hash = "sha256:a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8"}, + {file = "wcwidth-0.2.10-py2.py3-none-any.whl", hash = "sha256:aec5179002dd0f0d40c456026e74a729661c9d468e1ed64405e3a6c2176ca36f"}, + {file = "wcwidth-0.2.10.tar.gz", hash = "sha256:390c7454101092a6a5e43baad8f83de615463af459201709556b6e4b1c861f97"}, ] [[package]] @@ -2264,4 +2264,5 @@ gui = ["pyqt5"] [metadata] lock-version = "2.0" python-versions = ">=3.8" -content-hash = "afac04373d3d44604a968b10b0cedf614dcc10e6a1847bdb3e8052ef8c7091ad" +content-hash = "408e376f725270a2098626879c9f7147d387fd14b2384e2775937a4955950e80" + diff --git a/pyproject.toml b/pyproject.toml index 63942809..c3bc0f4d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,18 +11,15 @@ classifiers=["Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", - "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", + "Programming Language :: Python :: 3.12", "Topic :: Education", "Topic :: Scientific/Engineering :: Bio-Informatics", ] -[project.urls] -homepage = "https://github.com/BjornFJohansson/pydna#-pydna" -documentation = "https://pydna.readthedocs.io/?badge=latest" -repository = "https://github.com/BjornFJohansson/pydna/tree/dev_bjorn" -changelog = "https://github.com/BjornFJohansson/pydna/blob/master/docs/CHANGELOG.md#changelog" +[tool.poetry.urls] +Changelog = "https://github.com/BjornFJohansson/pydna/blob/master/docs/CHANGELOG.md#changelog" [tool.poetry] name = "pydna" version = "5.2.0-a.15" @@ -30,6 +27,9 @@ description = "Representing double stranded DNA and functions for simulating clo authors = ["BjornFJohansson "] license = "BSD" readme = "README.md" +homepage = "https://github.com/BjornFJohansson/pydna#-pydna" +documentation = "https://pydna.readthedocs.io/?badge=latest" +repository = "https://github.com/BjornFJohansson/pydna/tree/dev_bjorn" [tool.poetry.dependencies] python = ">=3.8" appdirs = ">=1.4.4" @@ -37,9 +37,9 @@ biopython = ">=1.80" networkx = ">=2.8.8" pydivsufsort = ">=0.0.11" prettytable = ">=3.5.0" -pyfiglet = ">=0.8.post1" +pyfiglet = "0.8.post1" pyperclip = { version = ">=1.8.2", optional = true } -scipy = { version = ">=1.8.0", optional = true } +scipy = { version = ">=1.9.3", optional = true } matplotlib = { version = ">=3.4.3", optional = true } pillow = { version = ">=8.4.0", optional = true } pyparsing = { version = ">=2.4.7", optional = true } diff --git a/src/pydna/dseq.py b/src/pydna/dseq.py index 8b1c82d6..454642e4 100644 --- a/src/pydna/dseq.py +++ b/src/pydna/dseq.py @@ -1313,8 +1313,7 @@ def twice_cutters(self, batch: _RestrictionBatch = None): return self.n_cutters(n=2, batch=batch) def n_cutters(self, n=3, batch: _RestrictionBatch = None): - """Returns the enzymes in a RestrictionBatch that cut the sequence - n times.""" + """Enzymes in a RestrictionBatch cutting n times.""" if not batch: batch = CommOnly ana = batch.search(self)