René's URL Explorer Experiment


Title: Fix/sqlalchemy 2.0 compatibility - chapter6 UoW by rickywesker · Pull Request #110 · cosmicpython/code · GitHub

Open Graph Title: Fix/sqlalchemy 2.0 compatibility - chapter6 UoW by rickywesker · Pull Request #110 · cosmicpython/code

X Title: Fix/sqlalchemy 2.0 compatibility - chapter6 UoW by rickywesker · Pull Request #110 · cosmicpython/code

Description: Hi Harry! 👋 I'm a reader following along with the Cosmic Python book, and I really enjoyed Chapter 6 on the Unit of Work pattern! While working through the exercises on the chapter_06_uow_exercise ...

Open Graph Description: Hi Harry! 👋 I'm a reader following along with the Cosmic Python book, and I really enjoyed Chapter 6 on the Unit of Work pattern! While working through the exercises on the chapter_06_uow_exerc...

X Description: Hi Harry! 👋 I'm a reader following along with the Cosmic Python book, and I really enjoyed Chapter 6 on the Unit of Work pattern! While working through the exercises on the chapter_06_uow_e...

Opengraph URL: https://github.com/cosmicpython/code/pull/110

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format)
route-controllervoltron_pull_requests_fragments
route-actionpull_request_layout
fetch-noncev2:34bb2078-3640-1cb6-e827-fe665c3ff76e
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idA00E:3BFB17:D812CC8:11892C6E:69770761
html-safe-nonce82012dcd1b26eecd037abd43b26d9f87704ec30694375705b2b8ebdf3a270155
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMDBFOjNCRkIxNzpEODEyQ0M4OjExODkyQzZFOjY5NzcwNzYxIiwidmlzaXRvcl9pZCI6IjI4NzY3MTc0NDk2NDg0NzM5NTMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac3c06da5b250a00aafe3d1fb8207be0f09c1f8db517327d63c9dfbeba56eda980
hovercard-subject-tagpull_request:3168870330
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/pull_requests_fragments/pull_request_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/cosmicpython/code/110/pull_request_layout
twitter:imagehttps://opengraph.githubassets.com/42ee8017e40622e9e0b4bdfbf112789eafaf45386c366f4d7c388cfe1cb865cc/cosmicpython/code/pull/110
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/42ee8017e40622e9e0b4bdfbf112789eafaf45386c366f4d7c388cfe1cb865cc/cosmicpython/code/pull/110
og:image:altHi Harry! 👋 I'm a reader following along with the Cosmic Python book, and I really enjoyed Chapter 6 on the Unit of Work pattern! While working through the exercises on the chapter_06_uow_exerc...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamerickywesker
hostnamegithub.com
expected-hostnamegithub.com
None01d198479908d09a841b2febe8eb105a81af2af7d81830960fe0971e1f4adc09
turbo-cache-controlno-preview
go-importgithub.com/cosmicpython/code git https://github.com/cosmicpython/code.git
octolytics-dimension-user_id47350834
octolytics-dimension-user_logincosmicpython
octolytics-dimension-repository_id169221290
octolytics-dimension-repository_nwocosmicpython/code
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id169221290
octolytics-dimension-repository_network_root_nwocosmicpython/code
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasef752335dbbea672610081196a1998e39aec5e14b
ui-targetcanary-2
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcosmicpython%2Fcode%2Fpull%2F110
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcosmicpython%2Fcode%2Fpull%2F110
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=cosmicpython%2Fcode
Reloadhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
Reloadhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
Reloadhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
cosmicpython https://patch-diff.githubusercontent.com/cosmicpython
codehttps://patch-diff.githubusercontent.com/cosmicpython/code
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fcosmicpython%2Fcode
Fork 1.1k https://patch-diff.githubusercontent.com/login?return_to=%2Fcosmicpython%2Fcode
Star 2.5k https://patch-diff.githubusercontent.com/login?return_to=%2Fcosmicpython%2Fcode
Code https://patch-diff.githubusercontent.com/cosmicpython/code
Issues 26 https://patch-diff.githubusercontent.com/cosmicpython/code/issues
Pull requests 4 https://patch-diff.githubusercontent.com/cosmicpython/code/pulls
Actions https://patch-diff.githubusercontent.com/cosmicpython/code/actions
Projects 0 https://patch-diff.githubusercontent.com/cosmicpython/code/projects
Security 0 https://patch-diff.githubusercontent.com/cosmicpython/code/security
Insights https://patch-diff.githubusercontent.com/cosmicpython/code/pulse
Code https://patch-diff.githubusercontent.com/cosmicpython/code
Issues https://patch-diff.githubusercontent.com/cosmicpython/code/issues
Pull requests https://patch-diff.githubusercontent.com/cosmicpython/code/pulls
Actions https://patch-diff.githubusercontent.com/cosmicpython/code/actions
Projects https://patch-diff.githubusercontent.com/cosmicpython/code/projects
Security https://patch-diff.githubusercontent.com/cosmicpython/code/security
Insights https://patch-diff.githubusercontent.com/cosmicpython/code/pulse
Sign up for GitHub https://patch-diff.githubusercontent.com/signup?return_to=%2Fcosmicpython%2Fcode%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://patch-diff.githubusercontent.com/login?return_to=%2Fcosmicpython%2Fcode%2Fissues%2Fnew%2Fchoose
Jump to bottomhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#issue-comment-box
rickyweskerhttps://patch-diff.githubusercontent.com/rickywesker
cosmicpython:chapter_05_uow_exercisehttps://patch-diff.githubusercontent.com/cosmicpython/code/tree/chapter_05_uow_exercise
rickywesker:fix/sqlalchemy-2.0-compatibilityhttps://patch-diff.githubusercontent.com/rickywesker/code/tree/fix/sqlalchemy-2.0-compatibility
Fix/sqlalchemy 2.0 compatibility - chapter6 UoW https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#top
rickyweskerhttps://patch-diff.githubusercontent.com/rickywesker
cosmicpython:chapter_05_uow_exercisehttps://patch-diff.githubusercontent.com/cosmicpython/code/tree/chapter_05_uow_exercise
rickywesker:fix/sqlalchemy-2.0-compatibilityhttps://patch-diff.githubusercontent.com/rickywesker/code/tree/fix/sqlalchemy-2.0-compatibility
Conversation 12 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
Commits 67 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits
Checks 0 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/checks
Files changed https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/{{ revealButtonHref }}
https://patch-diff.githubusercontent.com/rickywesker
rickyweskerhttps://patch-diff.githubusercontent.com/rickywesker
Jan 13, 2026https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#issue-3807864175
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
hjwphttps://patch-diff.githubusercontent.com/hjwp
February 23, 2021 16:15https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#commits-pushed-9a74b16
https://patch-diff.githubusercontent.com/hjwp
makefile for running stuffhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/9a74b16d719d09af7614b84324eefe96a52bfc56
9a74b16https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/9a74b16d719d09af7614b84324eefe96a52bfc56
https://patch-diff.githubusercontent.com/hjwp
first test [first_test]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/5be7bcfc0763133b384388c160c1ce308eb304ba
5be7bcfhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/5be7bcfc0763133b384388c160c1ce308eb304ba
https://patch-diff.githubusercontent.com/hjwp
first stab at a model [domain_model_1]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fc5811e40bae2de7a8f444a6d54f8da72ce4b654
fc5811ehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fc5811e40bae2de7a8f444a6d54f8da72ce4b654
https://patch-diff.githubusercontent.com/hjwp
more tests for can_allocate [test_can_allocate]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/108a74c665b3e9a7d63b21abc7b632063834b54b
108a74chttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/108a74c665b3e9a7d63b21abc7b632063834b54b
https://patch-diff.githubusercontent.com/hjwp
can_allocate fn [can_allocate]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d817ecd359fd83654a0c594873a6b3a34805e92c
d817ecdhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d817ecd359fd83654a0c594873a6b3a34805e92c
https://patch-diff.githubusercontent.com/hjwp
simple deallocate testhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bd0e75edc611d0a236b89a7d95b1c4cd4bf62234
bd0e75ehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bd0e75edc611d0a236b89a7d95b1c4cd4bf62234
https://patch-diff.githubusercontent.com/hjwp
simple deallocate functionhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8ad3236e9231b00daad74d27df9499d947a3162f
8ad3236https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8ad3236e9231b00daad74d27df9499d947a3162f
https://patch-diff.githubusercontent.com/hjwp
test deallocate not allocated [test_deallocate_unallocated]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bebd0fd3601cc08d49cac74ea4a2c3251cbfa0f2
bebd0fdhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bebd0fd3601cc08d49cac74ea4a2c3251cbfa0f2
https://patch-diff.githubusercontent.com/hjwp
model now tracks allocations [domain_model_complete]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/b2d618aa5f763380ca04d5711f4c738cf3eaa6b5
b2d618ahttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/b2d618aa5f763380ca04d5711f4c738cf3eaa6b5
https://patch-diff.githubusercontent.com/hjwp
test allocate twice [last_test]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ad26a0882372502a822d639c7339e02fe346d3ce
ad26a08https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ad26a0882372502a822d639c7339e02fe346d3ce
https://patch-diff.githubusercontent.com/hjwp
equality and hash operators [equality_on_batches]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/235e121b9fc0a4b87d7a3cfa7ba7239be7ab1b44
235e121https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/235e121b9fc0a4b87d7a3cfa7ba7239be7ab1b44
https://patch-diff.githubusercontent.com/hjwp
new tests for allocate domain service [test_allocate]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d1dda7015c2d7715f18f089df9018d92bdb8a166
d1dda70https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d1dda7015c2d7715f18f089df9018d92bdb8a166
https://patch-diff.githubusercontent.com/hjwp
allocate fn, domain service [domain_service]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8a6ec0eec07a9185da3a57e5fc49f8f421214b26
8a6ec0ehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8a6ec0eec07a9185da3a57e5fc49f8f421214b26
https://patch-diff.githubusercontent.com/hjwp
fixup a batchrefhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ff0a15c3a7a5ef1a91f68f2ad1138323f35f2543
ff0a15chttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ff0a15c3a7a5ef1a91f68f2ad1138323f35f2543
https://patch-diff.githubusercontent.com/hjwp
change tests add one for returnhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/0c3b87eaa91902b8102d6b521c4de50dae8a4d2f
0c3b87ehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/0c3b87eaa91902b8102d6b521c4de50dae8a4d2f
https://patch-diff.githubusercontent.com/hjwp
make Batches sortable [dunder_gt]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/07dd3822787071d95da09a966010b42dee9dca6c
07dd382https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/07dd3822787071d95da09a966010b42dee9dca6c
https://patch-diff.githubusercontent.com/hjwp
fixup a skuhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/18aa3b4c76b4e5b51c99ed452558208229c4b9e7
18aa3b4https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/18aa3b4c76b4e5b51c99ed452558208229c4b9e7
https://patch-diff.githubusercontent.com/hjwp
test out of stock exception [test_out_of_stock]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d75eaf755a3d3659e090e2b28c3e7280178ff45e
d75eaf7https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d75eaf755a3d3659e090e2b28c3e7280178ff45e
https://patch-diff.githubusercontent.com/hjwp
raising out of stock exception [out_of_stock]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/184d90df0ff57f4d30c6b8955ff3f436acf93aa9
184d90dhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/184d90df0ff57f4d30c6b8955ff3f436acf93aa9
https://patch-diff.githubusercontent.com/hjwp
add readme from masterhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/73dae3f6cef8a13c308bed69a03059e670beef7f
73dae3fhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/73dae3f6cef8a13c308bed69a03059e670beef7f
https://patch-diff.githubusercontent.com/karolpawlowski
https://patch-diff.githubusercontent.com/hjwp
Wrong path in venv creation linehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/5b77fc47363292cfc715df644d508dc88f74472c
5b77fc4https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/5b77fc47363292cfc715df644d508dc88f74472c
https://patch-diff.githubusercontent.com/hjwp
travis config. [chapter_01_domain_model_ends]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/3e9871d62fb813d5206c0698974bdb54339fad6a
3e9871dhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/3e9871d62fb813d5206c0698974bdb54339fad6a
https://patch-diff.githubusercontent.com/hjwp
first cut of orm, orderlines only [sqlalchemy_classical_mapper]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/58d05e4c3017cb14ab48d5e4a8fc8809750431c4
58d05e4https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/58d05e4c3017cb14ab48d5e4a8fc8809750431c4
https://patch-diff.githubusercontent.com/hjwp
first tests of orm [orm_tests]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ef7a621a80b4f956c874ec67bcf10dec6016c7d0
ef7a621https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ef7a621a80b4f956c874ec67bcf10dec6016c7d0
https://patch-diff.githubusercontent.com/hjwp
unfortunate hack on dataclass in modelhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/527b3200a4e35ebfefe675f728e5ccf3cedd972d
https://patch-diff.githubusercontent.com/cosmicpython/code/commit/527b3200a4e35ebfefe675f728e5ccf3cedd972d#comments
527b320https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/527b3200a4e35ebfefe675f728e5ccf3cedd972d
https://patch-diff.githubusercontent.com/hjwp
batches with no allocationshttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/26b997ef18cb39e5c01c0b55702b12f131cd6840
26b997ehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/26b997ef18cb39e5c01c0b55702b12f131cd6840
https://patch-diff.githubusercontent.com/hjwp
ORM for _allocations set on Batchhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fff68bd217c066d2d79c50a029c64aac63391f28
fff68bdhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fff68bd217c066d2d79c50a029c64aac63391f28
https://patch-diff.githubusercontent.com/hjwp
repository testshttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8dae12639c6247185877d199e3055d0cacb126ea
8dae126https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8dae12639c6247185877d199e3055d0cacb126ea
https://patch-diff.githubusercontent.com/hjwp
repository for batches [chapter_02_repository_ends]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/b635a154d8ddf58a3bbf40a1d5c96c65430bc49d
b635a15https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/b635a154d8ddf58a3bbf40a1d5c96c65430bc49d
https://patch-diff.githubusercontent.com/hjwp
first api tests [first_api_test]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fda077db691e09e69eb54e7fbf29feb732da37b5
fda077dhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fda077db691e09e69eb54e7fbf29feb732da37b5
hjwphttps://patch-diff.githubusercontent.com/hjwp
February 24, 2021 10:00https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#commits-pushed-cf2f52b
https://patch-diff.githubusercontent.com/hjwp
modify flask app to use service layer [flask_app_using_service_layer]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/cf2f52ba9696b7fa2336b46a55c6f11f180fa203
cf2f52bhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/cf2f52ba9696b7fa2336b46a55c6f11f180fa203
https://patch-diff.githubusercontent.com/hjwp
strip out unecessary tests from e2e layer [fewer_e2e_tests]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/b537364dcb7b22e0348fda4b66219e3bfe4d259b
b537364https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/b537364dcb7b22e0348fda4b66219e3bfe4d259b
https://patch-diff.githubusercontent.com/hjwp
fix conftest waits and travis config [chapter_04_service_layer_ends]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/952a3d2f53ec56ca320b8415097350799f38de10
952a3d2https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/952a3d2f53ec56ca320b8415097350799f38de10
https://patch-diff.githubusercontent.com/hjwp
move to a more nested folder structurehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bdf8fe94baffb69097e727135b0c6ce77ac87674
bdf8fe9https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bdf8fe94baffb69097e727135b0c6ce77ac87674
https://patch-diff.githubusercontent.com/hjwp
nest the tests toohttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/1bb572af7f8fce0a5236fc005c4d5bc305464c94
1bb572ahttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/1bb572af7f8fce0a5236fc005c4d5bc305464c94
https://patch-diff.githubusercontent.com/hjwp
get all tests passinghttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/db8921818a5aaeb3495f0405fa089648ade4b306
db89218https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/db8921818a5aaeb3495f0405fa089648ade4b306
https://patch-diff.githubusercontent.com/hjwp
rewrite service layer to take primitives [service_takes_primitives]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c5822aa764b767efabc4975060b9533cef094fbf
c5822aahttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c5822aa764b767efabc4975060b9533cef094fbf
https://patch-diff.githubusercontent.com/hjwp
services tests partially converted to primitives [tests_call_with_pri…https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/f341bee916afc28fbc23d50be2d1979dadc9978d
f341beehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/f341bee916afc28fbc23d50be2d1979dadc9978d
https://patch-diff.githubusercontent.com/hjwp
fixture function for batches [services_factory_function]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/1e1f2381e348b29e04a9812114feb8ca6f92bbc9
1e1f238https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/1e1f2381e348b29e04a9812114feb8ca6f92bbc9
https://patch-diff.githubusercontent.com/hjwp
new service to add a batch [add_batch_service]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/5c953dada5e1a136ec21f8eaf15a588e32d4b858
5c953dahttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/5c953dada5e1a136ec21f8eaf15a588e32d4b858
https://patch-diff.githubusercontent.com/hjwp
service-layer test for add batch [test_add_batch]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/262eec06146958ed6b8a47d700f9c32fd92638ce
262eec0https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/262eec06146958ed6b8a47d700f9c32fd92638ce
https://patch-diff.githubusercontent.com/hjwp
all service-layer tests now services [services_tests_all_services]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c8fbb60a7bbc918e5ea9a3f7ea70d35118c41620
c8fbb60https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c8fbb60a7bbc918e5ea9a3f7ea70d35118c41620
https://patch-diff.githubusercontent.com/hjwp
modify flask app to use new service layer api [api_uses_modified_serv…https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/96301d2ca4aeb0f884906a500d2044821839dab5
96301d2https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/96301d2ca4aeb0f884906a500d2044821839dab5
https://patch-diff.githubusercontent.com/hjwp
add api endpoint for add_batch [api_for_add_batch]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/6b404b52471786fccd439875e311985cecf35ea8
6b404b5https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/6b404b52471786fccd439875e311985cecf35ea8
https://patch-diff.githubusercontent.com/hjwp
api tests no longer need hardcoded sql fixture [chapter_05_high_gear_…https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fd45a6ff9e0ef20fc4dc698d169139f4f830c775
fd45a6fhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fd45a6ff9e0ef20fc4dc698d169139f4f830c775
https://patch-diff.githubusercontent.com/hjwp
start moving files into src folder and add setup.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d9c340c26624145c4114f7b2b6f7bf963999885f
d9c340chttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d9c340c26624145c4114f7b2b6f7bf963999885f
https://patch-diff.githubusercontent.com/hjwp
fix all the imports, get it all workinghttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c843a10031e471cfd019bbf6f090afa95a251085
c843a10https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c843a10031e471cfd019bbf6f090afa95a251085
https://patch-diff.githubusercontent.com/hjwp
get tests working in docker containerhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/12d2bc2ca5f9ef644ad762eb022c6bb3a9bb6d0d
12d2bc2https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/12d2bc2ca5f9ef644ad762eb022c6bb3a9bb6d0d
https://patch-diff.githubusercontent.com/hjwp
make mypy slightly stricterhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/28afa9a64c7b109837475ad683a99fef1f9101a2
28afa9ahttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/28afa9a64c7b109837475ad683a99fef1f9101a2
https://patch-diff.githubusercontent.com/hjwp
better requirements.txt [appendix_project_structure_ends]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/53ad7987bfc8b15d029c45a143743903a973215e
53ad798https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/53ad7987bfc8b15d029c45a143743903a973215e
https://patch-diff.githubusercontent.com/hjwp
basic uow test, uow and conftest.py changeshttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/833d48bedf2599eaaf645def0ee419864bb68fe0
833d48bhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/833d48bedf2599eaaf645def0ee419864bb68fe0
https://patch-diff.githubusercontent.com/hjwp
use uow in services, flask apphttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/658e61acd072c7f2bdec8fb0e9b50a9adc0edfdb
658e61ahttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/658e61acd072c7f2bdec8fb0e9b50a9adc0edfdb
https://patch-diff.githubusercontent.com/hjwp
two more tests for rollback behaviour [chapter_06_uow_ends]https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/7526014be1a288f967393ed7bb544655c87a2817
7526014https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/7526014be1a288f967393ed7bb544655c87a2817
https://patch-diff.githubusercontent.com/hjwp
strip out UoW and fake UoW, add some tipshttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/916bcdd3d8b7e050588ba33299246d68fc978e64
916bcddhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/916bcdd3d8b7e050588ba33299246d68fc978e64
https://patch-diff.githubusercontent.com/hjwp
update testshttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/6876e7558ffcc36e297a64275c319dee1ba4600a
6876e75https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/6876e7558ffcc36e297a64275c319dee1ba4600a
https://patch-diff.githubusercontent.com/rickywesker
fix: SQLAlchemy 2.0 compatibility for chapter_06_uow_exercisehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/00f1574723251a53ce2462be71a4a46c98ad6bd3
00f1574https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/00f1574723251a53ce2462be71a4a46c98ad6bd3
https://patch-diff.githubusercontent.com/apps/copilot-pull-request-reviewer
Copilothttps://patch-diff.githubusercontent.com/apps/copilot-pull-request-reviewer
January 13, 2026 09:00https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#event-22010822365
started reviewinghttps://github.com/copilot/tasks/pull/PR_kwDOChYcqs684R-6?session_id=d4c36db0-6bb2-49d4-ba51-c6cdfc456a47
rickyweskerhttps://patch-diff.githubusercontent.com/rickywesker
January 13, 2026 09:00https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#event-22010831704
View session https://github.com/copilot/tasks/pull/PR_kwDOChYcqs684R-6?session_id=d4c36db0-6bb2-49d4-ba51-c6cdfc456a47
https://patch-diff.githubusercontent.com/apps/copilot-pull-request-reviewer
Copilothttps://patch-diff.githubusercontent.com/apps/copilot-pull-request-reviewer
Jan 13, 2026 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#pullrequestreview-3654697630
View reviewed changes https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3
Copilothttps://patch-diff.githubusercontent.com/apps/copilot-pull-request-reviewer
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#pullrequestreview-3654697630
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Add Copilot custom instructionshttps://patch-diff.githubusercontent.com/cosmicpython/code/new/master/.github/instructions?filename=*.instructions.md
Learn how to get startedhttps://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
tests/integration/test_orm.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-9865ff693abf5673fc1af5e46dbad1ea3ddb40cf7e5db4d47f7bdd4d7a44f4e4
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
README.mdhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
src/allocation/entrypoints/flask_app.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-ca77d03e4625a490df533c9c44307b81c78855d29f0bbfca06453eea710e7929
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
src/allocation/entrypoints/flask_app.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-ca77d03e4625a490df533c9c44307b81c78855d29f0bbfca06453eea710e7929
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
src/allocation/adapters/orm.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-621927d0330b4035d0cb278b1545624d85deadf05be261cb70a46d8231348a76
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
tests/integration/test_uow.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-84a8e789306d61051bcc41f45b1d2fdd92ab893bea191495914acbcefb76fb6b
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
src/allocation/service_layer/unit_of_work.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-e6f22e4338540eed354f8c669a96934e619789fc4881f62bb1ffa03b60d7f173
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
src/allocation/service_layer/unit_of_work.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-e6f22e4338540eed354f8c669a96934e619789fc4881f62bb1ffa03b60d7f173
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
src/allocation/service_layer/unit_of_work.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-e6f22e4338540eed354f8c669a96934e619789fc4881f62bb1ffa03b60d7f173
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
src/allocation/domain/model.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-f0c6c7afdfd4b215643c6095e12a9cfb8f6662c9b1a1191e88b15743bd3e7f6f
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
https://patch-diff.githubusercontent.com/rickywesker
rickyweskerhttps://patch-diff.githubusercontent.com/rickywesker
Jan 13, 2026https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#event-22013432881
Sign up for freehttps://patch-diff.githubusercontent.com/join?source=comment-repo
Sign in to commenthttps://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcosmicpython%2Fcode%2Fpull%2F110
Copilot code review https://patch-diff.githubusercontent.com/apps/copilot-pull-request-reviewer
Copilot https://patch-diff.githubusercontent.com/apps/copilot-pull-request-reviewer
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110
https://patch-diff.githubusercontent.com/rickywesker
https://patch-diff.githubusercontent.com/hjwp
https://patch-diff.githubusercontent.com/karolpawlowski
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.