Skip to content

Commit

Permalink
Feature/fix_gh_page (#11)
Browse files Browse the repository at this point in the history
* ✨ 📝 add gh-pages badge

* ⬆️ upgrade mkdocs-material

* 🔧  update mkdocs code configurations

* 📝 ✏️  fix links in readme to absolute links
  • Loading branch information
JoseRZapata authored Jan 27, 2024
1 parent 0228427 commit 4501b90
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 27 deletions.
52 changes: 29 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![pages-build-deployment](https://github.com/JoseRZapata/data-science-project-template/actions/workflows/pages/pages-build-deployment/badge.svg?branch=gh-pages)](https://github.com/JoseRZapata/data-science-project-template/actions/workflows/pages/pages-build-deployment)

Template for a data science projects with software development tools

Expand Down Expand Up @@ -40,17 +41,23 @@ It is highly recommended to use a python version manager like [Pyenv] and this p
1. [Install Pyenv](https://github.com/pyenv/pyenv?tab=readme-ov-file#installation)
2. [Install Poetry](https://python-poetry.org/docs/#installation)

Via [Cruft](recommended):
Via [Cruft] - **recommended**:

```shell script
```bash title="install cruft"
pip install --user cruft # Install `cruft` on your path for easy access
```

```shell title="create project"
cruft create https://github.com/JoseRZapata/data-science-project-template
```

Via [Cookiecutter]:

```shell script
```shell title="install cookiecutter"
pip install --user cookiecutter # Install `cookiecutter` on your path for easy access
```

```shell title="create project"
cookiecutter gh:JoseRZapata/data-science-project-template
```

Expand All @@ -60,13 +67,13 @@ Note: **_Cookiecutter_** uses `gh:` as short-hand for `https://github.com/`

If the project was originally installed via [Cookiecutter], you must first use [Cruft] to link the project with the original template:

```shell script
```shell
cruft link https://github.com/JoseRZapata/data-science-project-template
```

Then/else:

```shell script
```shell
cruft update
```

Expand Down Expand Up @@ -135,7 +142,7 @@ Folder structure for data science projects [why?](https://towardsdatascience.co
with [Poetry] - [`why?`](https://mathdatasimplified.com/poetry-a-better-way-to-manage-python-dependencies/)
- Project workflow orchestration
with [Make] as an [interface shim](https://en.wikipedia.org/wiki/Shim_(computing))
- Self-documenting [Makefile]({{cookiecutter.repo_name}}/Makefile); just type
- Self-documenting [Makefile](https://github.com/JoseRZapata/data-science-project-template/blob/main/{{cookiecutter.repo_name}}/Makefile); just type
`make` on the command line to display auto-generated documentation on available
targets:
- Automated Cookiecutter template synchronization with [Cruft] - [`why?`](https://careers.wolt.com/en/blog/tech/project-template-for-modern-python-packages)
Expand All @@ -145,36 +152,36 @@ Folder structure for data science projects [why?](https://towardsdatascience.co

#### :seedling: Conditionally Rendered Python Package or Project Boilerplate

- [Optional] [Jupyter](https://jupyter.org/) support
- _Optional:_ [Jupyter] support

### :wrench: Maintainability

#### :label: Type Checking and Data Validation

- Static type-checking with [Mypy](http://mypy-lang.org)
- Static type-checking with [Mypy]

#### :white_check_mark: Testing/Coverage

- Testing
with [Pytest]
- Doctests
with [`xdoctest`](https://xdoctest.readthedocs.io)
with [xdoctest]
- Code coverage
with [Coverage.py](https://coverage.readthedocs.io/)
with [Coverage.py]
- Coverage reporting
with [Codecov]

#### :rotating_light: Linting

- Code quality:
- [Ruff](https://github.com/charliermarsh/ruff)
- [Ruff]
- A blazing-fast (10x-100x faster) replacement for
[Pylint], [Flake8] (including major plugins) and more linters under a single, common interface
~~[Pylint]~~, ~~[Flake8]~~ (including major plugins) and more linters under a single, common interface
- [ShellCheck](https://github.com/koalaman/shellcheck)
- Code formatting:
- [Ruff](https://github.com/charliermarsh/ruff)
- [Ruff]
- A blazing-fast (10x-100x faster) replacement for
[Black], [isort], [pyupgrade] and more formaters under a single, common interface
~~[Black]~~, ~~[isort]~~, ~~[pyupgrade]~~ and more formaters under a single, common interface

- General file formatting:
- [`end-of-file-fixer`](https://github.com/pre-commit/pre-commit-hooks#end-of-file-fixer)
Expand All @@ -192,8 +199,8 @@ Folder structure for data science projects [why?](https://towardsdatascience.co
#### :construction_worker: CI/CD

- Dependency updates
with [Dependabot](https://dependabot.com/)
- Automated [Dependabot](https://dependabot.com/) PR merging
with [Dependabot]
- Automated [Dependabot] PR merging
with the [Dependabot Auto Merge GitHub Action](https://github.com/ahmadnassri/action-dependabot-auto-merge)

## :lock: Security
Expand Down Expand Up @@ -234,11 +241,11 @@ Folder structure for data science projects [why?](https://towardsdatascience.co
[Black]: https://github.com/psf/black
[Codecov]: https://codecov.io/
[Cookiecutter]:https://cookiecutter.readthedocs.io/stable/
[coverage.py]: https://coverage.readthedocs.io/
[Coverage.py]: https://coverage.readthedocs.io/
[Cruft]: https://cruft.github.io/cruft/
[Data structure]: {{cookiecutter.repo_name}}/data/README.md
[Data structure]: https://github.com/JoseRZapata/data-science-project-template/blob/main/{{cookiecutter.repo_name}}/data/README.md
[deepcheck]:https://deepcheck.io/
[dependabot]: https://github.com/dependabot/dependabot-core
[Dependabot]: https://github.com/dependabot/dependabot-core
[depy]:https://fpgmaas.github.io/deptry/
[DVC]:https://dvc.org/
[Flake8]:https://github.com/PyCQA/flake8
Expand All @@ -255,23 +262,22 @@ Folder structure for data science projects [why?](https://towardsdatascience.co
[MlFlow]:https://www.mlflow.org/
[Mypy]: http://mypy-lang.org/
[myst]: https://myst-parser.readthedocs.io/
[Notebook template]: {{cookiecutter.repo_name}}/notebooks/notebook_template.ipynb
[Notebook template]: https://github.com/JoseRZapata/data-science-project-template/blob/main/{{cookiecutter.repo_name}}/notebooks/notebook_template.ipynb
[NumPy]:https://numpy.org/
[OmegaConf]: https://omegaconf.readthedocs.io/en/latest/
[Pandas]:https://pandas.pydata.org/
[pandera]:(https://pandera.readthedocs.io/en/stable/)
[Poetry]: https://python-poetry.org/
[pre-commit]: https://pre-commit.com/
[Pull Request template]: {{cookiecutter.repo_name}}/.github/pull_request_template.md
[Pull Request template]: https://github.com/JoseRZapata/data-science-project-template/blob/main/{{cookiecutter.repo_name}}/.github/pull_request_template.md
[Pyenv]: https://github.com/pyenv/pyenv
[Pylint]:https://github.com/PyCQA/pylint
[pypi]: https://pypi.org/
[Pytest]: https://docs.pytest.org/en/latest/
[pyupgrade]: https://github.com/asottile/pyupgrade
[Ruff]: https://docs.astral.sh/ruff/
[safety]: https://github.com/pyupio/safety
[scikit-learn]:https://scikit-learn.org/
[testpypi]: https://test.pypi.org/
[tox]: https://tox.readthedocs.io/
[typeguard]: https://github.com/agronholm/typeguard
[xdoctest]: https://github.com/Erotemic/xdoctest
[xdoctest]: https://xdoctest.readthedocs.io/en/latest/
8 changes: 8 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ theme:
toggle:
icon: material/toggle-switch
name: Switch to light mode
features:
- content.code.copy

nav:
- Introduction: 'index.md'
Expand All @@ -23,3 +25,9 @@ markdown_extensions:
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite
- pymdownx.superfences
8 changes: 4 additions & 4 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 4501b90

Please sign in to comment.