Skip to content

Conversation

pull[bot]
Copy link

@pull pull bot commented May 19, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label May 19, 2024
azarboon and others added 18 commits June 11, 2024 13:29
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
simplify patterns/behavioral/memento, changing Transactional from des…
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
cdorsman and others added 27 commits May 3, 2025 15:05
- Changed __init__ in AbstractExpert to abstract method

- Added comments
* Removed old Python versions

* Removed 3.10 from tox and upgraded requirements-dev.txt becasue of higher versions in lint.sh

* 3.13 changed to 3.12

* Adjusted lint_python workflow

Upgraded flake8 to 7.1

* Added  continue-on-error: true. So that if the workflow stop comes in error, it will continue.

* Added workflow to check per PR

* Moved workflow

* Changed name workflow

* Changed job name

* Added approval for non-Python files and  removed continue-on-error

* Optimzed lint_pr.yml

* Added fix for PyTest

* Let pytest only test on changed python design patterns

* Optimized Tox

* Allow tox execute it's checks

* Tox optimization 2

* Optimized check

* Ignore setup.py from linting unless it is changes

* Fixed bug

* Testing a idea

* Revert idea

* added __init__.py to tests/ for tox

* Let tox only test on Python files that are in the PR.

* Adjusted .coveragerc

* added usedevelop = true to tox.ini

* Change cov from patterns to main

* Rewrote check.

* retry fixing coverage

* Change cov to main

* Added coverage run to execute pytest

* changed cov to patterns

* created pyproject.toml and moved old config to backup folder

* Testing

* Changed opts to doctest

* Fix for error Unknown config option: randomly_seed

* Trying fix for No data was collected. (no-data-collected)

* Changed source from patterns to ./

* Changed source from patterns to ./
* Removed old Python versions

* Added typing

* Fixed bug

* Removed bugs and added more types

* Fixed bug on check if controller is defined

* removed object definition from routes

* I fixed a bug

* Ädded comments and lost types

* Fixed types for Router

* Fixed lines

* yeah sure

* List dammit!

* .

* oops

* .
* Migrates to pyproject.toml

Switches the build system from setup.py to pyproject.toml.

This change standardizes the project's build configuration,
improves dependency management, and prepares the project for
future enhancements.
Removes unused requirements file.

* Updates minimum Python version

Corrects the minimum Python version specified in pyproject.toml.

The project now requires Python 3.10 or higher.

* Uses installable package for dev dependencies

Updates the installation of development dependencies in the linting workflow to use the installable package.

This simplifies dependency management and aligns with standard Python packaging practices.

* Adds pyupgrade as a dev dependency

Adds `pyupgrade` to the development dependencies.
This enables developers to automatically upgrade Python syntax
to more modern versions, improving code maintainability
and readability.
* Add docstring for Servant behavioral design pattern

* Implement Servant class

* Add docstest examples

* Add testing for Servant class

* Use fixtures for circle and rectangle
Use ellipsis replace pass to avoid potential warning:
```
	"resource": "/d:/Github/Python/python-patterns/patterns/creational/factory.py",
	"owner": "pylance4",
		"value": "reportReturnType",
			"path": "/microsoft/pylance-release/blob/main/docs/diagnostics/reportReturnType.md",
	"severity": 8,
	"message": "Function with declared return type \"str\" must return value on all code paths\n  \"None\" is not assignable to \"str\"",
	"source": "Pylance",
	"startLineNumber": 29,
	"startColumn": 37,
	"endLineNumber": 29,
	"endColumn": 40,
	"origin": "extHost1"
}]
```

Using VS Code with Pylance, Python debugger, and Black Formatter.
* Remove pluggable-libs submodule and cleanup (#433)

* Fix GitHub Actions output format error for multiline file lists

* Add requirements-dev.txt so CI can install dev dependencies
* Remove pluggable-libs submodule and cleanup (#433)

* Fix GitHub Actions output format error for multiline file lists

* Add requirements-dev.txt so CI can install dev dependencies

---------

Co-authored-by: Sakis Kasampalis <[email protected]>
Co-authored-by: Benjamin Townsend <[email protected]>
Co-authored-by: Sakis Kasampalis <[email protected]>
* Adding typehint

* Update __exit__ type

* fix black formatting

---------

Co-authored-by: Roy, Debakar <[email protected]>
Co-authored-by: Sakis Kasampalis <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.