Skip to content

Commit

Permalink
[NEW] Software Patterns v2.0 - Python3.11 support
Browse files Browse the repository at this point in the history
Software Patterns v2.0.0 Release
  • Loading branch information
boromir674 committed Nov 19, 2022
2 parents d357d6f + ae5f14b commit b56762c
Show file tree
Hide file tree
Showing 18 changed files with 489 additions and 446 deletions.
12 changes: 7 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ executors:
docker:
- image: cimg/openjdk:15.0.1

ubuntu-1604-vm:
ubuntu-2022:
machine:
image: ubuntu-1604:201903-01
image: ubuntu-2004:2022.10.1


commands:
Expand All @@ -36,7 +36,7 @@ commands:
- install-tox
- run:
name: Run unittests & measure code coverage
command: tox -e mypy,clean,build-n-test -vv
command: tox -e type,clean,build-n-test -vv

jobs:
build-test-report:
Expand Down Expand Up @@ -114,7 +114,7 @@ jobs:
java -jar codacy-coverage-reporter-assembly.jar report -l Python -r coverage.xml
send-coverage-to-codecov:
executor: ubuntu-1604-vm
executor: ubuntu-2022
steps:
- attach_workspace:
at: .
Expand Down Expand Up @@ -171,7 +171,7 @@ jobs:
- install-tox
- run:
name: Visualize dependency graphs as .svg files
command: tox -e graphs -vv
command: tox -e pydeps -vv
- store_artifacts:
path: dependency-graphs
destination: dep-graphs
Expand All @@ -193,8 +193,10 @@ workflows:
python_version:
- "3.6.15"
- "3.7.12"
# - "3.8.12" # is the build-test-coverage job
- "3.9.9"
- "3.10"
- "3.11.0"
filters:
branches:
only:
Expand Down
32 changes: 32 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,38 @@
Changelog
=========

2.0.0 (2022-11-19)
==================

Redesign the Proxy pattern so that it is actually usefull for client code.
Now, to use the pattern one need only to import the Proxy (class) type
`from software_patterns import Proxy`

Changes
^^^^^^^

feature
"""""""
- allow flexible adaptation of Proxy pattern with a single entrypoint

refactor
""""""""
- fix type checking with mypy on python3.6
- remove Handler Prototype Pattern
- static type checking with mypy of test code (along with prod code)

ci
""
- update Codecov Job image runner to ubuntu-2004:2022
- enable CI for Python 3.11


breaking
""""""""
- Handler Pattern is no longer supported.
- Removed the ProxySubject type.


1.3.0 (2022-06-10)
==================

Expand Down
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -133,9 +133,9 @@ Example code to use the `factory` pattern in the form of a `(sub) class registry
:alt: PyPI - Python Version
:target: https://pypi.org/project/software-patterns

.. |commits_since| image:: https://img.shields.io/github/commits-since/boromir674/software-patterns/v1.3.0/master?color=blue&logo=Github
.. |commits_since| image:: https://img.shields.io/github/commits-since/boromir674/software-patterns/v2.0.0/master?color=blue&logo=Github
:alt: GitHub commits since tagged version (branch)
:target: https://github.com/boromir674/software-patterns/compare/v1.3.0..master
:target: https://github.com/boromir674/software-patterns/compare/v2.0.0..master



Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
author = 'Konstantinos Lampridis'

# The full version, including alpha/beta/rc tags
release = '1.3.0'
release = '2.0.0'

# -- General configuration ---------------------------------------------------

Expand Down
19 changes: 9 additions & 10 deletions docs/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,27 @@ Introduction

In these documentation pages we present the `software_patterns` Python package and the motivation
for publishing it. The package currently host only a handful of software patterns, but they come with
a test suite and full CI for local and remote integrations.
a test suite and full CI for local and remote builds.


Why would this project be useful to you?
========================================

To develop your code, while abstracting common software patterns away and focus on important business logic.
------------------------------------------------------------------------------------------------------------

- To promote the DRY prinicipal in your codebase.
- To promote the principal of Single Responsibility in your codebase.
- To promote having Simple Units of Code in your codebase.
- To keep technical debt low in your codebase.

To Learn:
---------

- You may study the source code to find out more about software design patterns.
- You may wanna learn how to make an open source code contribution and find this codebase a good place to start.


To use the python package and its contained software patterns in your project:
------------------------------------------------------------------------------

- To promote good software quality in your python codebase.
- To promote the DRY prinicipal in your client code.
- To promote the principal of Single Responsibility in your client code.
- To promote having Simple Units of Code in your project.


Why use this Python Patterns library?
=====================================

Expand Down
Loading

0 comments on commit b56762c

Please sign in to comment.