Releases: lucas-six/python-cookbook
Releases · lucas-six/python-cookbook
v0.2
What's Changed
- feat: add 'RabbitMQ' recipe. by @lucas-six in #260
- feat: add 'Asyncio Queue' recipe. by @lucas-six in #261
- change GitHub username (domain name) from
leven-cn
tolucas-stack
. by @lucas-six in #264 - feat: add 'Data Classes' and 'FastAPI Project' recipes. by @lucas-six in #272
- feat: add 'Run Command:
subprocess
' recipe. by @lucas-six in #273 - feat: add 'UTC now' recipe. by @lucas-six in #276
- feat: add 'fastapi+mqtt' recipe. by @lucas-six in #281
- feat: add 'type hint for typeddict' recipe. by @lucas-six in #286
- enhancement:
asyncio_coroutine_concurrent
recipe. by @lucas-six in #288 - rm django. by @lucas-six in #297
- bump to Python 3.12. by @lucas-six in #298
- feat: add
uv
recipe. by @lucas-six in #304 - manage project by uv. by @lucas-six in #306
- workflow: move formatting and linting to Ruff. by @lucas-six in #310
- enhancement: add 'uv venv' for uv recipe. by @lucas-six in #324
- enhancement: add 'sqlmodel' for fastapi recipe. by @lucas-six in #325
Full Changelog: v0.1...v0.2
v0.1
What's Changed
- improve Python Logo display. by @leven-cn in #188
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #189
- add more details of 'Type Hint'. by @leven-cn in #191
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #190
- add more details of 'Function Decorator'. by @leven-cn in #192
- add 'Class Decorator' recipe. by @leven-cn in #193
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #194
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #195
- improve 'Type Hint for Union Types' recipe with Python 3.10 support. by @leven-cn in #197
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #196
- upgrade to Python 3.10. by @leven-cn in #198
- upgrade to Python 3.10. by @leven-cn in #200
- move
curl
recipe to 'Linux Cookbook'. by @leven-cn in #201 - improve README for 'Type Hint'. by @leven-cn in #202
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #199
- move 'httpie' recipe to 'Linux Cookbook'. by @leven-cn in #203
- add 'pydantic.mypy' plugin for pyproject.toml. by @leven-cn in #205
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #204
- add pylint linting. by @leven-cn in #207
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #206
- move 'HTTP Range' recipe to Linux Cookbook. by @leven-cn in #208
- move 'HTTP Caching' recipe to Linux Cookbook. by @leven-cn in #209
- move 'URL' recipe to Linux Cookbook. by @leven-cn in #210
- move 'HTTP Basic' details to Linux Cookbook. by @leven-cn in #211
- move 'HTTP Authentication' details to Linux Cookbook. by @leven-cn in #212
- minor fix. by @leven-cn in #214
- simplify 'TCP Connect Timeout' recipes. by @leven-cn in #215
- refactor directory tree. by @leven-cn in #216
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #213
- refactor 'Date and Time'. by @leven-cn in #217
- refactor 'Type Hint'. by @leven-cn in #218
- refactor 'logging'. by @leven-cn in #219
- refactor 'command-line arguments parser'. by @leven-cn in #220
- refactor 'Test'. by @leven-cn in #221
- refactor 'Package Management'. by @leven-cn in #222
- refactor 'URL Parser'. by @leven-cn in #223
- refactor 'Web Development'. by @leven-cn in #224
- refactor 'I/O'. by @leven-cn in #225
- refactor 'Performance Measurement'. by @leven-cn in #226
- improve 'TCP `listen()' Queue'. by @leven-cn in #228
- improve 'TCP Reuse Address'. by @leven-cn in #229
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #227
- improve 'TCP/UDP Reuse Port'. by @leven-cn in #230
- improve 'TCP/UDP Buffer Size'. by @leven-cn in #231
- add 'Deploy with Docker'. by @leven-cn in #232
- improve 'TCP Transmission Timeout'. by @leven-cn in #233
- add 'Redis Sync/Async API'. by @leven-cn in #234
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #235
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #236
- fix lint errors for new pylint and mypy. by @leven-cn in #239
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #240
- add 'Flatten a nested sequence' recipe. by @leven-cn in #241
- minor fix markdownlint. by @leven-cn in #244
- Bump sqlparse from 0.4.3 to 0.4.4 by @dependabot in #242
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #243
- Bump django from 3.2.18 to 3.2.20 by @dependabot in #245
- upgrade to Python 3.11. by @leven-cn in #246
- add 'Python Project' recipe. by @leven-cn in #248
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #247
- refactor: tcp recipes. by @leven-cn in #249
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #250
- improve TCP recipes. by @leven-cn in #251
- add uvicorn recipes. by @leven-cn in #252
- improve asyncio recipes. by @leven-cn in #253
- refactor: TCP recipes. by @leven-cn in #254
- refactor asyncio recipes. by @leven-cn in #257
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #255
- Bump cryptography from 41.0.3 to 41.0.4 by @dependabot in #256
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #258
New Contributors
- @dependabot made their first contribution in #242
Full Changelog: v0.0.2...v0.1
v0.0.2
New Features
Web Development
- HTTP
- WSGI
- Django + PostgreSQL (DB) + Redis (Cache)
What's Changed
- add recipe of 'String Format Specification'. by @leven-cn in #93
- improve recipes on 'Function Decorator'. by @leven-cn in #94
- improve recipe of 'Create Context Manager'. by @leven-cn in #95
- improve recipe of 'Suppress Exceptions'. by @leven-cn in #96
- add 'Type Hint for Literal' recipe. by @leven-cn in #98
- improve 'Multi-Threads' recipe. by @leven-cn in #99
- improve 'Multi-Processes' recipe. by @leven-cn in #100
- add 'Multi-Processes - Queue' recipe. by @leven-cn in #102
- improve 'Process Pool' recipe. by @leven-cn in #103
- improve 'Concurrent' recipes. by @leven-cn in #104
- add 'unittest' recipe. by @leven-cn in #106
- add 'pytest' recipe. by @leven-cn in #108
- add 'Performance Measurement' recipe. by @leven-cn in #111
- add Reference of 'Test Driven Development - By Examples'. by @leven-cn in #112
- add 'Type Hint for namedtuple' recipe. by @leven-cn in #114
- add 'Tuples with Named Fields -
namedtuple
' recipe. by @leven-cn in #116 - add 'Ordered Dictionary - OrderedDict' recipe. by @leven-cn in #118
- add 'URL Parsing - urllib.parse' recipe. by @leven-cn in #120
- add
TCP_NODELAY
. by @leven-cn in #121 - add
TCP_QUICKACK
to TCP recipes. by @leven-cn in #122 - add
tcp_slow_start_after_idle
to sysctl. by @leven-cn in #123 - add 'TCP Keep Alive' to TCP recipes. by @leven-cn in #125
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #124
- add
TCP_SYNCNT
option to TCP recipes. by @leven-cn in #126 - add 'TCP RFC-1337' to TCP recipes. by @leven-cn in #127
- add 'TCP Keep-Alive' recipe. by @leven-cn in #128
- add 'TCP/UDP Reuse Port' recipe. by @leven-cn in #129
- add 'TCP Nodelay' recipe. by @leven-cn in #130
- add 'TCP/UDP Reuse Address' recipe. by @leven-cn in #131
- add 'TCP Quick ACK' recipe. by @leven-cn in #132
- add 'TCP Connect Timeout (Server Side)' recipe. by @leven-cn in #133
- add 'TCP Connect Timeout (Client Side)' recipe. by @leven-cn in #134
- add 'TCP Data Transmission Timeout' recipe. by @leven-cn in #135
- add 'More' for TCP/UDP Reuse Port recipe. by @leven-cn in #136
- add 'OS Level' for 'TCP Keep-Alive' recipe. by @leven-cn in #137
- add more details about 'Endianness'. by @leven-cn in #138
- add 'TCP
listen()
Queue' recipe. by @leven-cn in #139 - add 'TCP/UDP (Recv/Send) Buffer Size' recipe. by @leven-cn in #140
- add 'TCP Slow Start' recipe. by @leven-cn in #141
- add 'TCP RFC 1337 - TIME-WAIT Assassination Hazards (TIME-WAIT 暗杀)' details. by @leven-cn in #142
- add 'TCP SACK' recipe. by @leven-cn in #143
- add 'HTTP Basic' more details. by @leven-cn in #144
- add 'HTTP connection management' details. by @leven-cn in #145
- add 'URL, URI, URN' details. by @leven-cn in #146
- add 'HTTP Caching' recipe. by @leven-cn in #147
- add 'HTTP Authentication' details. by @leven-cn in #148
- add 'HTTP Cookie' details. by @leven-cn in #149
- add
pip
recipe. by @leven-cn in #150 - add
pipx
recipe. by @leven-cn in #151 - add
pipenv
recipe. by @leven-cn in #152 - add 'Universal Newline' recipe. by @leven-cn in #153
- add 'Inheritance of File Descriptor' recipe. by @leven-cn in #154
- add 'ISO 8601 Format' details. by @leven-cn in #155
- add '
with
statement' recipe. by @leven-cn in #156 - add 'Multiple Context Managers' recipe. by @leven-cn in #157
- add 'Context Manager Protocol' recipe. by @leven-cn in #158
- add 'Single Use Context Manager' recipe. by @leven-cn in #159
- add 'Reentrant Context Manager' recipe. by @leven-cn in #160
- add 'Reusable Context Manager' recipe. by @leven-cn in #161
- add 'timezone' recipe. by @leven-cn in #162
- add 'Synchronization Primitives -
Barrier
' recipe. by @leven-cn in #163 - add 'Synchronization Primitives - Reentrant Lock' recipe. by @leven-cn in #164
- add 'Logging Components and Flow' details. by @leven-cn in #165
- add '
socketserver
Class Diagram' recipe. by @leven-cn in #166 - add 'CSRF' detail. by @leven-cn in #167
- add 'HTTP Server (Builtin)' recipe. by @leven-cn in #168
- add 'Representation of Dates and Times - RFC 5822/2822 Format' recipe. by @leven-cn in #169
- add 'HTTP Datetime Format' recipe. by @leven-cn in #170
- add 'HTTP Range Requests' recipe. by @leven-cn in #171
- add 'HTTP Cookie (Server Side)' recipe. by @leven-cn in #172
- add 'HTTP Request (Builtin): urllib.request' recipe. by @leven-cn in #173
- bump Pipenv dependencies. by @leven-cn in #174
- add HTTP Request:
curl
recipe. by @leven-cn in #175 - add HTTP Request (CLI):
httpie
recipe. by @leven-cn in #176 - add Command-Line Arguments Parser:
argparse
,optparse
,getopt
recipe. by @leven-cn in #177 - add WSGI recipe. by @leven-cn in #178
- add 'Django - Quick Start' recipe. by @leven-cn in #179
- add 'PostgreSQL - Setup' recipe. by @leven-cn in #180
- add 'PostgreSQL - Usage' recipe. by @leven-cn in #181
- add 'Django DB: PostgreSQL' recipe. by @leven-cn in #182
- add 'Redis - Setup' recipe. by @leven-cn in #183
- add 'Redis CLI - Basic Usage' recipe. by @leven-cn in #184
- add 'Redis Python API:
redis-py
' recipe. by @leven-cn in #185 - add 'Django Cache - Redis' recipe. by @leven-cn in #186
- add `Django Logging' recipe. by @leven-cn in #187
Full Changelog: v0.0.1...v0.0.2
v0.0.1
Initial release of Python Cookbook, including language core features.
- Function Decorator (函数装饰器)
- Context Manager (上下文管理器)
- Regex Patterns
- Time: Timestamp (UNIX Time), UTC, Local Time
- Representation of Dates and Times
- Type Hint
- Pack/Unpack Binary Data -
struct
- I/O, File-Like Object
- Logging (日志)
- Parallelism and Concurrent (并发): Multi-Threads, Multi-Processes, Async I/O (Coroutine), Queue
- Synchronization Primitives: Lock, Event, Condition Variable, Semaphore
- Networks (网络)
- TCP, UDP
- I/O model: Blocking, Timeout, I/O Multiplex, Async I/O
- IPC (进程间通信): UNIX Domain Socket, Socket Pair
- Setup Python Project
v0.0.1-beta
A draft initial release of Python Cookbook, including language core features.
What's Changed
New
- setup Python project (including GitHub Actions) by @leven-cn in #55
- add recipe of IPC - socket pair. by @leven-cn in #52
- add topic of 'Setup Python Project'. by @leven-cn in #54
- add recipe of IP Multicast Server and Client (UDP). by @leven-cn in #63
- add recipe of 'Type Hint for Union Types'. by @leven-cn in #68
- add recipe on 'Pack and Unpack Binary Data'. by @leven-cn in #77
- add recipes on 'Asynchronous I/O (异步 I/O)' by @leven-cn in #83
Improve
- improve IPC - UNIX domain socket (IPv4). by @leven-cn in #60
- improve recipe of UDP server and client. by @leven-cn in #61
- remove usage of
socket.SocketType
. by @leven-cn in #66 - improve recipes on TCP/UDP timeout. by @leven-cn in #73
- improve recipes on TCP Server (IPv4). by @leven-cn in #84
- rework recipes on time. by @leven-cn in #75
- rework recipes on logging and type hints. by @leven-cn in #76
- rework recipes on TCP. by @leven-cn in #81
- add
SO_REUSEPORT
to TCP recipes. by @leven-cn in #85 - add
SO_REUSEPORT
to UDP recipe. by @leven-cn in #86 - add PEP 3156, PEP 380 and PEP 492. by @leven-cn in #90
Workflow
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #74
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #82
- update flake8: v4.0 -> v5.0 by @leven-cn in #89
New Contributors
- @pre-commit-ci made their first contribution in #74
Full Changelog: v0.0.1-alpha...v0.0.1-beta
v0.0.1-alpha
A draft initial release of Python Cookbook, including language core features. milestone v0.0.1-alpha (#1)
What's Changed
- set up Markdown lint with Github Actions. by @leven-cn in #2
- add 'Create Function Decorator Without Argument'. by @leven-cn in #3
- add Python Logo. by @leven-cn in #4
- add 'Type Hint for
callable
'. by @leven-cn in #5 - add 'Create Function Decorator With Required Argument'. by @leven-cn in #6
- add 'Create Function Decorator With Optional Argument'. by @leven-cn in #7
- add 'Create Context Manager'. by @leven-cn in #8
- add 'Regex Patterns'. by @leven-cn in #9
- add 'Access Text Files'. by @leven-cn in #10
- add recipes of 'Binary I/O'. by @leven-cn in #11
- add
io.StringIO
recipes. by @leven-cn in #12 - add 'time' recipes. by @leven-cn in #13
- add 'UTC Time' recipe. by @leven-cn in #14
- add 'UTC Time' recipe. by @leven-cn in #15
- add 'Local Time to Timestamp' recipes. by @leven-cn in #16
- add 'Timestamp' recipes. by @leven-cn in #17
- add 'Format time string' recipes. by @leven-cn in #18
- add 'ISO 8601 Format' recipes. by @leven-cn in #19
- add 'RFC 3339 Format' recipes. by @leven-cn in #21
- add 'Logging Dictionary Config' recipes. by @leven-cn in #22
- add
RotatingFileHandler
andTimedRotatingFileHandler
to 'Logging' recipes. by @leven-cn in #23 - add 'Multi-Threads' recipes. by @leven-cn in #25
- add 'Multi-Processes' recipes. by @leven-cn in #26
- add 'Synchronization Primitives - Event (For Threads)' recipes. by @leven-cn in #28
- add 'Synchronization Primitives -
Event
(For Processes)' recipes. by @leven-cn in #29 - add 'Synchronization Primitives - Mutex Lock Lock (For Threads and Processes)'. by @leven-cn in #30
- add 'Process Pool' recipes. by @leven-cn in #31
- add 'High-Level Concurrent' (both threads and processes). by @leven-cn in #32
- add recipes of 'Type Hint for Constants and Class Attributes'. by @leven-cn in #33
- add recipes of 'Type Hint for Restricting Inheritance and Overriding'. by @leven-cn in #34
- add recipes of 'Type Hint for Any'. by @leven-cn in #35
- add recipes of 'Type Hint for type object'. by @leven-cn in #36
- add recipes of 'Type Hint for Regex'. by @leven-cn in #37
- add recipes of 'Type Hint for
dict
and Items'. by @leven-cn in #38 - add recipes of 'Create TCP Server'. by @leven-cn in #39
- add recipes of 'Create UDP Server'. by @leven-cn in #40
- add recipe of 'Create Threaded TCP/UDP Server'. by @leven-cn in #41
- add recipe of 'Create TCP (IPv4) Client'. by @leven-cn in #42
- add recipe of 'Create TCP (IPv4) Server'. by @leven-cn in #43
- add recipes of creating UDP (IPv4) clients and servers. by @leven-cn in #44
- add recipe of 'Suppress Exception'. by @leven-cn in #45
- add recipe of 'Create Unix Domain Socket (UDS) (IPv4) Server'. by @leven-cn in #47
- add recipe of 'Create Unix Domain Socket (UDS) (IPv4) Client'. by @leven-cn in #48
- improve TCP/UDP servers' recv/send buffer size setting. by @leven-cn in #49
- add 'timeout' to recipe of 'TCP IPv4 Client'. by @leven-cn in #50
New Contributors
- @leven-cn made their first contribution in #2
Full Changelog: https://github.com/leven-cn/python-cookbook/commits/v0.0.1-alpha