J Project Tree

The final directory tree for the Zipf’s Law project looks as follows:

zipf/
├── .gitignore
├── CITATION.md
├── CONDUCT.md
├── CONTRIBUTING.md
├── KhanVirtanen2020.md
├── LICENSE.md
├── Makefile
├── README.rst
├── environment.yml
├── requirements.txt
├── requirements_docs.txt
├── setup.py
├── data
│   ├── README.md
│   ├── dracula.txt
│   ├── frankenstein.txt
│   ├── jane_eyre.txt
│   ├── moby_dick.txt
│   ├── sense_and_sensibility.txt
│   ├── sherlock_holmes.txt
│   └── time_machine.txt
├── docs
│   ├── Makefile
│   ├── conf.py
│   ├── index.rst
│   └── source
│   │   ├── collate.rst
│   │   ├── countwords.rst
│   │   ├── modules.rst
│   │   ├── plotcounts.rst
│   │   ├── test_zipfs.rst
│   │   └── utilities.rst
├── results
│   ├── collated.csv
│   ├── collated.png
│   ├── dracula.csv
│   ├── dracula.png 
│   ├── frankenstein.csv
│   ├── jane_eyre.csv
│   ├── jane_eyre.png 
│   ├── moby_dick.csv
│   ├── sense_and_sensibility.csv
│   ├── sherlock_holmes.csv
│   └── time_machine.csv
├── test_data
│   ├── random_words.txt
│   └── risk.txt
└── zipf
    ├── book_summary.sh
    ├── collate.py
    ├── countwords.py
    ├── plotcounts.py
    ├── plotparams.yml
    ├── script_template.py
    ├── test_zipfs.py
    └── utilities.py

Each file was introduced and subsequently modified in the following chapters, sections and exercises:

.gitignore: Introduced in Section 5.9.

CITATION.md: Introduced in Section 13.7.

CONDUCT.md: Introduced in Section 7.3 and committed to the repository in Exercise 7.14.2.

CONTRIBUTING.md: Introduced in Section 7.11 and committed to the repository in Exercise 7.14.4.

KhanVirtanen2020.md: Introduced in Section 12.2.2.

LICENSE.md: Introduced in Section 7.4.1 and committed to the repository in Exercise 7.14.3.

Makefile: Introduced and updated throughout Chapter 8. Updated again in Exercise 9.8.1.

README.rst: Introduced as a .md file in Section 6.6, updated in Section 6.8 and then converted to a .rst file with further updates in Section 13.6.2.

environment.yml: Introduced in Section 12.2.1.

requirements.txt: Introduced in Section 11.9.

requirements_docs.txt: Introduced in Section 13.6.3.

setup.py: Introduced and updated throughout Chapter 13.

data/* : Downloaded as part of the setup instructions (Appendix E).

docs/*: Introduced in Section 13.6.3.

results/collated.*: Generated in Section 8.9.

results/dracula.csv: Generated in Section 4.7.

results/dracula.png: Generated in Section 5.5 and updated in Section 6.4.

results/jane_eyre.csv: Generated in Section 4.7.

results/jane_eyre.png: Generated in Section 4.9.

results/moby_dick.csv: Generated in Section 4.7.

results/frankenstein.csv: Generated in Section 8.7.

results/sense_and_sensibility.csv: Generated in Section 8.7.

results/sherlock_holmes.csv: Generated in Section 8.7.

results/time_machine.csv: Generated in Section 8.7.

test_data/random_words.txt: Generated in Section 11.6.

test_data/risk.txt: Introduced in Section 11.2.

zipf/: Introduced as bin/ in Section 1.4.2 and changes name to zipf/ in Section 13.1.

zipf/book_summary.sh: Introduced and updated throughout Chapter 3.

zipf/collate.py: Introduced in Section 4.7 and updated in Section 4.8, throughout Chapter 10 and in Section 13.1.

zipf/countwords.py: Introduced in Section 4.4 and updated in Sections 4.8 and 13.1.

zipf/plotcounts.py: Introduced in Exercise 4.11.2 and updated throughout Chapters 56 and 9.

zipf/plotparams.yml: Introduced in Section 9.6.

zipf/script_template.py: Introduced in Section 4.2 and updated in Section 4.3.

zipf/test_zipfs.py: Introduced and updated throughout Chapter 11.

zipf/utilities.py: Introduced in Section 4.8.