Skip to content
Pythonic Application Architecture Patterns, the Book
Branch: master
Clone or download
Latest commit fdada37 Jul 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
callouts ran script and added new files Jan 10, 2019
code @ ecba432 fix submodules again Jul 18, 2019
diagrams Delete stuff May 27, 2019
images galaxybrain meme split out to 3 in prologue Jul 15, 2019
theme Revert "try to tweak pdf layout" Feb 27, 2019
.gitignore start using diagrams in chapter 1 Jul 9, 2019
.gitmodules add code as submodule Feb 22, 2019
.travis.yml another attempt at deploy key Jul 5, 2019
Makefile start using diagrams in chapter 1 Jul 9, 2019
Readme.md fix toc in readme Jul 9, 2019
acknowledgements.asciidoc fix a listing in 2, thanks Lukasz Jul 12, 2019
appendix_bootstrap.asciidoc fix listings for di and bootstrap chapters Jul 15, 2019
appendix_csvs.asciidoc Service Layer Jul 8, 2019
appendix_django.asciidoc a few more in appendix django Jul 18, 2019
appendix_project_structure.asciidoc update footnote to leave more room for other opinions #53 Jul 9, 2019
atlas.json move abstractions up in atlas json Jul 9, 2019
author_bio.html ran script and added new files Jan 10, 2019
book.asciidoc some whitespace in book thingie Jul 9, 2019
chapter_01_domain_model.asciidoc fix newsku bug in ch 1 Jul 18, 2019
chapter_02B_abstractions.asciidoc Add "In this chapter" flowerboxes Jul 16, 2019
chapter_02_repository.asciidoc more funky skus in chap 2 Jul 18, 2019
chapter_03_service_layer.asciidoc fix a couple of oldsku listings in 3 Jul 18, 2019
chapter_04_uow.asciidoc even more fun skus in 4 Jul 18, 2019
chapter_05_aggregate.asciidoc Add "In this chapter" flowerboxes Jul 16, 2019
chapter_06_events_and_message_bus.asciidoc feed thru some more skus in 6-10 Jul 18, 2019
chapter_07_external_events.asciidoc feed thru some more skus in 6-10 Jul 18, 2019
chapter_08_commands.asciidoc Add "In this chapter" flowerboxes Jul 16, 2019
chapter_09_cqrs.asciidoc feed thru some more skus in 6-10 Jul 18, 2019
chapter_10_dependency_injection.asciidoc feed thru some more skus in 6-10 Jul 18, 2019
chapters.py start moving abstractions appendix into main flow Jul 9, 2019
checkout-branches-for-ci.py fix travis i hope May 21, 2019
colo.html ran script and added new files Jan 10, 2019
copyright.html ran script and added new files Jan 10, 2019
epilogue_1_how_to_get_there_from_here.asciidoc merge the two epilogues Jul 9, 2019
fix-branches.py show diffs during fix-branches Apr 23, 2019
ix.html ran script and added new files Jan 10, 2019
license.txt cc license Jun 15, 2018
mypy.ini start working on updating chapter 7 May 25, 2019
outline.md update outline for new plan to keep commands chap separate May 1, 2019
part1.asciidoc start moving abstractions appendix into main flow Jul 9, 2019
part2.asciidoc a few other increasingly ad-hoc capitalisations Jul 8, 2019
preface.asciidoc tweak to wording in preface, thanks JL Jul 9, 2019
prologue.asciidoc explain why DIP is a good idea (fix #60). Jul 15, 2019
proposal.md more updates to outline, add links to blog Jan 11, 2019
push-branches.py udpate submodules feed thru code Apr 24, 2019
pytest.ini more git history tests Mar 5, 2019
rebase-appendices.sh script to rebase appendices Jul 5, 2019
rebase-chapters.sh script to rebase chapters Jul 18, 2019
requirements.txt requirements, add mypy and pylint, add code as submodule Mar 26, 2019
reset-exercise-branches.py some helpers for fixups in exercise branches Jul 1, 2019
tests.py add ability to mark a listing as 'existing' so its from before the ch… Jun 12, 2019
titlepage.html experiment with title Jul 9, 2019
toc.html ran script and added new files Jan 10, 2019
travis-deploy-key.enc come on fifth times the charm Jul 5, 2019
update-exercise-branches.py some helpers for fixups in exercise branches Jul 1, 2019
uppercase-titles.py mergey Jul 4, 2019

Readme.md

Book repo

Book Code
Book Build Status Code build status

Table of Contents

O'Reilly have generously said that we will be able to publish this book under a CC license, In the meantime, pull requests, typofixes, and more substantial feedback + suggestions are enthusiastically solicited.

Chapter
Preface
Acknowledgements
Part 1 Intro
Prologue: Why do our designs go wrong?
Chapter 1: Domain Model Build Status
Chapter 2: Repository Build Status
Interlude: Abstractions
Chapter 3: Service Layer (and Flask API) Build Status
Chapter 4: Unit of Work Build Status
Chapter 5: Aggregates Build Status
Part 2 Intro
Chapter 6: Events and the Message Bus Build Status
Chapter 7: Event-Driven Architecture Build Status
Chapter 8: Commands Build Status
Chapter 9: CQRS Build Status
Chapter 10: Dependency Injection Build Status
Epilogue 1: How do I get there from here?
Appendix B: Project Structure Build Status
Appendix C: A major infrastructure change, made easy Build Status
Appendix D: Django Build Status
Appendix E: Bootstrap Build Status

Below is just instructions for me and bob really.

Dependencies:

  • asciidoctor
  • Pygments (for syntax higlighting)
  • asciidoctor-diagram (to render images from the text sources in ./images)
gem install asciidoctor
python2 -m pip install --user pygments
gem install pygments.rb
gem install asciidoctor-diagram

Commands

make html  # builds local .html versions of each chapter
make test  # does a sanity-check of the code listings
You can’t perform that action at this time.