Data Science проекты по сути своей всегда комплексные. Они включают в себя различные этапы, такие как исследование исходных данных, очистка данных, отбор признаков, построение модели и интерпретация результатов экспериментов. Каждый из этих шагов предполагает использование различных инструментов и методов, что само по себе уже требует пояснений.
Кроме того прозрачная и доступная всем заинтересованным лицам документация позволяет синхронизироваться в терминологии, в используемых методах, в целях проекта и в том, каким образом мы к этим целям двигаемся.
(docs-example) timur@linux:~$ sphinx-quickstart
Welcome to the Sphinx 7.2.6 quickstart utility.
Selected root path: .
> Separate source and build directories (y/n) [n]: y
> Project name: Docs Example
> Author name(s): Timur Salimov
> Project release []: 0.0.1
> Project language [en]: en,ru
Finished: An initial directory structure has been created.
You should now populate your master file /docs-example/source/index.rst
and create other documentation source files.
Use the Makefile to build the docs, like so:
make builder
where "builder" is one of the supported builders, e.g. html, latex or linkcheck.
my_module
и функцией add
, в которой напишем docstring в google формате.source
:
conf.py
:
conf.py
через параметр плагина:
myst-nb
содержит в себе полностью myst-parser
, поэтому в случае, если используете первый, обязательно отключите второй. Иначе получите ошибку, так как оба эти модуля регистрируются одинаково.conf.py
:
conf.py
через параметр плагина:
MkDocs — это быстрый, простой и “совершенно великолепный”(по их собственным словам) генератор статических сайтов, предназначенный для создания проектной документации. Исходные файлы документации написаны в Markdown и настраиваются с помощью одного файла конфигурации YAML. В качестве основного парсера они используют парсер на основе CommonMark.
mkdocs.yml
:
reference.md
:
mkdocs-jupyter
, который позволяет добавлять в виде отдельных страниц полноценные jupyter тетради, при этом есть возможность кастомизировать результат.mkdocs.yml
:
Quarto — это система публикации/рендеринга отчетов и статей. Quarto является надстройкой над pandoc и полностью поддерживает markdown (с некоторыми расширениями) для написания отчетов.
Как это работает:
Пример Quarto тетради:
quartodoc
._quarto.yml
:
# tell quarto to read the generated sidebar
metadata-files:
- _sidebar.yml
quartodoc:
# the name used to import the package you want to create reference docs for
package: src
# A directory where source files to be documented live.
# This is only necessary if you are not documenting a package,
# but collection of scripts.
source_dir: src
# write sidebar data to this file
sidebar: _sidebar.yml
# Parser settings
parser: google
sections:
- title: Some functions
desc: Functions to inspect docstrings.
contents:
# the functions being documented in the package.
# you can refer to anything: class methods, modules, etc..
- my_module.add
stages:
- pages
default:
image: mambaorg/micromamba
before_script:
- micromamba create -n pages python=3.11 quarto jupyter -c conda-forge
- micromamba run -n pages python -m ipykernel install --user --name python3
cache:
key: generated-reports
paths:
- docs/_site
pages:
stage: pages
script:
- micromamba run -n pages quarto render docs
- cp -r docs/_site public
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH