| route-pattern | /_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format) |
| route-controller | voltron_pull_requests_fragments |
| route-action | pull_request_layout |
| fetch-nonce | v2:34bb2078-3640-1cb6-e827-fe665c3ff76e |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | A00E:3BFB17:D812CC8:11892C6E:69770761 |
| html-safe-nonce | 82012dcd1b26eecd037abd43b26d9f87704ec30694375705b2b8ebdf3a270155 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMDBFOjNCRkIxNzpEODEyQ0M4OjExODkyQzZFOjY5NzcwNzYxIiwidmlzaXRvcl9pZCI6IjI4NzY3MTc0NDk2NDg0NzM5NTMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 3c06da5b250a00aafe3d1fb8207be0f09c1f8db517327d63c9dfbeba56eda980 |
| hovercard-subject-tag | pull_request:3168870330 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///voltron/pull_requests_fragments/pull_request_layout |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/cosmicpython/code/110/pull_request_layout |
| twitter:image | https://opengraph.githubassets.com/42ee8017e40622e9e0b4bdfbf112789eafaf45386c366f4d7c388cfe1cb865cc/cosmicpython/code/pull/110 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/42ee8017e40622e9e0b4bdfbf112789eafaf45386c366f4d7c388cfe1cb865cc/cosmicpython/code/pull/110 |
| og:image:alt | 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... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | rickywesker |
| hostname | github.com |
| expected-hostname | github.com |
| None | 01d198479908d09a841b2febe8eb105a81af2af7d81830960fe0971e1f4adc09 |
| turbo-cache-control | no-preview |
| go-import | github.com/cosmicpython/code git https://github.com/cosmicpython/code.git |
| octolytics-dimension-user_id | 47350834 |
| octolytics-dimension-user_login | cosmicpython |
| octolytics-dimension-repository_id | 169221290 |
| octolytics-dimension-repository_nwo | cosmicpython/code |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 169221290 |
| octolytics-dimension-repository_network_root_nwo | cosmicpython/code |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | f752335dbbea672610081196a1998e39aec5e14b |
| ui-target | canary-2 |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://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 AI | https://github.com/features/copilot |
| GitHub SparkBuild and deploy intelligent apps | https://github.com/features/spark |
| GitHub ModelsManage and compare prompts | https://github.com/features/models |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://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 |
| Reload | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| Reload | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| Reload | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
|
cosmicpython
| https://patch-diff.githubusercontent.com/cosmicpython |
| code | https://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 service | https://docs.github.com/terms |
| privacy statement | https://docs.github.com/privacy |
| Sign in | https://patch-diff.githubusercontent.com/login?return_to=%2Fcosmicpython%2Fcode%2Fissues%2Fnew%2Fchoose |
| Jump to bottom | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#issue-comment-box |
| rickywesker | https://patch-diff.githubusercontent.com/rickywesker |
| cosmicpython:chapter_05_uow_exercise | https://patch-diff.githubusercontent.com/cosmicpython/code/tree/chapter_05_uow_exercise |
| rickywesker:fix/sqlalchemy-2.0-compatibility | https://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 |
| rickywesker | https://patch-diff.githubusercontent.com/rickywesker |
| cosmicpython:chapter_05_uow_exercise | https://patch-diff.githubusercontent.com/cosmicpython/code/tree/chapter_05_uow_exercise |
| rickywesker:fix/sqlalchemy-2.0-compatibility | https://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 page | https://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 |
| rickywesker | https://patch-diff.githubusercontent.com/rickywesker |
| Jan 13, 2026 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#issue-3807864175 |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| hjwp | https://patch-diff.githubusercontent.com/hjwp |
| February 23, 2021 16:15 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#commits-pushed-9a74b16 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| makefile for running stuff | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/9a74b16d719d09af7614b84324eefe96a52bfc56 |
| 9a74b16 | https://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 |
| 5be7bcf | https://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 |
| fc5811e | https://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 |
| 108a74c | https://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 |
| d817ecd | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d817ecd359fd83654a0c594873a6b3a34805e92c |
|
| https://patch-diff.githubusercontent.com/hjwp |
| simple deallocate test | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bd0e75edc611d0a236b89a7d95b1c4cd4bf62234 |
| bd0e75e | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bd0e75edc611d0a236b89a7d95b1c4cd4bf62234 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| simple deallocate function | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8ad3236e9231b00daad74d27df9499d947a3162f |
| 8ad3236 | https://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 |
| bebd0fd | https://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 |
| b2d618a | https://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 |
| ad26a08 | https://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 |
| 235e121 | https://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 |
| d1dda70 | https://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 |
| 8a6ec0e | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8a6ec0eec07a9185da3a57e5fc49f8f421214b26 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| fixup a batchref | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ff0a15c3a7a5ef1a91f68f2ad1138323f35f2543 |
| ff0a15c | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ff0a15c3a7a5ef1a91f68f2ad1138323f35f2543 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| change tests add one for return | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/0c3b87eaa91902b8102d6b521c4de50dae8a4d2f |
| 0c3b87e | https://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 |
| 07dd382 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/07dd3822787071d95da09a966010b42dee9dca6c |
|
| https://patch-diff.githubusercontent.com/hjwp |
| fixup a sku | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/18aa3b4c76b4e5b51c99ed452558208229c4b9e7 |
| 18aa3b4 | https://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 |
| d75eaf7 | https://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 |
| 184d90d | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/184d90df0ff57f4d30c6b8955ff3f436acf93aa9 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| add readme from master | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/73dae3f6cef8a13c308bed69a03059e670beef7f |
| 73dae3f | https://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 line | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/5b77fc47363292cfc715df644d508dc88f74472c |
| 5b77fc4 | https://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 |
| 3e9871d | https://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 |
| 58d05e4 | https://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 |
| ef7a621 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/ef7a621a80b4f956c874ec67bcf10dec6016c7d0 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| unfortunate hack on dataclass in model | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/527b3200a4e35ebfefe675f728e5ccf3cedd972d |
|
| https://patch-diff.githubusercontent.com/cosmicpython/code/commit/527b3200a4e35ebfefe675f728e5ccf3cedd972d#comments |
| 527b320 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/527b3200a4e35ebfefe675f728e5ccf3cedd972d |
|
| https://patch-diff.githubusercontent.com/hjwp |
| batches with no allocations | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/26b997ef18cb39e5c01c0b55702b12f131cd6840 |
| 26b997e | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/26b997ef18cb39e5c01c0b55702b12f131cd6840 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| ORM for _allocations set on Batch | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fff68bd217c066d2d79c50a029c64aac63391f28 |
| fff68bd | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fff68bd217c066d2d79c50a029c64aac63391f28 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| repository tests | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/8dae12639c6247185877d199e3055d0cacb126ea |
| 8dae126 | https://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 |
| b635a15 | https://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 |
| fda077d | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/fda077db691e09e69eb54e7fbf29feb732da37b5 |
| hjwp | https://patch-diff.githubusercontent.com/hjwp |
| February 24, 2021 10:00 | https://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 |
| cf2f52b | https://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 |
| b537364 | https://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 |
| 952a3d2 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/952a3d2f53ec56ca320b8415097350799f38de10 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| move to a more nested folder structure | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bdf8fe94baffb69097e727135b0c6ce77ac87674 |
| bdf8fe9 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/bdf8fe94baffb69097e727135b0c6ce77ac87674 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| nest the tests too | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/1bb572af7f8fce0a5236fc005c4d5bc305464c94 |
| 1bb572a | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/1bb572af7f8fce0a5236fc005c4d5bc305464c94 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| get all tests passing | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/db8921818a5aaeb3495f0405fa089648ade4b306 |
| db89218 | https://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 |
| c5822aa | https://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 |
| f341bee | https://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 |
| 1e1f238 | https://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 |
| 5c953da | https://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 |
| 262eec0 | https://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 |
| c8fbb60 | https://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 |
| 96301d2 | https://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 |
| 6b404b5 | https://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 |
| fd45a6f | https://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.py | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d9c340c26624145c4114f7b2b6f7bf963999885f |
| d9c340c | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/d9c340c26624145c4114f7b2b6f7bf963999885f |
|
| https://patch-diff.githubusercontent.com/hjwp |
| fix all the imports, get it all working | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c843a10031e471cfd019bbf6f090afa95a251085 |
| c843a10 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/c843a10031e471cfd019bbf6f090afa95a251085 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| get tests working in docker container | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/12d2bc2ca5f9ef644ad762eb022c6bb3a9bb6d0d |
| 12d2bc2 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/12d2bc2ca5f9ef644ad762eb022c6bb3a9bb6d0d |
|
| https://patch-diff.githubusercontent.com/hjwp |
| make mypy slightly stricter | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/28afa9a64c7b109837475ad683a99fef1f9101a2 |
| 28afa9a | https://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 |
| 53ad798 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/53ad7987bfc8b15d029c45a143743903a973215e |
|
| https://patch-diff.githubusercontent.com/hjwp |
| basic uow test, uow and conftest.py changes | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/833d48bedf2599eaaf645def0ee419864bb68fe0 |
| 833d48b | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/833d48bedf2599eaaf645def0ee419864bb68fe0 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| use uow in services, flask app | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/658e61acd072c7f2bdec8fb0e9b50a9adc0edfdb |
| 658e61a | https://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 |
| 7526014 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/7526014be1a288f967393ed7bb544655c87a2817 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| strip out UoW and fake UoW, add some tips | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/916bcdd3d8b7e050588ba33299246d68fc978e64 |
| 916bcdd | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/916bcdd3d8b7e050588ba33299246d68fc978e64 |
|
| https://patch-diff.githubusercontent.com/hjwp |
| update tests | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/6876e7558ffcc36e297a64275c319dee1ba4600a |
| 6876e75 | https://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_exercise | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/00f1574723251a53ce2462be71a4a46c98ad6bd3 |
| 00f1574 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/commits/00f1574723251a53ce2462be71a4a46c98ad6bd3 |
|
| https://patch-diff.githubusercontent.com/apps/copilot-pull-request-reviewer |
| Copilot | https://patch-diff.githubusercontent.com/apps/copilot-pull-request-reviewer |
| January 13, 2026 09:00 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#event-22010822365 |
| started reviewing | https://github.com/copilot/tasks/pull/PR_kwDOChYcqs684R-6?session_id=d4c36db0-6bb2-49d4-ba51-c6cdfc456a47 |
| rickywesker | https://patch-diff.githubusercontent.com/rickywesker |
| January 13, 2026 09:00 | https://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 |
| Copilot | https://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 |
| Copilot | https://patch-diff.githubusercontent.com/apps/copilot-pull-request-reviewer |
| https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#pullrequestreview-3654697630 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Add Copilot custom instructions | https://patch-diff.githubusercontent.com/cosmicpython/code/new/master/.github/instructions?filename=*.instructions.md |
| Learn how to get started | https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| tests/integration/test_orm.py | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-9865ff693abf5673fc1af5e46dbad1ea3ddb40cf7e5db4d47f7bdd4d7a44f4e4 |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| README.md | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5 |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| src/allocation/entrypoints/flask_app.py | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-ca77d03e4625a490df533c9c44307b81c78855d29f0bbfca06453eea710e7929 |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| src/allocation/entrypoints/flask_app.py | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-ca77d03e4625a490df533c9c44307b81c78855d29f0bbfca06453eea710e7929 |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| src/allocation/adapters/orm.py | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-621927d0330b4035d0cb278b1545624d85deadf05be261cb70a46d8231348a76 |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| tests/integration/test_uow.py | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-84a8e789306d61051bcc41f45b1d2fdd92ab893bea191495914acbcefb76fb6b |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| src/allocation/service_layer/unit_of_work.py | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-e6f22e4338540eed354f8c669a96934e619789fc4881f62bb1ffa03b60d7f173 |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| src/allocation/service_layer/unit_of_work.py | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-e6f22e4338540eed354f8c669a96934e619789fc4881f62bb1ffa03b60d7f173 |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| src/allocation/service_layer/unit_of_work.py | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-e6f22e4338540eed354f8c669a96934e619789fc4881f62bb1ffa03b60d7f173 |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| src/allocation/domain/model.py | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110/files/00f1574723251a53ce2462be71a4a46c98ad6bd3#diff-f0c6c7afdfd4b215643c6095e12a9cfb8f6662c9b1a1191e88b15743bd3e7f6f |
| Please reload this page | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110 |
| https://patch-diff.githubusercontent.com/rickywesker |
| rickywesker | https://patch-diff.githubusercontent.com/rickywesker |
| Jan 13, 2026 | https://patch-diff.githubusercontent.com/cosmicpython/code/pull/110#event-22013432881 |
| Sign up for free | https://patch-diff.githubusercontent.com/join?source=comment-repo |
| Sign in to comment | https://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 page | https://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 |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |