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 branch, I noticed the code wasn't compatible with SQLAlchemy 2.0, which caused some errors when running tests. So I made the necessary updates to get everything working smoothly. Changes orm.py: Replace deprecated mapper() with registry.map_imperatively() repository.py: Replace session.query() with session.scalars(select()) conftest.py: Replace clear_mappers() with mapper_registry.dispose() test_*.py: Wrap raw SQL strings with text() requirements.txt: Require sqlalchemy>=2.0 Test Results All existing tests pass (20 passed, 3 skipped, 4 failed). The 4 failed tests are expected - they are exercise-related tests designed to fail until the reader implements the UnitOfWork pattern. I hope this PR can help other readers who encounter the same issue, and save them some debugging time! 🙏 Thank you for writing such a great book! 📚

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/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:791e6826-37c6-d1c8-e25e-50ac81a2db3c
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id83DE:30E8A:F771C5F:14351ABB:69771F75
html-safe-noncec7d8e7a898e64d70339b5804965b0c36a84c2132dfc29746a6bfe032133b2126
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4M0RFOjMwRThBOkY3NzFDNUY6MTQzNTFBQkI6Njk3NzFGNzUiLCJ2aXNpdG9yX2lkIjoiMzE3MjI4NDkwMTI1MjA3OTQ3NyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac48993642739fe74bbf5911b753267d3027791615b4ec5ae40610a7c825e21b25
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///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/cosmicpython/code/pull/110/files
twitter:imagehttps://avatars.githubusercontent.com/u/20077033?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/20077033?s=400&v=4
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:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None01d198479908d09a841b2febe8eb105a81af2af7d81830960fe0971e1f4adc09
turbo-cache-controlno-preview
diff-viewunified
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 full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasef752335dbbea672610081196a1998e39aec5e14b
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#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%2Ffiles
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%2Ffiles
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%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=cosmicpython%2Fcode
Reloadhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
Reloadhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
Reloadhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
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
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 29 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
Fix/sqlalchemy 2.0 compatibility - chapter6 UoW https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#top
Show all changes 67 commits https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
9a74b16 makefile for running stuff hjwp Feb 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/9a74b16d719d09af7614b84324eefe96a52bfc56
5be7bcf first test [first_test] hjwp Mar 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/5be7bcfc0763133b384388c160c1ce308eb304ba
fc5811e first stab at a model [domain_model_1] hjwp Mar 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fc5811e40bae2de7a8f444a6d54f8da72ce4b654
108a74c more tests for can_allocate [test_can_allocate] hjwp Mar 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/108a74c665b3e9a7d63b21abc7b632063834b54b
d817ecd can_allocate fn [can_allocate] hjwp Mar 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d817ecd359fd83654a0c594873a6b3a34805e92c
bd0e75e simple deallocate test hjwp Mar 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bd0e75edc611d0a236b89a7d95b1c4cd4bf62234
8ad3236 simple deallocate function hjwp Mar 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8ad3236e9231b00daad74d27df9499d947a3162f
bebd0fd test deallocate not allocated [test_deallocate_unallocated] hjwp Mar 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bebd0fd3601cc08d49cac74ea4a2c3251cbfa0f2
b2d618a model now tracks allocations [domain_model_complete] hjwp Mar 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/b2d618aa5f763380ca04d5711f4c738cf3eaa6b5
ad26a08 test allocate twice [last_test] hjwp Mar 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ad26a0882372502a822d639c7339e02fe346d3ce
235e121 equality and hash operators [equality_on_batches] hjwp Mar 8, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/235e121b9fc0a4b87d7a3cfa7ba7239be7ab1b44
d1dda70 new tests for allocate domain service [test_allocate] hjwp Mar 9, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d1dda7015c2d7715f18f089df9018d92bdb8a166
8a6ec0e allocate fn, domain service [domain_service] hjwp Mar 9, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8a6ec0eec07a9185da3a57e5fc49f8f421214b26
ff0a15c fixup a batchref hjwp Jul 18, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ff0a15c3a7a5ef1a91f68f2ad1138323f35f2543
0c3b87e change tests add one for return hjwp Mar 20, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/0c3b87eaa91902b8102d6b521c4de50dae8a4d2f
07dd382 make Batches sortable [dunder_gt] hjwp Mar 9, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/07dd3822787071d95da09a966010b42dee9dca6c
18aa3b4 fixup a sku hjwp Jul 18, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/18aa3b4c76b4e5b51c99ed452558208229c4b9e7
d75eaf7 test out of stock exception [test_out_of_stock] hjwp Mar 11, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d75eaf755a3d3659e090e2b28c3e7280178ff45e
184d90d raising out of stock exception [out_of_stock] hjwp Mar 11, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/184d90df0ff57f4d30c6b8955ff3f436acf93aa9
73dae3f add readme from master hjwp Jul 1, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/73dae3f6cef8a13c308bed69a03059e670beef7f
5b77fc4 Wrong path in venv creation line karolpawlowski Feb 1, 2021 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/5b77fc47363292cfc715df644d508dc88f74472c
3e9871d travis config. [chapter_01_domain_model_ends] hjwp Mar 26, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/3e9871d62fb813d5206c0698974bdb54339fad6a
58d05e4 first cut of orm, orderlines only [sqlalchemy_classical_mapper] hjwp Mar 10, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/58d05e4c3017cb14ab48d5e4a8fc8809750431c4
ef7a621 first tests of orm [orm_tests] hjwp Mar 10, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ef7a621a80b4f956c874ec67bcf10dec6016c7d0
527b320 unfortunate hack on dataclass in model hjwp Mar 10, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/527b3200a4e35ebfefe675f728e5ccf3cedd972d
26b997e batches with no allocations hjwp Mar 10, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/26b997ef18cb39e5c01c0b55702b12f131cd6840
fff68bd ORM for _allocations set on Batch hjwp Mar 11, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fff68bd217c066d2d79c50a029c64aac63391f28
8dae126 repository tests hjwp Mar 11, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8dae12639c6247185877d199e3055d0cacb126ea
b635a15 repository for batches [chapter_02_repository_ends] hjwp Mar 11, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/b635a154d8ddf58a3bbf40a1d5c96c65430bc49d
fda077d first api tests [first_api_test] hjwp Mar 11, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fda077db691e09e69eb54e7fbf29feb732da37b5
15902a6 all the dockerfile gubbins hjwp Mar 19, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/15902a6f69b914015c5d5a4b90cc4d04c5e046d7
8fc086e first cut of flask app [first_cut_flask_app] hjwp Mar 11, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8fc086ef836fd5fcf726d37e285e0e9d4ace49f4
158e760 test persistence by double-allocating. [second_api_test] hjwp Mar 19, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/158e760fed9a7d530d34b3acf4e4159477eac73d
d0ee7ad need to commit [flask_commit] hjwp Mar 19, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d0ee7ada3dbb034dbe5fce7a06e209486e88cccc
f20c479 test some 400 error cases [test_error_cases] hjwp Mar 19, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/f20c4792525ee9b138bd6586eb88359d1d70a8db
80dece9 flask now does error handling [flask_error_handling] hjwp Mar 19, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/80dece9d1736a3abf2ae605af25606c85b39bccb
a1903fa first tests for the services layer [first_services_tests] hjwp Mar 19, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/a1903fad959426a0d7bee8c186b0bfb73a2755d2
9fe9a3d FakeRepository [fake_repo] hjwp Jan 3, 2020 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/9fe9a3de7ea0afabf652bacf035e86b39ac02d6c
15b9bf7 FakeSession [fake_session] hjwp Jan 3, 2020 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/15b9bf79d134384a1cac645eba4b055f9bf4ac1d
eded7eb test commmits [second_services_test] hjwp Apr 23, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/eded7ebf6cc5f0fb05dc547af6daee6549e171ca
d1e2e6e services layer with valid-sku check [service_function] hjwp Mar 19, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d1e2e6e59fb8fe4020bec8425bdbd30b9648ff08
cf2f52b modify flask app to use service layer [flask_app_using_service_layer] hjwp Mar 19, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/cf2f52ba9696b7fa2336b46a55c6f11f180fa203
b537364 strip out unecessary tests from e2e layer [fewer_e2e_tests] hjwp Mar 19, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/b537364dcb7b22e0348fda4b66219e3bfe4d259b
952a3d2 fix conftest waits and travis config [chapter_04_service_layer_ends] hjwp Mar 26, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/952a3d2f53ec56ca320b8415097350799f38de10
bdf8fe9 move to a more nested folder structure hjwp Dec 23, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bdf8fe94baffb69097e727135b0c6ce77ac87674
1bb572a nest the tests too hjwp Dec 31, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/1bb572af7f8fce0a5236fc005c4d5bc305464c94
db89218 get all tests passing hjwp Dec 31, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/db8921818a5aaeb3495f0405fa089648ade4b306
c5822aa rewrite service layer to take primitives [service_takes_primitives] hjwp Apr 23, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c5822aa764b767efabc4975060b9533cef094fbf
f341bee services tests partially converted to primitives [tests_call_with_pri… hjwp Apr 23, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/f341bee916afc28fbc23d50be2d1979dadc9978d
1e1f238 fixture function for batches [services_factory_function] hjwp Apr 23, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/1e1f2381e348b29e04a9812114feb8ca6f92bbc9
5c953da new service to add a batch [add_batch_service] hjwp Apr 23, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/5c953dada5e1a136ec21f8eaf15a588e32d4b858
262eec0 service-layer test for add batch [test_add_batch] hjwp Apr 23, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/262eec06146958ed6b8a47d700f9c32fd92638ce
c8fbb60 all service-layer tests now services [services_tests_all_services] hjwp Apr 23, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c8fbb60a7bbc918e5ea9a3f7ea70d35118c41620
96301d2 modify flask app to use new service layer api [api_uses_modified_serv… hjwp Apr 23, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/96301d2ca4aeb0f884906a500d2044821839dab5
6b404b5 add api endpoint for add_batch [api_for_add_batch] hjwp Apr 24, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/6b404b52471786fccd439875e311985cecf35ea8
fd45a6f api tests no longer need hardcoded sql fixture [chapter_05_high_gear_… hjwp Apr 24, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fd45a6ff9e0ef20fc4dc698d169139f4f830c775
d9c340c start moving files into src folder and add setup.py hjwp Feb 27, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d9c340c26624145c4114f7b2b6f7bf963999885f
c843a10 fix all the imports, get it all working hjwp Feb 27, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c843a10031e471cfd019bbf6f090afa95a251085
12d2bc2 get tests working in docker container hjwp Feb 27, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/12d2bc2ca5f9ef644ad762eb022c6bb3a9bb6d0d
28afa9a make mypy slightly stricter hjwp May 23, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/28afa9a64c7b109837475ad683a99fef1f9101a2
53ad798 better requirements.txt [appendix_project_structure_ends] hjwp Mar 11, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/53ad7987bfc8b15d029c45a143743903a973215e
833d48b basic uow test, uow and conftest.py changes hjwp Mar 11, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/833d48bedf2599eaaf645def0ee419864bb68fe0
658e61a use uow in services, flask app hjwp Mar 20, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/658e61acd072c7f2bdec8fb0e9b50a9adc0edfdb
7526014 two more tests for rollback behaviour [chapter_06_uow_ends] hjwp Mar 12, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/7526014be1a288f967393ed7bb544655c87a2817
916bcdd strip out UoW and fake UoW, add some tips hjwp Jun 28, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/916bcdd3d8b7e050588ba33299246d68fc978e64
6876e75 update tests hjwp Jun 28, 2019 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/6876e7558ffcc36e297a64275c319dee1ba4600a
00f1574 fix: SQLAlchemy 2.0 compatibility for chapter_06_uow_exercise rickywesker Jan 13, 2026 https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/00f1574723251a53ce2462be71a4a46c98ad6bd3
Clear filters https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
.travis.yml https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-6ac3f79fc25d95cd1e3d51da53a4b21b939437392578a35ae8cd6d5366ca5485
Dockerfile https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557
Makefile https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
README.md https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
docker-compose.yml https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-e45e45baeda1c1e73482975a664062aa56f20c03dd9d64a827aba57775bed0d3
mypy.ini https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-6f2d4ba9ca9a357d31014946667b7bed1bfdbc6d2530afc77778fa0a36bee457
requirements.txt https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-4d7c51b1efe9043e44439a949dfd92e5827321b34082903477fd04876edb7552
__init__.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-7b01825c1cd17fa8b54fda2e265f02ca525ad25aa091276159195dfedeab1912
__init__.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-3b9a66a219dcb31290a06ec57cbd0e032f96a1d99a30f3baf1b867525acddbb0
orm.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-621927d0330b4035d0cb278b1545624d85deadf05be261cb70a46d8231348a76
repository.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-0909476fdb2cd5a5e1fda47bd628ce166a09a856fdb7d6e6a7728f0386ce6de8
config.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-53abb891e541b8d6410f63e51f2edf6b28e3049a4c221d2b74acac92e036ea6a
__init__.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-bca544189afa2be9573bbdc471fc0eaafe0b017658f21bbb756f735f2b8f9c26
model.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-f0c6c7afdfd4b215643c6095e12a9cfb8f6662c9b1a1191e88b15743bd3e7f6f
__init__.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-b73fb1475b169f50e3020ac2b2e182bb97ac3f22279b1ee4184ba73271e194a2
flask_app.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-ca77d03e4625a490df533c9c44307b81c78855d29f0bbfca06453eea710e7929
__init__.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-4bd0b60bf47395e2d60571d2565ccb7e98cb44703f8514c00895b0a16fedb987
services.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-94b585e6a06398efb190236a465f798a906df5191c0f771cecc297f544a115ce
unit_of_work.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-e6f22e4338540eed354f8c669a96934e619789fc4881f62bb1ffa03b60d7f173
setup.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-dd13c815bfaa701214fd8042095afca139f7c9cdce0b958860ee5a4cf9a2f5e7
conftest.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-e52e4ddd58b7ef887ab03c04116e676f6280b824ab7469d5d3080e5cba4f2128
test_api.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-68bcc6076eecf5703da1ace7fd5a517aab6ab1d993bfef3dd960c9bb011380ec
test_orm.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-9865ff693abf5673fc1af5e46dbad1ea3ddb40cf7e5db4d47f7bdd4d7a44f4e4
test_repository.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-393c5a4b0583d7113e9878010d9e6f2ac06ae463fbe19182e5fe11861a7d97e2
test_uow.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-84a8e789306d61051bcc41f45b1d2fdd92ab893bea191495914acbcefb76fb6b
pytest.ini https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-338af70c6877cd271f4d5d1c05bbfc692ad15c5dbff0f7ea3c0e578f3f59c850
test_allocate.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-770629e8155077fac19761d72521866e2a17e2ec06a853dfe078163718c6f26a
test_batches.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-335b82d05a2645a71d93ba698d3f56feb5af3f649d22bbc374a91bd6962081ab
test_services.py https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-79c410c92953d42b5e70161740e83535cf2b267bcc00ae6521b8a66ea8905109
.travis.ymlhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-6ac3f79fc25d95cd1e3d51da53a4b21b939437392578a35ae8cd6d5366ca5485
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/.travis.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
Dockerfilehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/Dockerfile
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
Makefilehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/Makefile
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
README.mdhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/README.md
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
docker-compose.ymlhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-e45e45baeda1c1e73482975a664062aa56f20c03dd9d64a827aba57775bed0d3
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/docker-compose.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
mypy.inihttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-6f2d4ba9ca9a357d31014946667b7bed1bfdbc6d2530afc77778fa0a36bee457
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/mypy.ini
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
requirements.txthttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-4d7c51b1efe9043e44439a949dfd92e5827321b34082903477fd04876edb7552
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/requirements.txt
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
src/allocation/__init__.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-7b01825c1cd17fa8b54fda2e265f02ca525ad25aa091276159195dfedeab1912
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/src/allocation/__init__.py
Open in desktop https://desktop.github.com
src/allocation/adapters/__init__.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-3b9a66a219dcb31290a06ec57cbd0e032f96a1d99a30f3baf1b867525acddbb0
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/src/allocation/adapters/__init__.py
Open in desktop https://desktop.github.com
src/allocation/adapters/orm.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-621927d0330b4035d0cb278b1545624d85deadf05be261cb70a46d8231348a76
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/src/allocation/adapters/orm.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
src/allocation/adapters/repository.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-0909476fdb2cd5a5e1fda47bd628ce166a09a856fdb7d6e6a7728f0386ce6de8
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/src/allocation/adapters/repository.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
src/allocation/config.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-53abb891e541b8d6410f63e51f2edf6b28e3049a4c221d2b74acac92e036ea6a
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/src/allocation/config.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
src/allocation/domain/__init__.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-bca544189afa2be9573bbdc471fc0eaafe0b017658f21bbb756f735f2b8f9c26
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/src/allocation/domain/__init__.py
Open in desktop https://desktop.github.com
src/allocation/domain/model.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-f0c6c7afdfd4b215643c6095e12a9cfb8f6662c9b1a1191e88b15743bd3e7f6f
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/src/allocation/domain/model.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/{{ revealButtonHref }}
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
src/allocation/entrypoints/__init__.pyhttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files#diff-b73fb1475b169f50e3020ac2b2e182bb97ac3f22279b1ee4184ba73271e194a2
View file https://patch-diff.githubusercontent.com/cosmicpython/code/blob/00f1574723251a53ce2462be71a4a46c98ad6bd3/src/allocation/entrypoints/__init__.py
Open in desktop https://desktop.github.com
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
Please reload this pagehttps://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files
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.