From 8d625f5cc02f373686e99c53146ba891e33d4abc Mon Sep 17 00:00:00 2001 From: Dmitry Pershin Date: Sat, 6 Jun 2026 21:08:26 +0500 Subject: [PATCH 1/3] feat: python3.9 support dropped, python3.14 support added. --- .flake8 | 2 +- .github/workflows/publish.yml | 22 +++++++++++ .github/workflows/release.yml | 38 +++++++++++------- .github/workflows/test.yml | 49 ++++++++++++----------- .mypy.ini | 11 ++++++ .pre-commit-config.yaml | 45 +++++++++++++-------- .releaserc.yaml | 20 ++++++++++ pyproject.toml | 73 ++++++++++++++++------------------- 8 files changed, 166 insertions(+), 94 deletions(-) create mode 100644 .github/workflows/publish.yml create mode 100644 .mypy.ini create mode 100644 .releaserc.yaml diff --git a/.flake8 b/.flake8 index 74803eb..493e63c 100644 --- a/.flake8 +++ b/.flake8 @@ -1,4 +1,4 @@ [flake8] max-line-length = 120 per-file-ignores = - generic_connection_pool/*__init__.py: F401 + */__init__.py: F401 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..bd946c2 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,22 @@ +name: publish + +on: + release: + types: + - published + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - name: Setup Python + uses: actions/setup-python@v6 + with: + python-version: '3.x' + - name: Install poetry + run: pip install poetry + - name: Build and publish + run: | + poetry build + poetry publish -u __token__ -p ${{ secrets.PYPI_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2d17663..4c91e38 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,24 +1,32 @@ name: release on: - release: + workflow_run: + workflows: + - test + branches: + - master types: - - released + - completed jobs: release: runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + permissions: + contents: write + issues: write + pull-requests: write steps: - - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.x' - - name: Install dependencies - run: | - python -m pip install --upgrade pip poetry - poetry install - - name: Build and publish - run: | - poetry build - poetry publish -u __token__ -p ${{ secrets.PYPI_TOKEN }} + - uses: actions/checkout@v6 + - uses: codfish/semantic-release-action@v4 + with: + additional-packages: | + [ + '@covage/semantic-release-pyproject-plugin', + '@semantic-release/changelog', + '@semantic-release/git', + '@semantic-release/github' + ] + env: + GH_TOKEN: ${{ secrets.RELEASE_BOT_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6a2a8eb..407cbe5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,30 +10,35 @@ on: - master jobs: + pre-commit-hooks: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - name: Setup python + uses: actions/setup-python@v6 + with: + python-version: '3.x' + - name: Install poetry + run: pip install poetry + - name: Install dependencies + run: poetry install --no-root --only pre-commit + - name: Run pre-commit hooks + run: poetry run pre-commit run --hook-stage merge-commit --all-files + test: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.9', '3.10', '3.11', '3.12'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] steps: - - uses: actions/checkout@v2 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install poetry - poetry install --no-root - - name: Run pre-commit hooks - run: poetry run pre-commit run --hook-stage merge-commit --all-files - - name: Run tests - run: PYTHONPATH="$(pwd):$PYTHONPATH" poetry run py.test --cov=generic_connection_pool --cov-report=xml tests - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v1 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: ./coverage.xml - flags: unittests - fail_ci_if_error: true + - uses: actions/checkout@v6 + - name: Setup python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + - name: Install poetry + run: pip install poetry + - name: Install dependencies + run: poetry install --no-root --all-extras + - name: Run tests + run: PYTHONPATH="$(pwd):$PYTHONPATH" poetry run pytest tests diff --git a/.mypy.ini b/.mypy.ini new file mode 100644 index 0000000..0958ebc --- /dev/null +++ b/.mypy.ini @@ -0,0 +1,11 @@ +[mypy] +python_version = 3.12 +allow_redefinition = true +disallow_any_generics = true +disallow_incomplete_defs = true +disallow_untyped_decorators = false +disallow_untyped_defs = true +no_implicit_optional = true +show_error_codes = true +strict_equality = true +warn_unused_ignores = true diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 62481f9..dbd4b84 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,54 +1,65 @@ default_stages: - - commit - - merge-commit + - pre-commit + - pre-merge-commit repos: + - repo: https://github.com/commitizen-tools/commitizen + rev: v4.16.3 + hooks: + - id: commitizen + stages: + - commit-msg - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v6.0.0 hooks: - id: check-yaml - id: check-toml - id: trailing-whitespace - id: end-of-file-fixer stages: - - commit + - pre-commit - id: mixed-line-ending name: fix line ending stages: - - commit + - pre-commit args: - --fix=lf - id: mixed-line-ending name: check line ending stages: - - merge-commit + - pre-merge-commit args: - --fix=no + - id: no-commit-to-branch + stages: + - pre-commit + args: + - --branch=master - repo: https://github.com/asottile/add-trailing-comma - rev: v3.1.0 + rev: v4.0.0 hooks: - id: add-trailing-comma stages: - - commit - - repo: https://github.com/pre-commit/mirrors-autopep8 - rev: v2.0.4 + - pre-commit + - repo: https://github.com/hhatto/autopep8 + rev: v2.3.2 hooks: - id: autopep8 stages: - - commit + - pre-commit args: - --diff - repo: https://github.com/pycqa/flake8 - rev: 6.1.0 + rev: 7.3.0 hooks: - id: flake8 - repo: https://github.com/pycqa/isort - rev: 5.12.0 + rev: 9.0.0a3 hooks: - id: isort name: fix import order stages: - - commit + - pre-commit args: - --line-length=120 - --multi-line=9 @@ -56,18 +67,18 @@ repos: - id: isort name: check import order stages: - - merge-commit + - pre-merge-commit args: - --check-only - --line-length=120 - --multi-line=9 - --project=generic_connection_pool - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.5.1 + rev: v2.1.0 hooks: - id: mypy stages: - - commit + - pre-commit name: mypy pass_filenames: false additional_dependencies: diff --git a/.releaserc.yaml b/.releaserc.yaml new file mode 100644 index 0000000..98cb78e --- /dev/null +++ b/.releaserc.yaml @@ -0,0 +1,20 @@ +branches: + - "master" +plugins: + - "@semantic-release/commit-analyzer" + - "@semantic-release/release-notes-generator" + - "@covage/semantic-release-pyproject-plugin" + + - - "@semantic-release/changelog" + - changelogFile: "CHANGELOG.md" + + - - "@semantic-release/git" + - assets: + - "CHANGELOG.md" + - "pyproject.toml" + message: |- + chore(release): ${nextRelease.version} + + ${nextRelease.notes} + + - "@semantic-release/github" diff --git a/pyproject.toml b/pyproject.toml index e7c6a48..ed28269 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,8 +1,10 @@ -[tool.poetry] +[project] name = "generic-connection-pool" version = "0.7.0" description = "generic connection pool" -authors = ["Dmitry Pershin "] +authors = [ + {name = "Dmitry Pershin",email = "dapper1291@gmail.com"} +] license = "Unlicense" readme = "README.rst" homepage = "https://github.com/dapper91/generic-connection-pool" @@ -24,49 +26,42 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] +requires-python = ">=3.10" -[tool.poetry.dependencies] -python = ">=3.9" -psycopg2 = {version = ">=2.9.5", optional = true} -asyncpg = {version = "^0.29.0", optional = true} - -furo = {version = "^2023.7.26", optional = true} -Sphinx = {version = "^6.2.1", optional = true} -sphinx_design = {version = "^0.5.0", optional = true} -toml = {version = "^0.10.2", optional = true} -sphinx-copybutton = {version = "^0.5.2", optional = true} - -[tool.poetry.extras] -psycopg2 = ["psycopg2"] -asyncpg = ["asyncpg"] -docs = ['Sphinx', 'sphinx_design', 'sphinx-copybutton', 'furo', 'toml'] +dependencies = [ +] -[tool.poetry.dev-dependencies] -pre-commit = "^3.3.3" -mypy = "^1.4.1" -pytest = "^7.4.0" -pytest-asyncio = "^0.21.1" -pytest-mock = "^3.11.1" -pytest-cov = "^4.1.0" -types-psycopg2 = "^2.9.21" -pytest-timeout = "^2.1.0" -asyncpg-stubs = {version = "^0.29.0", python = ">=3.9,<4.0"} +[project.optional-dependencies] +psycopg2 = ["psycopg2 (>=2.9.5)"] +asyncpg = ["asyncpg (>=0.29.0)"] [build-system] -requires = ["poetry-core>=1.0.0"] +requires = ["poetry-core>=2.0.0,<3.0.0"] build-backend = "poetry.core.masonry.api" - -[tool.mypy] -allow_redefinition = true -disallow_incomplete_defs = true -disallow_any_generics = true -disallow_untyped_decorators = true -disallow_untyped_defs = true -no_implicit_optional = true -show_error_codes = true -strict_equality = true -warn_unused_ignores = true +[dependency-groups] +dev = [ + "mypy (>=2.1.0,<3.0.0)", + "pytest (>=9.0.3,<10.0.0)", + "pytest-asyncio (>=1.4.0,<2.0.0)", + "pytest-mock (>=3.15.1,<4.0.0)", + "pytest-cov (>=7.1.0,<8.0.0)", + "pytest-timeout (>=2.4.0,<3.0.0)", + "types-psycopg2 (>=2.9.21,<3.0.0)", + "asyncpg-stubs (>=0.31.2,<0.32.0) ; python_version >= \"3.9\" and python_version < \"4.0\"" +] +docs = [ + "toml (>=0.10.2,<0.11.0)", + "sphinx (>=6.2.1,<7.0.0)", + "sphinx-copybutton (>=0.5.2,<0.6.0)", + "sphinx-design (>=0.5.0,<0.6.0)", + "furo (>=2023.7.26,<2024.0.0)" +] +pre-commit = [ + "pre-commit (>=4.6.0,<5.0.0)" +] From 23acb24d6711bedb6f38df8e2c651132fcf58d65 Mon Sep 17 00:00:00 2001 From: Dmitry Pershin Date: Sat, 6 Jun 2026 21:52:03 +0500 Subject: [PATCH 2/3] test: test certificate updated. --- tests/resources/ssl.cert | 45 +++++++++++++++--------- tests/resources/ssl.key | 76 ++++++++++++++++++++++++++-------------- 2 files changed, 79 insertions(+), 42 deletions(-) diff --git a/tests/resources/ssl.cert b/tests/resources/ssl.cert index ca9feee..3c97148 100644 --- a/tests/resources/ssl.cert +++ b/tests/resources/ssl.cert @@ -1,18 +1,31 @@ -----BEGIN CERTIFICATE----- -MIIC2DCCAcACCQCPGAEZ/izmXDANBgkqhkiG9w0BAQsFADAuMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0yMzAzMTYxNjMx -NDhaFw0yNTEyMTAxNjMxNDhaMC4xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTES -MBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAvLSFc4DafQ2zrU+05P0PGlGjDeab9zXfVZmbEziNQ/8V+RtvmwFw9aENJtRv -IsehZgz505hmTbBtsVPGA3F9MUjBRyMD25ztPxMTA8jQ5xtKhXECErVQ2AmgHHSD -mEWa9S7/Mcu8Ld5dL2lqFsJTG/GjlHcmRMzCHfNKrDQuXeucsNm1mWRlMZ/eK/bj -n+RkeBAKaAN4khVV7UAFeIaISTuD4cUVfv14spB2UV3nmezATXmbR9YCOM91us8Y -rJP3XMJ/vgWVRofDqGCZM9Fs5WlpSbl4/Fei/zDIS/5p6moukpEWNRuV3pN9WI+Q -ciwWbCMwITOmMCXVelRuPpXefwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBOb+jT -Tseengdf+J7XI4CYtrPoCf9OPZrZHRZcU/d7y04OZpiBin7thBkOsfhESVRABpKN -UhAWtfgnF43Pbxm1l6jg6SbTIwaQ8kXXu+Cx/RaVVCAek5GDStFNSj3ZMsnGrFOO -wtsYoHBLSO11mOu+VcfCbzUqGBaGGLbXySSBx0uwkcSo+Qa5NVXLk54mmWrg84nE -HjdbWTVj+UrSWkJ/9G1bjl1QeKfT9gwusSDKsLiN5QUCVKFjNaARxJ5SDbrxaTmL -1391HGjt1zclDmnypokj56Wkj+HOkUKohC11b1Kgsxl8/Ykyntz89OAj0Vv17xYa -LjQZuCWYlln6S9+S +MIIFVTCCAz2gAwIBAgIUFRrzVUEcRJAlgpmvROyGw2l+9RMwDQYJKoZIhvcNAQEL +BQAwOTELMAkGA1UEBhMCUlUxCjAIBgNVBAgMASAxCjAIBgNVBAoMASAxEjAQBgNV +BAMMCWxvY2FsaG9zdDAgFw0yNjA2MDYxNjUwNTRaGA8yMTI2MDUxMzE2NTA1NFow +OTELMAkGA1UEBhMCUlUxCjAIBgNVBAgMASAxCjAIBgNVBAoMASAxEjAQBgNVBAMM +CWxvY2FsaG9zdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANO1xRtE +E3vLipDLgvpP0KUOP0ync1XlXFJM8OUauGuXinZGSFXVuCJFRtFAmTYien/PFW8w +5wur/wevDTCrb8TA9hYHvBHT8+HkOcMv/rpJhu7DIn2kQu2TcCdk6zB/OwawBGvp +IBU4Vgd+dmFAaYoYzCGaMG5knmo1F4Brwp51LGlPQs8+0qh5BMuQ34vID2TcYHlF +pzmaa7R63M63MfUbC9zBln1Hv7Y0ZgytSgoLCzxw3aUrWNZ/NwpAnw55MOaWUKlo +YSTTbAYBdw6ki5VDcenBkGK10gGlPvdleRCiRMm91koh25k5y/sUoIBRtwrp0aAE +pHO17VpgUfKAQSSn0cCSFGKBtSilr6x70ripPzd6TYxyA5xrKnCFO2Ltjb99LTW2 +WkNMyJYKatGYI0Jz4I0OvYmAATLJ/X/jCuyqViG3q650lDgqqsYJo149U69K++2M +0QYb+s1AejFmckAcrDwB8gDb+ruqlRfy49tb10fxtQyy6symo2/Kw0WcMLBixSek +mCg8TGfH+2U1xXyCQsBC2u7Jobn6pzL1sSvDR96diZQmkP75fqaKzXCDHEy5ZOys +MgiSX7qTNKA/LFYAQ3SvPzGrKK3gAguUttuvRuTK0Qh1DjUoml5XbekuCxQeZLfn ++Rj4uKxe4OTgQ6JBOjxVVm/t+99rNa4/iPixAgMBAAGjUzBRMB0GA1UdDgQWBBQZ +pXCiveZdrU/7LyMptgAUFp4aUzAfBgNVHSMEGDAWgBQZpXCiveZdrU/7LyMptgAU +Fp4aUzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQBw7XjPUAak +V8EAXHAxCUUY7eu34OT3DUsdux5gagJ1QTdNtN/eOi68yxQZ/qHeDVfPQhVBO2yB +kkHHYbyBmVgfk21wKRK+VUuUvyMSfZeCpzDVpxJo9YOECp12phVywoLPjnGeRExx +GN8E7Qo6XSU59B77eD1Te7Vu50qsdNeAUkkj36W6VKvOWlspqQh5AcQp90PE9WSW +Jucpq782tQm9Jt7D12GcJcd9cSS29XQbikrmYxCO3r8nQ3lA6+Dvsi48MCnIo2kf +1ADqe25hir0sFjO9nAjOP4gPvjxA3iNlqO5fZsYl1Ax+d0x1KYqN+3eOkyRW3HU2 +Cjq7ko6t6Mc9heMp8PZHyOPM+vYVtRmnp8b82oHabvjyL01KTknSsmu4liErLOBa +vnSJcS4EO7iyqyOEx2m6UmrGZuM2REuvP8Jp20mYxo/pwULI5RBpSF6dNA/ribgK +v7E11vKMmWUyhY/d8bJr4MTJtMdEIadksFbZrm1BaRy5GejxboSuj2onX0b+Fosc +PjJEAH3Z9PREyK1SYW6HIQS5zVwptkqpQcGdfJ5zlO9QZAHC8zE6HHF31wSxluZe +gZmyDSknESzq8bVGkeY6DZ4kxZwzGsP7fOSBJZ7rur1VZ8fKel6YTuyYSZGBspP+ +VfyNKsQ2hMkxR9lSDyN8llwyGX+k9QBqrA== -----END CERTIFICATE----- diff --git a/tests/resources/ssl.key b/tests/resources/ssl.key index c5491f4..83ac777 100644 --- a/tests/resources/ssl.key +++ b/tests/resources/ssl.key @@ -1,28 +1,52 @@ -----BEGIN PRIVATE KEY----- -MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC8tIVzgNp9DbOt -T7Tk/Q8aUaMN5pv3Nd9VmZsTOI1D/xX5G2+bAXD1oQ0m1G8ix6FmDPnTmGZNsG2x -U8YDcX0xSMFHIwPbnO0/ExMDyNDnG0qFcQIStVDYCaAcdIOYRZr1Lv8xy7wt3l0v -aWoWwlMb8aOUdyZEzMId80qsNC5d65yw2bWZZGUxn94r9uOf5GR4EApoA3iSFVXt -QAV4hohJO4PhxRV+/XiykHZRXeeZ7MBNeZtH1gI4z3W6zxisk/dcwn++BZVGh8Oo -YJkz0WzlaWlJuXj8V6L/MMhL/mnqai6SkRY1G5Xek31Yj5ByLBZsIzAhM6YwJdV6 -VG4+ld5/AgMBAAECggEAfZ7/KAEjchRpBHsHRVlhcHfgQCTAtzVZ07ZKEeWXxShP -DGJDTcEL3bi09KB+y3xx6WnB9iaCFD3bCC1oqGoomWKBqEWbD9vL5C1ifyZ0SyVT -2rl8U8/4XZkqyUaXRAsyOP5sTE4Am9hn2GQoh7YddYDLEM6w3yQgJagMkc66/zHx -f3oqFPx7BcbB6VDTIpjxawc6k4A1C5ApDJG9udIA1aptYkJhpbQsHjxTSmW3oo4e -awwOr5JnPuPT03mzVtA4euuoqHROmFUt3Yhz/SVPCQ64cBARP6/i8WdWG3hV9JcI -DG0IoQ9XMQqobWRnThtytV4OPiG8gUhCCX+GMk8iYQKBgQDiP3oeGcwrJbLKLWkj -0N4mpgTtRzaoeBRE9j4PSElwcvidJY6b10oeqSXEN6yKxfsPIZojiu9CdyfHXE3N -pX4dB4DpBZnAEEJzDoUQFtWcFHNnoFzfYWwtnTU/NaSVmAdJ7uhXaGw2F3QoBgUd -IPDCOs9wCesd3v1KjrpO4RnKcwKBgQDVhS9fdEo7ZQkgwyHTgR+FFEB0Trd/dLyS -5Z9kjWu2+TDVht09B0+6uU6dgAtu2idXaSpCmfJHw6fOV0paogtpjyKh/GNXhSie -xH22YTTrgzbTOCJEN+9o43WoqbxIVZiXZhyFupbGXjgKMODX/m7L3gwGVsvil8dU -PuRdFWWcxQKBgHVqtBnDEa6i1fMPNi2cTG6KYqwx9S/hgcN4eCS+Qz7UrCoCP8yp -IpJe/nai3iz3KqBjs/cWN62q4T4ZrVc4uAagykok2fJPfezwcCY1c46ZHnt9QjW7 -/cR+fg/b6xqn18CK+JHEY8R+z42l8il32vsyQk3HF/pcq99xy0b8k8H5AoGAHa1e -UUEjlC/N3fzhNbmLvP58mu3Z+WArWauKxPoXD56BGByfoXzjqwtYjvGeJTEzKKYY -Vpt5Hlpmd3qQfhppxak8YhFnaWG7rJ2Y74GBTn61XxQ9RwgTQZvj3aaB4ffrtpdd -vYSaskWkOl5i0gKuOa3KNBNaUUtRTDdVnE5+ChUCgYAprsJ8CyTMldg3K8UfURkN -7VHBKRJB6txx3Ud7Imixxyjl1cBNT9feq3TOqd3PEhpYI1Xei+yjglxRq5dfBDeh -7u0ZXy9nT4njaTXO8AK96zIb3ZjmOl5VZJ9Nnox7O34cWKp3wGKQx7uAGNfBRmuq -ZSahWVs86vOvxf04/o5vNA== +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 +bFKMnJrJgyGdhTKdpB4I1Gofj5IS -----END PRIVATE KEY----- From f6849064a8c34fc989dcbf791794d9cc0bba16a4 Mon Sep 17 00:00:00 2001 From: Dmitry Pershin Date: Sat, 6 Jun 2026 23:03:56 +0500 Subject: [PATCH 3/3] docs: sphinx version upgraded. --- CHANGELOG.md | 81 +++++++++++++++++++++++++++++++++ CHANGELOG.rst | 64 -------------------------- docs/source/conf.py | 5 +- docs/source/pages/changelog.rst | 6 ++- pyproject.toml | 7 +-- 5 files changed, 93 insertions(+), 70 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 CHANGELOG.rst diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..68fd2a2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,81 @@ +# 0.7.0 (2023-12-09) + + +### Features + +* asyncpg connection manager added. + + +# 0.6.1 (2023-10-06) + + +### Bug Fixes + +* some refactoring done. + + +# 0.6.0 (2023-10-05) + + +### Features + +* python 3.12 support added. + + +# 0.5.0 (2023-08-17) + + +### Features + +* unix socket managers implemented. + + +# 0.4.1 (2023-08-16) + + +### Bug Fixes + +* aliveness checking extracted to mixins. + + +# 0.4.0 (2023-08-15) + + +### Features + +* socket connection manager aliveness check added. +* shared lock bug fixed. + + +# 0.3.0 (2023-08-10) + + +### Features + +* refactoring done. + + +# 0.2.0 (2023-04-19) + + +### Features + +* socket_timeout contex manager works with ssl sockets. +* graceful_timeout default set to 0. +* connection release bug fixed. + + +# 0.1.1 (2023-03-17) + + +### Bug Fixes + +* Contrib bugs fixed. + + +# 0.1.0 (2023-03-15) + + +### Features + +* Initial release. diff --git a/CHANGELOG.rst b/CHANGELOG.rst deleted file mode 100644 index dfc8d96..0000000 --- a/CHANGELOG.rst +++ /dev/null @@ -1,64 +0,0 @@ -Changelog -========= - -0.7.0 (2023-12-09) ------------------- - -- asyncpg connection manager added. - - -0.6.1 (2023-10-06) ------------------- - -- some refactoring done. - - -0.6.0 (2023-10-05) ------------------- - -- python 3.12 support added. - - -0.5.0 (2023-08-17) ------------------- - -- unix socket managers implemented. - - -0.4.1 (2023-08-16) ------------------- - -- aliveness checking extracted to mixins. - - -0.4.0 (2023-08-15) ------------------- - -- socket connection manager aliveness check added -- shared lock bug fixed - - -0.3.0 (2023-08-10) ------------------- - -- refactoring done. - - -0.2.0 (2023-04-19) ------------------- - -- socket_timeout contex manager works with ssl sockets. -- graceful_timeout default set to 0. -- connection release bug fixed. - - -0.1.1 (2023-03-17) ------------------- - -- Contrib bugs fixed - - -0.1.0 (2023-03-15) ------------------- - -- Initial release diff --git a/docs/source/conf.py b/docs/source/conf.py index 5640ed6..9b3b262 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -16,17 +16,18 @@ sys.path.insert(0, str(ROOT_PATH)) PYPROJECT = toml.load(ROOT_PATH / 'pyproject.toml') -PROJECT_INFO = PYPROJECT['tool']['poetry'] +PROJECT_INFO = PYPROJECT['project'] project = PROJECT_INFO['name'] copyright = f"2023, {PROJECT_INFO['name']}" -author = PROJECT_INFO['authors'][0] +author = PROJECT_INFO['authors'][0]['name'] release = PROJECT_INFO['version'] # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration extensions = [ + 'myst_parser', 'sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', diff --git a/docs/source/pages/changelog.rst b/docs/source/pages/changelog.rst index 29e651c..34e4bce 100644 --- a/docs/source/pages/changelog.rst +++ b/docs/source/pages/changelog.rst @@ -1,3 +1,7 @@ .. _changelog: -.. include:: ../../../CHANGELOG.rst +Changelog +~~~~~~~~~ + +.. include:: ../../../CHANGELOG.md + :parser: myst_parser.sphinx_ diff --git a/pyproject.toml b/pyproject.toml index ed28269..a155c85 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,10 +57,11 @@ dev = [ ] docs = [ "toml (>=0.10.2,<0.11.0)", - "sphinx (>=6.2.1,<7.0.0)", + "sphinx-design (>=0.6.0,<0.7.0)", + "myst-parser (>=4.0.0,<5.0.0)", + "sphinx (>=8.0.0,<9.0.0)", "sphinx-copybutton (>=0.5.2,<0.6.0)", - "sphinx-design (>=0.5.0,<0.6.0)", - "furo (>=2023.7.26,<2024.0.0)" + "furo (>=2025.12.19,<2026.0.0)", ] pre-commit = [ "pre-commit (>=4.6.0,<5.0.0)"