Repository navigation
Conversation
Before diving into any of the patterns, readers should be reminded of two fundamental laws in software architecture: 1.Everything is a trade-ff 2."Why is more important than the how" So, readers face the nuances and reality of these patterns from the beginning. These two laws are coined by two thought leaders in software architecture: Mark Richards and Neal Ford. They have explained these two laws in various conference talks and books. For example, Here you can read about these two laws here: https://www.infoq.com/podcasts/software-architecture-hard-parts/ Also, here is a book for reference: https://a.co/d/fKOodW9
Update README.md
simplify patterns/behavioral/memento, changing Transactional from des…
Added routing
Lint sh cleanup
Remove mutable.ai references
- It's required to capture the args/kwargs when called at run time. - Fix doctest output to include hints
Highlight the need for a wrapper in delegate
Co-authored-by: Sakis Kasampalis <faif@users.noreply.github.com>
* docs: add mermaid diagrams * Update README.md * docs: add mermaid diagrams * docs: add mermaid diagrams * docs: add mermaid diagrams * docs: add mermaid diagrams * docs: add mermaid diagrams
* Switch development dependencies to Pipenv lockfile - add Pipfile and Dependabot-compatible Pipfile.lock - update lint, tox, CI, Travis, and Makefile workflows - support Python 3.10 through 3.14 - remove the pip-tools requirements lockfile - standardize linting, type checking, and tests * Streamline GitHub Actions CI workflow - consolidate duplicate lint and PR workflows - run strict linting, type checking, and tests - test against Python 3.10 through 3.14 - install dependencies from Pipfile.lock - add caching, timeouts, minimal permissions, and concurrency control - remove ignored failures and fragile changed-file logic
Bumps [pipx](https://github.com/pypa/pipx) from 1.16.2 to 1.16.5. - [Release notes](https://github.com/pypa/pipx/releases) - [Changelog](https://github.com/pypa/pipx/blob/main/docs/changelog.rst) - [Commits](pypa/pipx@1.16.2...1.16.5) --- updated-dependencies: - dependency-name: pipx dependency-version: 1.16.5 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v6...v7) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [isort](https://github.com/PyCQA/isort) from 8.0.1 to 9.0.1. - [Release notes](https://github.com/PyCQA/isort/releases) - [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md) - [Commits](PyCQA/isort@8.0.1...9.0.1) --- updated-dependencies: - dependency-name: isort dependency-version: 9.0.1 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [build](https://github.com/pypa/build) from 1.5.0 to 1.6.0. - [Release notes](https://github.com/pypa/build/releases) - [Changelog](https://github.com/pypa/build/blob/main/CHANGELOG.rst) - [Commits](pypa/build@1.5.0...1.6.0) --- updated-dependencies: - dependency-name: build dependency-version: 1.6.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pipx](https://github.com/pypa/pipx) from 1.16.5 to 1.17.1. - [Release notes](https://github.com/pypa/pipx/releases) - [Changelog](https://github.com/pypa/pipx/blob/main/docs/changelog.rst) - [Commits](pypa/pipx@1.16.5...1.17.1) --- updated-dependencies: - dependency-name: pipx dependency-version: 1.17.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [tox](https://github.com/tox-dev/tox) from 4.58.0 to 4.61.1. - [Release notes](https://github.com/tox-dev/tox/releases) - [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst) - [Commits](tox-dev/tox@4.58.0...4.61.1) --- updated-dependencies: - dependency-name: tox dependency-version: 4.61.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [mypy](https://github.com/python/mypy) from 2.3.0 to 2.3.1. - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](python/mypy@v2.3.0...v2.3.1) --- updated-dependencies: - dependency-name: mypy dependency-version: 2.3.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@v6...v7) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pipx](https://github.com/pypa/pipx) from 1.17.1 to 1.17.2. - [Release notes](https://github.com/pypa/pipx/releases) - [Changelog](https://github.com/pypa/pipx/blob/main/docs/changelog.rst) - [Commits](pypa/pipx@1.17.1...1.17.2) --- updated-dependencies: - dependency-name: pipx dependency-version: 1.17.2 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pytest-randomly](https://github.com/pytest-dev/pytest-randomly) from 4.1.0 to 5.0.0. - [Changelog](https://github.com/pytest-dev/pytest-randomly/blob/main/CHANGELOG.rst) - [Commits](pytest-dev/pytest-randomly@4.1.0...5.0.0) --- updated-dependencies: - dependency-name: pytest-randomly dependency-version: 5.0.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [tox](https://github.com/tox-dev/tox) from 4.61.1 to 4.61.2. - [Release notes](https://github.com/tox-dev/tox/releases) - [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst) - [Commits](tox-dev/tox@4.61.1...4.61.2) --- updated-dependencies: - dependency-name: tox dependency-version: 4.61.2 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [build](https://github.com/pypa/build) from 1.6.0 to 1.6.1. - [Release notes](https://github.com/pypa/build/releases) - [Changelog](https://github.com/pypa/build/blob/main/CHANGELOG.rst) - [Commits](pypa/build@1.6.0...1.6.1) --- updated-dependencies: - dependency-name: build dependency-version: 1.6.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [tox](https://github.com/tox-dev/tox) from 4.61.2 to 4.61.4. - [Release notes](https://github.com/tox-dev/tox/releases) - [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst) - [Commits](tox-dev/tox@4.61.2...4.61.4) --- updated-dependencies: - dependency-name: tox dependency-version: 4.61.4 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#495) The pool key concatenated str(arg) with no separator, so Card2('1', '0') and Card2('10') (or Card2(1) and Card2('1')) got the same key and the second call returned the first call's instance. Use repr of the class name, args and sorted kwargs instead, which also makes the key independent of kwarg order. Add tests, since the module had none. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Bumps [tox](https://github.com/tox-dev/tox) from 4.61.4 to 4.63.0. - [Release notes](https://github.com/tox-dev/tox/releases) - [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst) - [Commits](tox-dev/tox@4.61.4...4.63.0) --- updated-dependencies: - dependency-name: tox dependency-version: 4.63.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump pipx from 1.17.2 to 1.17.5 Bumps [pipx](https://github.com/pypa/pipx) from 1.17.2 to 1.17.5. - [Release notes](https://github.com/pypa/pipx/releases) - [Changelog](https://github.com/pypa/pipx/blob/main/docs/changelog.rst) - [Commits](pypa/pipx@1.17.2...1.17.5) --- updated-dependencies: - dependency-name: pipx dependency-version: 1.17.5 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Fix filelock and virtualenv dependency conflict * Update filelock for tox compatibility --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sakis Kasampalis <s.kasampalis@zoho.com> Co-authored-by: Sakis K <faif@users.noreply.github.com>
Bumps [pipx](https://github.com/pypa/pipx) from 1.17.5 to 1.17.7. - [Release notes](https://github.com/pypa/pipx/releases) - [Changelog](https://github.com/pypa/pipx/blob/main/docs/changelog.rst) - [Commits](pypa/pipx@1.17.5...1.17.7) --- updated-dependencies: - dependency-name: pipx dependency-version: 1.17.7 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [flake8](https://github.com/pycqa/flake8) from 7.3.0 to 7.4.1. - [Commits](PyCQA/flake8@7.3.0...7.4.1) --- updated-dependencies: - dependency-name: flake8 dependency-version: 7.4.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [tox](https://github.com/tox-dev/tox) from 4.63.0 to 4.64.4. - [Release notes](https://github.com/tox-dev/tox/releases) - [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst) - [Commits](tox-dev/tox@4.63.0...4.64.4) --- updated-dependencies: - dependency-name: tox dependency-version: 4.64.4 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…edges (#506) find_shortest_path_bfs indexed self.graph[value] directly while expanding the queue. Any node reachable in the graph but not present as a key (a leaf node with no outgoing edges, as in a typical adjacency list) raised a KeyError instead of being treated as having no neighbors. The DFS methods already handle this correctly via self.graph.get(start, []); bring BFS in line with that and add a regression test.
Bumps [pipx](https://github.com/pypa/pipx) from 1.17.7 to 1.17.11. - [Release notes](https://github.com/pypa/pipx/releases) - [Changelog](https://github.com/pypa/pipx/blob/main/docs/changelog.rst) - [Commits](pypa/pipx@1.17.7...1.17.11) --- updated-dependencies: - dependency-name: pipx dependency-version: 1.17.11 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [isort](https://github.com/PyCQA/isort) from 9.0.1 to 9.0.2. - [Release notes](https://github.com/PyCQA/isort/releases) - [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md) - [Commits](PyCQA/isort@9.0.1...9.0.2) --- updated-dependencies: - dependency-name: isort dependency-version: 9.0.2 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [tox](https://github.com/tox-dev/tox) from 4.64.4 to 4.64.8. - [Release notes](https://github.com/tox-dev/tox/releases) - [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst) - [Commits](tox-dev/tox@4.64.4...4.64.8) --- updated-dependencies: - dependency-name: tox dependency-version: 4.64.8 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [black](https://github.com/psf/black) from 26.5.1 to 26.10.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](psf/black@26.5.1...26.10.0) --- updated-dependencies: - dependency-name: black dependency-version: 26.10.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [mypy](https://github.com/python/mypy) from 2.3.1 to 2.4.0. - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](python/mypy@v2.3.1...v2.4.0) --- updated-dependencies: - dependency-name: mypy dependency-version: 2.4.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…507) Bumps the pip group with 1 update in the / directory: [urllib3](https://github.com/urllib3/urllib3). Updates `urllib3` from 2.7.0 to 2.8.0 - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@2.7.0...2.8.0) --- updated-dependencies: - dependency-name: urllib3 dependency-version: 2.8.0 dependency-type: indirect dependency-group: pip ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )