# New GT4Py repository
> "One repo, multiple packages"
---
## Repository layout
- Generic _README_
- One root folder per Python package:
- README.md
- eve/
- gt4pyx/
- [other_project/?]
---
## Package layout
- project/
- **docs/**
- **src/**
- **tests/**
- AUTHORS.rst/.md
- CONTRIBUTING.rst/.md
- LICENSE.txt
- README.rst/.md
- [config files: pyproject, pre-commit, tox, ...]
- [CHANGELOG.md/.rst ??]
---
## Package layout
- Use `src/` layout (famous [motivation](https://hynek.me/articles/testing-packaging/) by Hynek Schlawack)
- Based on common repository practices:
- [pyscaffold](https://pyscaffold.org/) (mentioned in PyPA list of third party projects)
- [cookiecutter-pylibrary ](https://github.com/ionelmc/cookiecutter-pylibrary) template (by relevant Python developer _ionelmc_)
---
## Package configuraion
- linting: `flake8` (+ plugins)
- formatting: `black`
- versioning: `bumpversion` (`setuptools_scm` does not work for this layout)
- docs: `sphinx` (with [MyST](https://myst-parser.readthedocs.io/en/latest/sphinx/intro.html) parser ??)
- QA automation: `pre-commit`
- test automation: `tox`
- _Markdown_ instead of ReST for info files ??
{"metaMigratedAt":"2023-06-16T23:50:43.037Z","metaMigratedFrom":"YAML","title":"New GT4Py repository","breaks":false,"slideOptions":"{\"transition\":\"slide\",\"theme\":\"moon\"}","contributors":"[{\"id\":\"638479c6-a3a0-40db-a53b-aad8e4f7d122\",\"add\":1301,\"del\":0}]"}