Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

πŸ—ƒοΈ Add project directory structure #47

Merged
merged 11 commits into from
Mar 28, 2024
1 change: 0 additions & 1 deletion .code_quality/bandit.yaml

This file was deleted.

6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,13 @@ docs_view: ## Build and serve the documentation
@echo "πŸš€ Viewing documentation..."
@poetry run mkdocs serve

docs-test: ## Test if documentation can be built without warnings or errors
docs_test: ## Test if documentation can be built without warnings or errors
@poetry run mkdocs build -s

view_tree: ## View the project tree
@echo "πŸš€ Viewing project tree..."
@tree -a {{cookiecutter.repo_name}} -I '__init__.py|.gitkeep'

####----Tests----####

test: ## Test the code with pytest and coverage
Expand Down
37 changes: 31 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,6 @@ Folder structure for data science projects [why?](https://towardsdatascience.co
.
β”œβ”€β”€ codecov.yml # configuration for codecov
β”œβ”€β”€ .code_quality
β”‚Β Β  β”œβ”€β”€ bandit.yaml # bandit configuration
β”‚Β Β  β”œβ”€β”€ mypy.ini # mypy configuration
β”‚Β Β  └── ruff.toml # ruff configuration
β”œβ”€β”€ data
Expand All @@ -127,12 +126,13 @@ Folder structure for data science projects [why?](https://towardsdatascience.co
β”‚Β Β  β”‚Β Β  └── action.yml # github action to setup python environment
β”‚Β Β  β”œβ”€β”€ dependabot.md # github action to update dependencies
β”‚Β Β  β”œβ”€β”€ pull_request_template.md # template for pull requests
β”‚Β Β  └── workflows
β”‚Β Β  β”œβ”€β”€ docs.yml # github action to build documentation (mkdocs)
β”‚Β Β  β”œβ”€β”€ pre-commit_autoupdate.yml # github action update pre-commit hooks
β”‚Β Β  └── test.yml
β”‚Β Β  └── workflows # github actions workflows
β”‚Β Β  β”œβ”€β”€ ci.yml # run continuous integration (tests, pre-commit, etc.)
β”‚Β Β  β”œβ”€β”€ dependency_review.yml # review dependencies
β”‚Β Β  β”œβ”€β”€ docs.yml # build documentation (mkdocs)
β”‚Β Β  └── pre-commit_autoupdate.yml # update pre-commit hooks
β”œβ”€β”€ .gitignore # files to ignore in git
β”œβ”€β”€ Makefile # useful commands to setup environment,
β”œβ”€β”€ Makefile # useful commands to setup environment, run tests, etc.
β”œβ”€β”€ models # store final models
β”œβ”€β”€ notebooks
β”‚Β Β  β”œβ”€β”€ 1-data # data extraction and cleaning
Expand All @@ -149,9 +149,34 @@ Folder structure for data science projects [why?](https://towardsdatascience.co
β”œβ”€β”€ pyproject.toml # dependencies for poetry
β”œβ”€β”€ README.md # description of your project
β”œβ”€β”€ src # source code for use in this project
β”‚ β”œβ”€β”€ libs # custom python scripts
β”‚ β”‚ β”œβ”€β”€ data_etl # data extraction, transformation, and loading
β”‚ β”‚ β”œβ”€β”€ data_validation # data validation
β”‚ β”‚ β”œβ”€β”€ feat_cleaning # feature engineering data cleaning
β”‚ β”‚ β”œβ”€β”€ feat_encoding # feature engineering encoding
β”‚ β”‚ β”œβ”€β”€ feat_imputation # feature engineering imputation
β”‚ β”‚ β”œβ”€β”€ feat_new_features # feature engineering new features
β”‚ β”‚ β”œβ”€β”€ feat_pipelines # feature engineering pipelines
β”‚ β”‚ β”œβ”€β”€ feat_preprocess_strings # feature engineering pre process strings
β”‚ β”‚ β”œβ”€β”€ feat_scaling # feature engineering scaling data
β”‚ β”‚ β”œβ”€β”€ feat_selection # feature engineering feature selection
β”‚ β”‚ β”œβ”€β”€ feat_strings # feature engineering strings
β”‚ β”‚ β”œβ”€β”€ metrics # evaluation metrics
β”‚ β”‚ β”œβ”€β”€ model # model training and prediction
β”‚ β”‚ β”œβ”€β”€ model_evaluation # model evaluation
β”‚ β”‚ β”œβ”€β”€ model_selection # model selection
β”‚ β”‚ β”œβ”€β”€ model_validation # model validation
β”‚ β”‚ └── reports # reports
β”‚ β”œβ”€β”€ pipelines
β”‚ β”‚ β”œβ”€β”€ data_etl # data extraction, transformation, and loading
β”‚ β”‚ β”œβ”€β”€ feature_engineering # prepare data for modeling
β”‚ β”‚ β”œβ”€β”€ model_evaluation # evaluate model performance
β”‚ β”‚ β”œβ”€β”€ model_prediction # model predictions
β”‚ β”‚ └── model_train # train models
β”œβ”€β”€ tests # test code for your project
└── .vscode # vscode configuration
β”œβ”€β”€ extensions.json # list of recommended extensions
β”œβ”€β”€ launch.json # vscode launch configuration
└── settings.json # vscode settings
```

Expand Down
1 change: 1 addition & 0 deletions docs/data_schema.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--8<-- "{{cookiecutter.repo_name}}/data/README.md"
1 change: 1 addition & 0 deletions docs/directory_hierarchy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--8<-- "README.md:104:182"
3 changes: 2 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
--8<-- "README.md"
--8<-- "README.md::20"
--8<-- "README.md:52"
8 changes: 6 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,15 @@ theme:

nav:
- πŸ“– Introduction: 'index.md'
- πŸ—ƒοΈ Project structure:
- πŸ—‚οΈ Directory Hierarchy: 'directory_hierarchy.md'
- πŸ—„οΈ Data Schema: 'data_schema.md'
- πŸ”‘ Setup Tokens: 'setup_tokens.md'
- βš™οΈ Pre-commit configuration: 'pre-commit.md'
- βš™οΈ Pre-commit configuration: 'pre-commit.md'
- πŸš€ Github Actions:
- Pre-commit_autoupdate: 'github_actions/gh_action_pre-commit-autoupdate.md'
- πŸ’» VSCode configuration: 'vscode.md'
- 🏠 Local Dev setup: 'local_setup.md'
- πŸ› οΈ Local Dev setup: 'local_setup.md'

markdown_extensions:
- pymdownx.snippets:
Expand All @@ -39,3 +42,4 @@ markdown_extensions:
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.superfences
- tables
Loading
Loading