exasol / python-toolbox

Infrastructure & Automation Tooling for Python Projects
https://exasol.github.io/python-toolbox/
MIT License
2 stars 0 forks source link

✨ Develop a Cookiecutter Template for Python Projects #166

Closed Nicoretti closed 2 months ago

Nicoretti commented 4 months ago

Context

To ensure all our new projects adhere to our standard Python project structure and facilitate smoother project initiation, we've decided to create a cookiecutter template. Previously, we encountered several issues (#87, #156, #157) when initiating new projects in combination with the python-toolbox. This was primarily because the python-toolbox was mainly used for our existing projects, which already complied with our basic project structure.

Steps

  1. Execute the cookiecutter with the proposed template.
  2. Install the project dependencies using poetry shell and poetry install.
  3. Utilize the python-toolbox (tbx), to further bootstrap the workspace (for instance, setting up CI workflows). Please refer to the existing documentation for more details.

Background

Here's an outline of the repository template we're proposing:

.gitignore
.github/
.pre-commit-config.yaml
doc/
 |-_static/
 | |- light-exasol-logo.svg
 | |- dark-exasol-logo.svg
 |-changes/
 | |- changelog.md
 | |- unreleased.md
 |-conf.py
 |-index.rst
 |
exasol/
 |-<name>
    |- __init__.py
test/
 |- integration/
 |  |- conftest.py
 |  |- integration_smoke_test.py
 |-unit/
 | |- conftest.py
 | |- unit_smoke_test.py
 |-conftest.py
README.md
LICENSE
noxfile.py
noxconfig.py
pyproject.toml
error_code_config.yml

References

Tasks