From e4dab2eae10c04584a3f19c744c3a54a52037fbd Mon Sep 17 00:00:00 2001 From: Bogdan Banasiak Date: Wed, 22 Oct 2025 16:05:03 +0200 Subject: [PATCH 1/2] Update README.md and documentation with mkdocs --- README.md | 162 ++++++------- build_docs.sh | 10 - cookiecutter.json | 14 -- docs/Makefile | 37 +-- docs/assets/extra.css | 18 ++ docs/conf.py | 90 -------- docs/index.md | 33 +++ docs/index.rst | 30 --- docs/make.bat | 50 ++-- docs/overall_design.md | 86 ------- docs/quickstart.md | 162 +++++++++---- docs/template_content.md | 61 +++++ docs/template_content.rst | 13 -- docs/template_structure.md | 67 ------ docs/tmp_content/github_ci.md | 152 ++++++++---- docs/tmp_content/gitlab_ci.md | 317 ++++++++++++++------------ docs/tmp_content/mise.md | 62 +++++ docs/tmp_content/overview.md | 46 ---- docs/tmp_content/precommit.md | 132 +++++------ docs/tmp_content/project_structure.md | 69 ++++++ docs/tmp_content/python_structure.md | 106 --------- docs/tmp_content/semver_package.md | 53 ----- mkdocs.yml | 89 ++++++++ 23 files changed, 906 insertions(+), 953 deletions(-) delete mode 100755 build_docs.sh delete mode 100644 cookiecutter.json create mode 100644 docs/assets/extra.css delete mode 100644 docs/conf.py create mode 100644 docs/index.md delete mode 100644 docs/index.rst delete mode 100644 docs/overall_design.md create mode 100644 docs/template_content.md delete mode 100644 docs/template_content.rst delete mode 100644 docs/template_structure.md create mode 100644 docs/tmp_content/mise.md delete mode 100644 docs/tmp_content/overview.md create mode 100644 docs/tmp_content/project_structure.md delete mode 100644 docs/tmp_content/python_structure.md delete mode 100644 docs/tmp_content/semver_package.md create mode 100644 mkdocs.yml diff --git a/README.md b/README.md index a48afa07..d347e3ab 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,6 @@ Useful template to bootstrap new professional data science and python projects. [Documentation](https://deepsense-ai.github.io/ds-template/) -![Preview how to use cookiecutter template for ds-template](https://github.com/deepsense-ai/ds-template/blob/main/docs/_static/make_template.gif?raw=true) - ##### Table of Contents * [What is it?](#what-is-it) * [What are the benefits?](#what-are-the-benefits) @@ -13,115 +11,99 @@ Useful template to bootstrap new professional data science and python projects. # What is it? -Its intended use is to generate basic, most common configuration - however each team and developer is encouraged to modify it for its special needs. +A comprehensive project template generator for data science and Python projects, which generates basic, +most common configuration using proven templates. It is a result of our experiences with building data science projects and is a part of our internal best practices, however it is not a silver bullet and should be treated as a starting point for your project. -Especially some settings might be less/more restrictive than you needs but we believe it is better to start with a good baseline and modify it later than to start from scratch. +Especially some settings might be less/more restrictive than you need, but we believe it is better to start with a good baseline and modify it later than to start from scratch. # What are the benefits? Generated project consists of: -1. Basic python package structure: - * `pyproject.toml` - central configuration for build system, package metadata, dependencies, and tool configurations (including linters and formatters) - * a very minimal python code + example test -1. pre-commit hooks: - * `ruff` - fast linter and formatter that replaces the functionality of: - * `black` - code formatting - * `flake8` - style and linting - * `pycln` - unused imports cleanup - * `isort` - import sorting - * `pylint` - static code analysis - * `pyupgrade` - code modernization for given python version - * `bandit` - security issue detection - required for SOC 2 Certification - * `mypy` - static type checking - * `jupytext` - (optional) syncs jupyter notebooks to plain python files -1. Sphinx documentation: - * basic preconfigured documentation template - * recommended extensions - * page with list of autogenerated third party python packages list with licenses -1. Basic script to create venv -1. Minimal README.md file -1. Preconfigured semantic versioning with bump2version -1. Dockerfile for pre-commit image -1. Gitlab integration (default, optional): - * linter stage (`pre-commit run --all`) - * tests (`pytest`) + code coverage - * license checks of installed packages - * building and hosting documentation on GitLab Pages - * building package and uploading to private GitLab Package registry - * security: `trivy` - required for SOC 2 Certification - * steps to rebuild linter docker image -1. GitHub integration (optional): - * linter stage (`pre-commit run --all`) - * tests (`pytest`) + code coverage - * license checks of installed packages - * building and hosting documentation on GitHub Pages (if enabled) - * testing if package can be build - * security: `trivy` - required for SOC 2 Certification, but is reporting only -1. Other less important files (more configurations, `.gitignore` etc.) +1. **Modern Python Workspace Structure**: + * `pyproject.toml` - modern Python project configuration with uv workspace support + * `mise.toml` - development environment management + * `packages/` directory for multi-package monorepo structure + * Individual package templates (API, CLI, Core, Frontend, Worker, Library) + +2. **Code Quality & Linting** (via Ruff): + * **Code formatting** - automatic code formatting + * **Import sorting** - organized import statements + * **Type checking** - mypy integration for type safety + * **Security scanning** - bandit for security vulnerability detection + * **Code style** - comprehensive linting rules (pycodestyle, pyflakes, pylint, etc.) + * **Documentation** - pydocstyle for docstring standards + * **Modernization** - pyupgrade for Python version compatibility + +3. **Testing & Coverage**: + * **pytest** - modern testing framework with async support + * **Coverage reporting** - comprehensive test coverage analysis + * **Test discovery** - automatic test detection and execution + +4. **Documentation** (MkDocs with Material theme): + * **Modern documentation** - MkDocs with Material Design theme + * **Interactive features** - search, navigation, Mermaid diagrams + * **Auto-generated content** - package documentation and API references + * **Custom styling** - branded documentation appearance + +5. **CI/CD Integration** (optional - choose GitHub, GitLab, or None): + * **GitHub Actions** (if selected): + - Automated linting and testing on every push/PR + - Security scanning with Trivy + - Package building and artifact upload + - Code coverage reporting + * **GitLab CI** (if selected): + - Multi-stage pipeline (lint, test, package, pages, security, deploy) + - Docker-based pre-commit image for faster builds + - GitLab Pages documentation hosting + - Package registry integration + - Security vulnerability scanning + +6. **Development Tools**: + * **uv** - fast Python package manager and project management + * **License checking** - automated license compliance validation + * **Docker support** - pre-commit Docker image for consistent environments + * **Scripts** - utility scripts for package creation and management Most up-to date descriptions, tips and explanations are in the [documentation](https://deepsense-ai.github.io/ds-template/). # Getting started -### Generate project template locally: +## Usage -Install **cookiecutter** (at least **>=2.1.1** version) first and then point it to this repository. ```bash - $ pip install cookiecutter>=2.1.1 +# Create a new data science application +uvx ds-template ``` +Select from predefined package types and generate a standard project structure -**Cookiecutter** will ask you set of questions so it can generate customized project. +## Development -``` bash - $ cookiecutter ds-template/ - client_name [ds]: Client Name - project_name [default]: Sunglass - repo_name [client-name-sunglass]: - ... -``` +To set up for development: -### How to initialize new repository with the template: +```bash +# Clone the repository +git clone https://github.com/deepsense-ai/ds-template.git +cd ds-template -Firstly, you need to create a new project. The name should be of the following convention: +# Install dependencies +uv sync -`-` +# Run the CLI +uv run ds-template +``` -Execute the following steps then: +## Creating Custom Templates -Approach 1 (clone empty): +Templates are stored in the `templates/` directory. Each template consists of: -```bash -# clone empty repository to repo_name -$ git clone -# install cookiecutter if not yet installed -$ pip install cookiecutter -# generate cookiecutter with --force and ensure the repo_name is set to the same name as directory you cloned git repository to. -$ cookiecutter -f git@github.com:deepsense-ai/ds-template.git -# finally, add all files, commit and push. -$ git add . -$ git commit -m "Initialize repository with default project template" -$ git push origin -``` - -Approach 2 (initialize git locally and push to remote): +1. A directory with the template name +2. A `template_config.py` file with template metadata and questions +3. Template files, with `.j2` extension for files that should be processed as Jinja2 templates -```bash -# install cookiecutter if not yet installed -$ pip install cookiecutter -# generate project -$ cookiecutter git@github.com:deepsense-ai/ds-template.git -# enter created directory -$ cd -# now we need to connect it to repository (assuming empty repository) -$ git init -$ git remote add origin -$ git fetch -$ git checkout -t origin/main -# finally, add all files, commit and push. -$ git add . -$ git commit -m "Initialize repository with default project template" -$ git push --set-upstream origin main -$ git push origin -``` +Available variables in templates: +- `project_name`: Name of the project +- `pkg_name`: Name of the python package +- `python_version`: Python version +- Custom variables from template questions diff --git a/build_docs.sh b/build_docs.sh deleted file mode 100755 index 7639dcfe..00000000 --- a/build_docs.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# Force Sphinx to rebuild documentation - otherwise it generates inconsistencies. -rm -rf public/ docs/_build - -# Exit on error for the next commands -set -e -x - -# Build sphinx docs to public/ directory -sphinx-build -d docs/_build/doctrees docs/ public/ diff --git a/cookiecutter.json b/cookiecutter.json deleted file mode 100644 index f47efeaa..00000000 --- a/cookiecutter.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "client_name": "ds", - "project_name": "default", - "__project_name_slug": "{{cookiecutter.project_name | slugify}}", - "__client_name_slug": "{{cookiecutter.client_name | slugify}}", - "repo_name": "{{cookiecutter.__client_name_slug}}-{{cookiecutter.__project_name_slug}}", - "ci": ["Github", "GitLab", "None"], - "jupytext": ["No", "Yes"], - "docs": ["Sphinx", "No docs"], - "versioning": ["Bumpversion", "None"], - "python_package_name": "{{ cookiecutter.__project_name_slug.replace('-', '_') }}", - "__package_name": "{{ cookiecutter.python_package_name }}", - "_copy_without_render": [".github/workflows/*.yml", ".github/workflows/*.yaml"] -} diff --git a/docs/Makefile b/docs/Makefile index d4bb2cbb..e6027738 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,20 +1,29 @@ -# Minimal makefile for Sphinx documentation +# Minimal makefile for MkDocs documentation # -# You can set these variables from the command line, and also -# from the environment for the first two. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -SOURCEDIR = . -BUILDDIR = _build +# You can set these variables from the command line +MKDOCS ?= mkdocs +SOURCEDIR = . +BUILDDIR = site -# Put it first so that "make" without argument is like "make help". +# Put it first so that "make" without argument is like "make help" help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @echo "MkDocs documentation build commands:" + @echo " serve Start development server" + @echo " build Build the documentation" + @echo " clean Clean the build directory" + @echo " deploy Deploy to GitHub Pages" -.PHONY: help Makefile +.PHONY: help serve build clean deploy -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) +serve: + @$(MKDOCS) serve + +build: + @$(MKDOCS) build + +clean: + @rm -rf "$(BUILDDIR)" + +deploy: + @$(MKDOCS) gh-deploy \ No newline at end of file diff --git a/docs/assets/extra.css b/docs/assets/extra.css new file mode 100644 index 00000000..f9c6e1e9 --- /dev/null +++ b/docs/assets/extra.css @@ -0,0 +1,18 @@ +/* Additional styling for MkDocs Material theme */ +.md-typeset h1 { + color: #2196f3; +} + +.md-typeset h2 { + color: #1976d2; +} + +/* Code blocks styling */ +.md-typeset pre { + border-radius: 4px; +} + +/* Navigation improvements */ +.md-nav__title { + font-weight: 600; +} \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py deleted file mode 100644 index caa9b3bb..00000000 --- a/docs/conf.py +++ /dev/null @@ -1,90 +0,0 @@ -# Configuration file for the Sphinx documentation builder. -# -# For the full list of built-in configuration values, see the documentation: -# https://www.sphinx-doc.org/en/master/usage/configuration.html - -# -- Project information ----------------------------------------------------- -# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information - -project = 'Project Template' -author = 'deepsense.ai' -copyright = f'2023, {author}' - -# -- General configuration --------------------------------------------------- -# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration - -extensions = [ - "sphinx.ext.napoleon", # support for google style docstrings - "sphinx.ext.autosummary", - "sphinx.ext.intersphinx", - "sphinx.ext.autosectionlabel", - "myst_parser", - "sphinxcontrib.mermaid", -] - -templates_path = ['_templates'] -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] - -# -- Options for HTML output ------------------------------------------------- -# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output - -html_theme = "sphinx_material" -html_static_path = ["_static"] - -autosectionlabel_prefix_document = True - -# Mapping to link other documentations -intersphinx_mapping = { - 'python': ('https://docs.python.org/3', None), -} - - -# Configuration for Napoleon extension -napoleon_google_docstring = True -napoleon_numpy_docstring = True -napoleon_include_init_with_doc = False -napoleon_include_private_with_doc = False -napoleon_include_special_with_doc = True -napoleon_use_admonition_for_examples = False -napoleon_use_admonition_for_notes = False -napoleon_use_admonition_for_references = False -napoleon_use_ivar = False -napoleon_use_param = True -napoleon_use_rtype = True -napoleon_preprocess_types = False -napoleon_type_aliases = None -napoleon_attr_annotations = True - -add_module_names = False -autodoc_typehints = 'both' - -html_theme_options = { - #'nav_title': project, - - # Set the color and the accent color - 'color_primary': 'blue', - 'color_accent': 'light-blue', - - # Set the repo location to get a badge with stats - 'repo_url': 'https://github.com/deepsense-ai/ds-template/', - 'repo_name': project, - - # Visible levels of the global TOC; -1 means unlimited - 'globaltoc_depth': 3, - # If False, expand all TOC entries - 'globaltoc_collapse': True, - # If True, show hidden TOC entries - 'globaltoc_includehidden': False, -} - -# workaround for sphinx material issue with empty left sidebar -# See: https://github.com/bashtage/sphinx-material/issues/30 -html_sidebars = { - "**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"] -} - -source_suffix = { - '.rst': 'restructuredtext', - '.txt': 'markdown', - '.md': 'markdown', -} \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..3fd811aa --- /dev/null +++ b/docs/index.md @@ -0,0 +1,33 @@ +--- +

🚀 ds-template

+

+ Create custom projects from templates. +

+--- + +A comprehensive project template generator for data science and Python projects. + + +This tool is designed to bootstrap professional data science and Python projects with modern tooling and best practices. +The process starts with basic questions (project name, Python version, CI/CD provider) and then generates the project. + +### Template Generation +- **Package Selection**: Choose which packages you want to include (core, api, frontend, etc.) +- **Proven Templates**: Uses predefined package types and configurations +- **Modern Tooling**: Ruff, uv, MkDocs, pytest, and more +- **Monorepo Support**: Multi-package workspace structure + +## Key Features & Benefits + +- **Modern Python Workspace**: uv-based project management with workspace support enables flexible monorepo structures with independent packages. +- **Development Environment**: mise for tool versioning and environment management +- **Code Quality**: Ruff and mypy for fast linting, formatting, and type checking +- **Testing**: pytest with coverage reporting and async support +- **Documentation**: MkDocs with Material theme creates professional, interactive, and user-friendly documentation. +- **CI/CD**: Optional automation with GitHub Actions or GitLab CI + + +## Documentation + +- [Quick Start](quickstart.md) - Get up and running quickly +- [Template Content](template_content.md) - What's included in generated projects \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index e4562609..00000000 --- a/docs/index.rst +++ /dev/null @@ -1,30 +0,0 @@ -.. Documentation master file - You can adapt this file completely to your preferences, but it should at least - contain the root `toctree` directive. - -deepsense.ai Project Template -==================================================================================================================== - -This documentation provides information about a basic template to bootstrap new data science or python application project, as well as contains some details about design choices and tools used. - -It is a result of our experiences at `deepsense.ai `_ with building data science and python projects and is a part of our internal best practices. -Some settings might be less/more restrictive than you needs but we believe it is better to start with a good baseline and modify it later than to start from scratch. - -Even if it is not a silver bullet, it is a great starting point for your project if you care about quality and security and you want to focus on building than on spending lot of time setting up the project. - - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - - quickstart - template_content - template_structure - overall_design - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/make.bat b/docs/make.bat index 32bb2452..8741e96a 100644 --- a/docs/make.bat +++ b/docs/make.bat @@ -2,34 +2,38 @@ pushd %~dp0 -REM Command file for Sphinx documentation +REM Command file for MkDocs documentation -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build +if "%1" == "" goto help +if "%1" == "help" ( + :help + echo.MkDocs documentation build commands: + echo. serve Start development server + echo. build Build the documentation + echo. clean Clean the build directory + echo. deploy Deploy to GitHub Pages + goto end ) -set SOURCEDIR=. -set BUILDDIR=_build - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.https://www.sphinx-doc.org/ - exit /b 1 + +if "%1" == "serve" ( + mkdocs serve + goto end ) -if "%1" == "" goto help +if "%1" == "build" ( + mkdocs build + goto end +) -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% -goto end +if "%1" == "clean" ( + rmdir /s /q site + goto end +) -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +if "%1" == "deploy" ( + mkdocs gh-deploy + goto end +) :end -popd +popd \ No newline at end of file diff --git a/docs/overall_design.md b/docs/overall_design.md deleted file mode 100644 index 6b49638a..00000000 --- a/docs/overall_design.md +++ /dev/null @@ -1,86 +0,0 @@ -# **Overall design** - -Here is a short introduction to default project template to give you better understanding of _why_ and _what_. - -It was created to propagate some good practices and provide sensible and flexible defaults and to quickly bootstrap new projects. - -## Considerations -Let's start with understanding a design considerations. **There is not really a one, universally good way** and there are trade-offs involved. Below is a list of things we want to focus on. - -1. **Harnessing experiences from different projects** (both DS and SE) - so they can propagate as sensible defaults. -1. **Adapting to software house project style** - more than a product or a single project needs. -1. **Adding tools and configuration that are useful** - usually they would take too much time to setup or read about. It is easier to edit existing file for specific project needs. -1. **Providing sensible defaults** - we mostly work with quite short living projects like PoC, where it is important to move fast and rarely we hit any production, but we should keep highest quality possible. -1. **Making onboarding as easy as possibleg** - similar structure, enforced code style and tools allow to faster onboard someone or switch between projects. -1. **Handing over ownership to ensure independence** - after the template is used, the team takes ownership and can adapt it quickly to specific needs of a project or client. -1. **Being PEP and other best practices complaint** - unless experience suggest otherwise or they would be impossible to provide in a satisfying way. -1. **Being cautious** - preference is given to battle-tested, stable with known drawbacks, issues and workarounds approaches, so it should work in more broad situations and be more flexible with different clients. - -This templates does not: -- Provide perfect configuration for every project, -- Agree with all subjective personal opinions, -- Recommend the newest and shiny tools or approaches as they appear. - -For example, there are many new projects that provide a better developer experience, however they can lead to difficult and new issues for the clients that might use older software stack or non standard workflow for which implementation might be lacking. Migration and fixing corner cases takes time, so when finally things start to be stable enough we will eventually migrate to them. -On the other hand team has a possibility to do that on their own if client do not have nothing against it. - -## Inspiration - -The inspiration for configuration is based on: - -- lessons learned from interviews about different projects that happened during 2020-2022 in deepsense.ai, -- other cookiecutter projects and open source repositories, -- PEP documents, stack overflow posts, medium posts etc to identify other drawbacks and trade-offs, -- adapting to recent findings. - -## Assumptions - -- Python 3.9 is default on CI, 3.8 as minimum installable for package - due to recent projects (as of 01.2023), hopefully to update soon. -- GitLab is used in almost all projects so it's selected as the default CI / CD provider. -- The licences of used libraries are verified against the provided whitelist, which can be exceptionally modified to accept GPL-like licenses. -- No support multiple python version in the project - each project sticks to single python version and most dependencies are constant. -- No support for native code, pure python focus. -- Research quality code and faster development has priority. -- Good engineering practices like tests, security scanners are introduced to ensure quality and enforce good habits. -- Most projects have a single thing to focus on. Multi topic monorepo is not supported at the moment. -- All non-standard things are intended to be _opt-in_ based on `ds-tools` project. - -## Stability - python, system and package versions - -For all projects that follow semantic versions, we should update patch to incorporate all bug and security fixes. -Major and minor release are more troublesome due to additional risks and trade-offs. - -Why older, stable versions as default are preferred: -- Ecosystem support: - - libraries and their dependency take time to update and _test_. - - older versions have more compatible libraries to work with and known workarounds/google results for issues. - - it is more likely that research open source code used older versions -- Ubuntu/Debian/CentOS LTS are targeted platforms: - - they don't use newest versions - - usually those versions which are shipped are the best well-supported in libraries as they are used in CI tests and docker images. - - target LTS (Long Time Support) and usually it takes 2 years for libraries to catch up with releases. -- Python older code works on newer versions but backport of features is not always possible/harder. - - your code will work in the future versions, won't work in previous versions - - example: near the end of the project client might ask you to run inference on a nvidia container which uses older version of python and you would need to rewrite it... - - default older version on CI allows you to use locally newer version - however it works if you have good suite of tests. -- Testing multiple python versions (and matrix testing) is costly so pick one version - - each version multiplies required tests which costs time and money to support. -- Targeting older versions increases chances to re-use code in other projects due to higher compatibility. - -This is why default version is older one, however it should be updated as soon as possible when: -- Python support cycle ends: https://devguide.python.org/versions/ -- NVIDIA images are updated to newer versions -- Cloud providers such as AWS/GCP/Azure moved to newer versions -- most popular packages (numpy, pytorch etc) moved at least half a year ago (so other packages had time to migrate too). - -THis ensures we reduce chances of having issues with client infrastructure or libraries we use are not yet updated. -That said, for internal project it is generally safer to use newer versions, especially if the project is for educational purposes. -It is also true for tools that are not critical e.g. linters. - - -## Future plans and ideas - -Project is far from finished and it is planned to evolve over time. Below are _some_ ideas we can work on: - -1. Multi-project monorepo - e.g. multiple packages in single repository -1. cibuildwheel/nox/tox - native code, mutliple python versions diff --git a/docs/quickstart.md b/docs/quickstart.md index ed0e3783..27143d80 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -1,65 +1,137 @@ -# **Quickstart** +# Quick Start -## Generate project template locally +This template is the result of our experiences at [deepsense.ai](https://deepsense.ai/) with building AI projects and represents our internal best practices. While some settings might be more or less restrictive than you need, we believe it's better to start with a solid baseline and modify it later than to start from scratch. -Install **cookiecutter>=2.1.1** first and then point it to git repository / local directory / zip file containing the template data. +The AI-powered features bridge the gap between high-level project vision and implementation details, making it easier to bootstrap complex data science projects while maintaining flexibility for customization. -**Cookiecutter** will ask you set of questions so it can generate customized project. +Get up and running with ds-template in minutes using either traditional template generation or AI-powered project creation. -``` bash - $ cookiecutter ds-template/ - client_name [ds]: Client Name - project_name [default]: Sunglass - repo_name [client-name-sunglass]: - ... +## Prerequisites + +- **Python 3.11+** installed on your system +- **uv** package manager +- **Git** for version control + +## Installation + +No installation required! Use `uvx` to run the tool directly: + +```bash +uvx create-ds-app ``` -![Presentation of cookiecutter generator](_static/make_template.gif "How to use cookiecutter locally as on 01.2023.") +## Project Generation Workflow + +When you run `uvx ds-template`, you'll be guided through this process: + +### Step 1: Basic Questions +1. **Project name** +2. **Python version** +3. **CI/CD provider selection:** GitHub, GitLab, or None + +### Step 2:Template Generation + +1. **Select which packages** you want to include (e.g., `core`, `api`, `frontend`) +2. **Generate initial project** with selected components -## How to initialize new repository with the template +> **Note:** +> The generated project is a solid starting point and should be treated as a demo or basic skeleton. You'll likely want to tailor it to your real-world needs! -Firstly, you need to create a git project. The suggested name convention is: +--- -`-` -Where `client_name` is the name of the client can also be your own name or name of the company you work for. `project_name` is the name of the project. +## Generated Project Structure -GIT-SSH is the SSH link to the repository you want to initialize. +After generation, you'll get a modern Python workspace with: -Execute the following steps then: +``` +my-project/ +├── pyproject.toml # Modern Python project configuration +├── mise.toml # Development environment management +├── mkdocs.yml # Documentation configuration +├── packages/ # Multi-package monorepo structure +│ ├── my_project_core/ # Core utilities and configuration +│ ├── my_project_api/ # FastAPI service (if selected) +│ └── my_project_frontend/ # Streamlit dashboard (if selected) +├── docs/ # Documentation source +├── tests/ # Test suite +└── .github/ # CI/CD workflows (if GitHub selected) +``` + +## Next Steps -### Approach 1 (clone empty): +### 1. Install Dependencies ```bash -# clone empty repository to repo_name -$ git clone -# install cookiecutter if not yet installed -$ pip install cookiecutter -# generate cookiecutter with --force and ensure the repo_name is set to the same name as directory you cloned git repository to. -$ cookiecutter -f git@github.com:deepsense-ai/ds-template.git -# finally, add all files, commit and push. -$ git add . -$ git commit -m "Initialize repository with default project template" -$ git push origin +cd my-project +uv sync # Install all dependencies ``` -### Approach 2 (initialize git locally and push to remote): +### 2. Run Development Environment ```bash -# install cookiecutter if not yet installed -$ pip install cookiecutter -# generate project -$ cookiecutter git@github.com:deepsense-ai/ds-template.git -# enter created directory -$ cd -# now we need to connect it to repository (assuming empty repository) -$ git init -$ git remote add origin -$ git fetch -$ git checkout -t origin/main -# finally, add all files, commit and push. -$ git add . -$ git commit -m "Initialize repository with default project template" -$ git push --set-upstream origin main -$ git push origin +mise install # Set up development environment +mise trust # Mark this project as trusted to enable automatic activation and hooks in mise ``` + +> **Note:** Mise is used for development environment management. See [Development Tools](tmp_content/mise.md) for detailed setup instructions. + +### 3. Start Development + +```bash +# Run tests +uv run pytest + +# Check code quality +uv run ruff check . + +# Start development server (if API package) +uv run python -m my_project_api.main + +# Start frontend (if Streamlit package) +uv run streamlit run my_project_frontend/app.py +``` + +### 4. Customize Your Project + +- **Edit configuration** in `pyproject.toml` +- **Add your code** in the appropriate package directories +- **Update documentation** in the `docs/` folder +- **Configure CI/CD** in `.github/` or `.gitlab-ci.yml` + +## Repository Setup + +### Option 1: Generate First, Then Connect + +```bash +# Generate project +uvx ds-templte +cd my-project + +# Initialize git and connect to remote +git init +git remote add origin +git add . +git commit -m "Initial project setup with ds-template" +git push -u origin main +``` + +### Option 2: Clone Empty Repo First + +```bash +# Clone empty repository +git clone +cd my-repo + +# Generate project in existing directory +uvx ds-templte +# Follow prompts, ensure project name matches repo name + +# Commit and push +git add . +git commit -m "Initial project setup with ds-template" +git push origin main +``` + +## Learn More +- [Template Content](template_content.md) - What's included in generated projects diff --git a/docs/template_content.md b/docs/template_content.md new file mode 100644 index 00000000..fe86ac00 --- /dev/null +++ b/docs/template_content.md @@ -0,0 +1,61 @@ +# Template Content + +This section provides comprehensive information about what's included in generated projects and how the template system works. + +## Generated Project Structure + +When you generate a project with ds-template, you get a modern Python workspace with: + +### 1. Modern Python Workspace +- **`pyproject.toml`** - Modern Python project configuration with uv workspace support +- **`mise.toml`** - Development environment management and tool versioning +- **`packages/`** - Multi-package monorepo structure with individual package templates +- **`docs/`** - Documentation source with MkDocs configuration + +### 2. Code Quality & Testing +- **Ruff** - Fast linting, formatting, and security scanning +- **mypy** - Type checking and validation +- **pytest** - Modern testing framework with coverage reporting + +For detailed code quality configuration, see [Code Quality](tmp_content/precommit.md). + +### 3. Documentation (MkDocs with Material theme) +- **Modern documentation** - MkDocs with Material Design theme +- **Interactive features** - Search, navigation, Mermaid diagrams, and tabs +- **Auto-generated content** - Package documentation and API references +- **Custom styling** - Branded documentation appearance and theming + +### 4. CI/CD Integration (Optional) +Choose from three options: + +- **GitHub Actions** - Comprehensive workflows with security scanning and package building +- **GitLab CI** - Multi-stage pipeline with Docker support and package registry +- **No CI** - Local development only with all tools available + +For detailed CI/CD configuration, see [GitHub CI](tmp_content/github_ci.md) or [GitLab CI](tmp_content/gitlab_ci.md). + +### 5. Development Tools +- **uv** - Fast Python package manager and project management +- **mise** - Development environment management and tool versioning +- **License checking** - Automated license compliance validation +- **Docker support** - Pre-commit Docker image for consistent environments + +> Mise is used both in the ds-template project itself and in all generated projects. +> See [Mise](tmp_content/mise.md) for detailed setup and usage instructions. + +## Template System + +The system includes several proven package templates for different use cases, using Jinja2 templating for dynamic content generation based on user input. All template files are organized in the `templates/` directory with individual package templates for different use cases. + +For detailed information about each package type and monorepo structure, see [Project Structure](tmp_content/project_structure.md). + +## Detailed Documentation + +- [Project Structure](tmp_content/project_structure.md) - Monorepo and package organization +- [Code Quality](tmp_content/precommit.md) - Ruff-based linting and formatting +- [Mise](tmp_content/mise.md) - Environment management and tooling +- [GitLab CI](tmp_content/gitlab_ci.md) - GitLab CI/CD pipeline configuration +- [GitHub CI](tmp_content/github_ci.md) - GitHub Actions workflow configuration + +The generated project provides a solid foundation for professional data science and Python development with modern tooling and best practices built-in. + diff --git a/docs/template_content.rst b/docs/template_content.rst deleted file mode 100644 index d7c8b29c..00000000 --- a/docs/template_content.rst +++ /dev/null @@ -1,13 +0,0 @@ -**Template content** -===================== - -.. toctree:: - :maxdepth: 2 - :caption: What is included in template: - - tmp_content/overview - tmp_content/python_structure - tmp_content/precommit - tmp_content/gitlab_ci - tmp_content/github_ci - tmp_content/semver_package diff --git a/docs/template_structure.md b/docs/template_structure.md deleted file mode 100644 index cad3e458..00000000 --- a/docs/template_structure.md +++ /dev/null @@ -1,67 +0,0 @@ -# **Cookiecutter template structure** - -This is our specific template structure overview. It is highly recommended to learn about cookiecutter first from it's [original documentation](https://cookiecutter.readthedocs.io/en/stable/). - -To use template you need `cookiecutter` to be installed (at least >= 2.1.1) and for local development/documentation generation you need to install `requirements.txt`: - -```bash -pip install -r requirements.txt -``` - -Overall list of files can be seen below: - -![Presentation of cookiecutter template files](_static/template_files.png) - -## cookiecutter.json file - -This file is crucial, as it defines questions and key-value substitutions which are applied to template files. - -``` -cookiecutter.json -``` -Internally it uses Jinja template system and allows to use python or some extensions (like `slugify`). - -## Hooks - -There are two cookiecutter hooks that can be implemented: pre and post project generation. - -``` -hooks/pre_gen_project.py -hooks/post_gen_project.py -``` - -- **pre hook** - to validate variables content before cookiecutter generates files. - - e.g. check if python package name provided by a user is correct -- **post hook** - second allows to clean up unnecessary files that are not needed or run additional code. - - e.g. remove unnecessary files, fix file permissions etc. - -## Project template directory - -**All files that can be created by the template** are put there: - -```bash -{{ cookiecutter.repo_name }} -``` -Cookiecutter asks user for information, copies this directory, applies Jinja substitution and calls hooks defined as python code. - -## Tests - -We also have a few basic tests to ensure that cookiecutter project can be generated just fine. - -In the future we will like to introduce some automating testing of generated project and maybe some example preview. - - -## Documentation - -Actually what are you reading just now :) - -We use Sphinx documentation and content is in `docs/` directory and it is hosted [on GitHub Pages](https://deepsense-ai.github.io/ds-template//). - -To build locally: -```bash -# ensure you have sphinx and related packages installed first: -pip install -r requirements.txt -# then you can build with one command: -./build_docs.sh -# now open public/index.html -``` diff --git a/docs/tmp_content/github_ci.md b/docs/tmp_content/github_ci.md index ec56e40e..f8adc4b2 100644 --- a/docs/tmp_content/github_ci.md +++ b/docs/tmp_content/github_ci.md @@ -1,61 +1,92 @@ # GitHub Actions CI -This is **optional** cookiecutter template option, which result in `.github` directory creation which contains workflows. +This is an **optional** template option that creates comprehensive CI workflows for your project. -It generates two workflows: one standard CI and second only for building documentation. +## What's Included -## CI Workflow +The GitHub Actions workflow includes four main jobs: -By default each base branch and pull request will trigger CI workflow. +### 1. **Lint and Static Analysis** +- **Ruff** - Fast linting and formatting checks +- **mypy** - Type checking and type safety validation +- **bandit** - Security vulnerability scanning +- **License checking** - Validates package licenses against allowlist -The workflow is defined in `.github/workflows/ci.yml` file. +### 2. **Unit Tests** +- **pytest** - Comprehensive test suite execution +- **Coverage reporting** - Code coverage analysis and reporting +- **Multi-Python support** - Tests across Python versions +- **Test artifacts** - JUnit XML reports for GitHub integration -It consists of two major jobs: -1. **Run linters** - - runs `pre-commit` checks to validate formatting, code style, type hints, security and other checks. - - runs `trivy` to check for security vulnerabilities (will add new comment to PR). - - checks licenses against list of allowed licenses. - - generates `pip freeze` to provide reproducible build. - - validate if python package can be build with thebuild tool. -1. **Run tests** - - runs `pytest` tests with code coverage (cobertura format). - - report test results to GitHub (will add new check). - - report code coverage (will add new comment to PR). +### 3. **Security Scanning** +- **Trivy** - Container and filesystem vulnerability scanning +- **SARIF reporting** - Security results integration with GitHub Security tab +- **Dependency scanning** - Third-party package vulnerability detection + +### 4. **Package Building** +- **uv build** - Modern Python package building +- **Artifact upload** - Built packages available for download +- **Multi-platform support** - Cross-platform package compatibility ![Main CI workflow](../_static/gh.png) -### Code coverage +## Modern Tooling + +### Ruff Integration +The workflow uses **Ruff** for fast, comprehensive code quality checks: +- **10-100x faster** than traditional linters +- **Unified tooling** - replaces black, isort, flake8, pylint +- **Automatic fixes** - Many issues can be auto-corrected +- **Comprehensive rules** - Style, logic, security, and documentation + +### uv Package Management +Modern Python package management with **uv**: +- **Fast dependency resolution** - Significantly faster than pip +- **Workspace support** - Monorepo package management +- **Lock file generation** - Reproducible builds +- **Cross-platform compatibility** - Works on all platforms + +### Code Coverage -Default code coverage recommended setup is one which uses additional branch to track coverage changes and comment on PRs. +Default code coverage setup uses Codecov integration: +- **Coverage reporting** - Detailed coverage metrics +- **PR comments** - Coverage changes in pull requests +- **Coverage badges** - Visual coverage status +- **Historical tracking** - Coverage trends over time ![Code coverage comment preview](../_static/gh_coverage.png) -### Artifacts +## Artifacts -There are generated artifacts which can be downloaded from GitHub UI. +Generated artifacts available for download from GitHub UI: ![Github artifacts](../_static/gh_artifacts.png) +### Build Artifacts +- **dist/** - Built Python packages (wheel and source distribution) +- **Coverage reports** - HTML and XML coverage reports +- **Test results** - JUnit XML test reports -1. **packages**: - - **dist/** - contains built python package -1. **results**: - - **trivy-scanning-results.txt** - contains trivy security scan results rendered as ascii table - - **licenses.txt** - contains dump of libraries with detected licenses - - **requirements-freeze.txt** - pip freeze to provide reproducible build -1. **test-report**: - - contains just `report.xml` with results of executed tests +### Security Artifacts +- **trivy-results.sarif** - Security scan results in SARIF format +- **Security reports** - Detailed vulnerability information -### License validation +### License Artifacts +- **licenses.txt** - Detected package licenses +- **License validation** - Compliance checking results -We use `pip-licenses` to extract installed packages and obtain license information. +## License Validation -By default, we accept only those selected licenses from `.license-whitelist.txt`. -Each short license must be in new line and it is matched by checking if string exists in line. +The workflow includes automated license checking: -Sometimes there are situations when a license library detection does not work or there is a justified decision -to accept some license - to accept such library edit `.libraries-whitelist.txt`. -All libraries must be put in single line. +- **pip-licenses** - Extracts package license information +- **Allowlist validation** - Checks against approved licenses +- **Compliance reporting** - Detailed license analysis +- **CI integration** - Fails build on license violations + +### Configuration Files +- **`.license-whitelist.txt`** - Approved licenses (one per line) +- **`.libraries-whitelist.txt`** - Exempted libraries (single line) ```{warning} `.license-whitelist.txt` must have a license in each distinct line. @@ -74,18 +105,39 @@ Changing YAML is error-prone so here are protips: 1. Operate on branch first or create a temporary test repository. 1. `if` and similar conditions should be added last, after testing a job. -## Documentation workflow - -### GitHub Pages - -By default **Github Actions** pipelines have `documentation` workflow which will build sphinx documentation automatically on main branch - and it will push it to a branch - it can be hosted on **Github Pages** if you enable it. - -To access it, you need to enable it, on **Github repository -> Settings -> Pages** page select **Deploy from a branch** and select **gh-pages**. Link will appear here after deployment. - -```{warning} -Only on Github Enterprise you can make it private and limit it to only people with repository access. -``` - -Please read more about it [here](https://docs.github.com/en/pages/quickstart). - -![Github Pages setup for hosting documentation](../_static/gh_pages.png) \ No newline at end of file +## Workflow Features + +### Multi-Python Support +The workflow supports multiple Python versions: +- **Python 3.11** - Minimum supported version +- **Python 3.12** - Current stable version +- **Python 3.13** - Latest version + +### Monorepo Support +- **Workspace management** - Handles multiple packages +- **Package-specific testing** - Tests individual packages +- **Dependency resolution** - Manages inter-package dependencies +- **Selective building** - Builds only changed packages + +### Security Integration +- **Trivy scanning** - Comprehensive vulnerability detection +- **SARIF reporting** - GitHub Security tab integration +- **Dependency scanning** - Third-party package analysis +- **License compliance** - Automated license validation + +## GitHub Actions Tips + +Please get familiar with official documentation before modifying YAML configuration. + +### Best Practices +1. **Visual Studio Code** has a GitHub Actions extension for YAML validation +2. **Use YAML validator** in your editor to fix whitespace issues +3. **Test on branches** - Create temporary repositories for testing +4. **Add conditions last** - Test jobs before adding `if` conditions +5. **Use marketplace actions** - Prefer official and well-maintained actions + +### Common Modifications +- **Add Python versions** - Extend matrix strategy +- **Modify triggers** - Change `on` conditions +- **Add environment variables** - Use `env` section +- **Customize artifacts** - Modify `artifacts` configuration \ No newline at end of file diff --git a/docs/tmp_content/gitlab_ci.md b/docs/tmp_content/gitlab_ci.md index 2f675722..627be9bc 100644 --- a/docs/tmp_content/gitlab_ci.md +++ b/docs/tmp_content/gitlab_ci.md @@ -1,127 +1,166 @@ -# GitLab CI configuration +# GitLab CI Configuration -This is **optional** cookiecutter template option, which result in `.gitlab-ci.yml` file creation. +This is an **optional** template option that creates a comprehensive CI/CD pipeline for your project. -File has comments for jobs so it should be relatively easy to understand and adapt. +## What's Included -It generates automated pipeline to ensure code quality, tests and other goodies. +The GitLab CI pipeline includes seven stages: -We also optimized the pipeline so it should take 2-4 minutes to run on an empty project. +1. **Preparation** - Docker image building and caching +2. **Lint** - Code quality and style checks +3. **Test** - Unit testing and coverage analysis +4. **Package** - Python package building +5. **Pages** - Documentation generation +6. **Security** - Vulnerability scanning +7. **Deploy** - Artifact deployment and publishing ```{note} -To reduce computations and costs CI is only executed when a developer opens a Merge Request and on a default branch. -Moreover, almost all unfinished jobs can be interrupted by more recent code change. -It is controlled by `interruptible: true` [flag](https://docs.gitlab.com/ee/ci/yaml/). +To reduce computations and costs, CI is only executed on Merge Requests and the default branch. +Most jobs can be interrupted by newer code changes using the `interruptible: true` flag. ``` -## Context-sensitive stages - -### Merge Request - -When a developer opens a Merge Request we run linters and tests stages. - -Optionally a development package can be released to PIP registry with a manual trigger. +## Modern Tooling Integration + +### Ruff for Code Quality +The pipeline uses **Ruff** for fast, comprehensive code quality checks: +- **Unified linting** - Replaces multiple individual tools +- **Automatic formatting** - Black-compatible code formatting +- **Import sorting** - isort-compatible import organization +- **Security scanning** - bandit-compatible security checks + +### uv Package Management +Modern Python package management with **uv**: +- **Fast dependency resolution** - Significantly faster than pip +- **Workspace support** - Monorepo package management +- **Lock file generation** - Reproducible builds +- **Cross-platform compatibility** - Works on all platforms + +### MkDocs Documentation +Modern documentation generation with **MkDocs**: +- **Material theme** - Professional documentation appearance +- **Interactive features** - Search, navigation, diagrams +- **Auto-generation** - Package documentation and API references +- **GitLab Pages** - Automatic documentation hosting + +## Pipeline Stages + +### Merge Request Pipeline +When a developer opens a Merge Request, the pipeline runs: +- **Lint stage** - Code quality and style validation +- **Test stage** - Unit testing and coverage analysis +- **Package stage** - Python package building +- **Security stage** - Vulnerability scanning ![Merge Request stages](../_static/stages_mr.png) -### Main branch - -After merge is concluded, we execute more stages - documentation build & upload to GitLab Pages and option to release non-development package with manual trigger. +### Main Branch Pipeline +After merge completion, additional stages execute: +- **Pages stage** - Documentation generation and hosting +- **Deploy stage** - Artifact deployment and publishing +- **Manual triggers** - Optional package releases ![Main branch stage](../_static/stages_main.png) - -### On pre-commit changes - -When a `pre-commit` configuration file is changed or `docker/precommit/Dockerfile` additional stage appears - its role is to build and -upload the docker image to GitLab Container Registry. - -This is quite complex due to the need to work with new repository or existing branch and it has to provide bootstrapping for image. +### Docker Image Management +When pre-commit configuration changes, a preparation stage builds Docker images: +- **Image building** - Creates optimized pre-commit environment +- **Registry upload** - Stores images in GitLab Container Registry +- **Caching** - Reduces build times for subsequent runs +- **Versioning** - Tags images with commit SHA and latest ![Preparation stage](../_static/stage_preparation.png) -On Merge Request it builds, uploads and tests the image tagged with git commit SHA. - -Default docker name is `precommit` and in `.gitlab-ci.yml` is defined as: `PRECOMMIT_IMAGE: $DOCKER_REGISTRY/precommit`. - -On master it does the same but also tags the docker image with `latest` tag. - -It takes 3-5 minutes to build a docker image from scratch, future builds should be faster due to docker image caching. +The Docker image is defined as `PRECOMMIT_IMAGE: $CI_REGISTRY_IMAGE/precommit` and includes: +- **Pre-commit hooks** - All linting and formatting tools +- **uv package manager** - Fast dependency management +- **Python environment** - Configured Python runtime + +## Detailed Stage Information + +### Preparation Stage +- **Purpose**: Build and cache Docker images for faster subsequent runs +- **Triggers**: Changes to `docker/precommit/Dockerfile` or pre-commit configuration +- **Duration**: 3-5 minutes for initial build, faster with caching +- **Output**: Docker image with pre-commit environment and tools + +### Lint Stage +- **Purpose**: Code quality and style validation +- **Tools**: Ruff (linting, formatting, import sorting), mypy (type checking), bandit (security) +- **Duration**: ~20 seconds with Docker image, ~2 minutes without +- **Output**: Code quality reports and formatted code + +### Test Stage +- **Purpose**: Unit testing and coverage analysis +- **Tools**: pytest with coverage reporting +- **Coverage**: + - ![Code coverage](../_static/coverage.png) + - Red lines = not covered, green lines = covered + - Percentage coverage reporting + - ![Tests](../_static/tests.png) +- **License checking**: Validates package licenses against allowlist +- **Artifacts**: Test results, coverage reports, license information + +### Package Stage +- **Purpose**: Build Python packages for distribution +- **Tools**: uv build for modern package building +- **Output**: Wheel (.whl) and source distribution (.tar.gz) files +- **Artifacts**: Built packages available for download + +### Pages Stage +- **Purpose**: Generate and host documentation +- **Tools**: MkDocs with Material theme +- **Features**: Interactive documentation with search and navigation +- **Output**: Static documentation site hosted on GitLab Pages +- **Package info**: ![Licenses in documentation](../_static/docs_lic.png) + +### Security Stage +- **Purpose**: Vulnerability scanning and security analysis +- **Tools**: Trivy for comprehensive security scanning +- **Compliance**: Required for SOC 2 Certification +- **Output**: Security reports in JSON and HTML formats +- **Artifacts**: Detailed vulnerability information + +### Deploy Stage (Main Branch Only) +- **Purpose**: Deploy artifacts and publish packages +- **Documentation**: Uploads to GitLab Pages for team access +- **Packages**: Uploads to GitLab Package Registry +- **Manual triggers**: Optional package releases +- **Output**: ![Package in registry](../_static/pip_reg.png) + +## Artifacts and Reports -```{warning} -If possible adapt gitlab `linter` tasks to always use a SHA tagged image instead of using `latest` tag - the only -reason we could not do it is due to a need to provide automatic setup without manual intervention. - -By using SHA tags, you can simplify `linter` stage and have more reproducible pipelines. - -To switch you must replace `precommit:latest` to `precommit:dev-`. - -Commit SHA is the long hash for each git commit, to get one for your current one you can -use `git rev-parse HEAD`, also GitLab has `$CI_COMMIT_SHA` environment variable. - -``` +![Artifacts](../_static/artifacts.png) -## Stages summary - -* **preparation** stage: - - runs only to bootstrap or update pre-commit docker image - - it reduces linter stage from ~2 minutes to ~20 seconds on empty project. -* **lint** stage: - - ensures code style consistency - - checks for code mistakes - - provides basic safety checks - - **see:** {ref}`precommit page <_precommit>` -* **tests** stage: - - runs `pytest` tests - - calculates code coverage: - - ![Code coverage](../_static/coverage.png) - - red marks lines not covered by tests, green are covered - - reports code % coverage - - ![Tests](../_static/tests.png) - - checks for licenses - - fails if any third-party installed python package license is not present on allowlist (`.license-whitelist.txt`). - - generates `pip freeze` - - **artifacts:** exact pinned package versions + licenses can be downloaded from this stage -* **package** stage: - - builds pip `*.tar.gz` and `*.whl` python packages - - adds build number to package -* **pages** stage: - - generates and builds Sphinx documentation - - scans and generate information table for all used python packages - - ![Licenses in documentation](../_static/docs_lic.png) -* **security** stage: - - runs `trivy` and fails on critical security vulnerability - required for SOC 2 Certification - do not remove it - - **artifacts:** json and html generated by trivy -* **deploy** stage - only on **main/master** branch: - - uploads generated Sphinx docs to `GitLab Pages`. All project members can access it - - build and upload release (non-development) package to private `GitLab Package Registry` - - ![Package in registry](../_static/pip_reg.png) - -## Artifacts +The pipeline generates comprehensive artifacts for analysis and deployment: -![Artifacts](../_static/artifacts.png) +### Test Artifacts +- **licenses.txt** - Detected package licenses and compliance information +- **requirements-freeze.txt** - Pinned package versions for reproducible builds +- **dist/** - Built Python packages (wheel and source distributions) +- **coverage.xml** - Code coverage data in XML format +- **test-results.xml** - JUnit XML test results -Pipelines and jobs provide a set of artifacts. Aside of required ones for tests/coverage especially interesting are: +### Security Artifacts +- **trivy-report.json** - Security scan results in JSON format +- **trivy-report.txt** - Human-readable security report +- **dependency-scanning** - GitLab dependency scanning integration -1. **tests:archive** - - **licenses.txt** - contains dump of libraries with detected licenses - - **requirements-freeze.txt** - pip freeze to provide reproducible build - - **dist/** - contains built python packages -1. **trivy security scan:archive**: - - security report in html file -1. **trivy security scan:dependency_scanning**: - - security report in json file, however it is easier to read job logs +### Documentation Artifacts +- **public/** - Generated MkDocs documentation site +- **Package information** - License and dependency documentation -## License check +## License Validation -We use `pip-licenses` to extract installed packages and obtain license information. +The pipeline includes automated license checking using `pip-licenses`: -By default, we accept only those selected licenses from `.license-whitelist.txt`. -Each short license must be in new line and it is matched by checking if string exists in line. +- **License extraction** - Automatically detects package licenses +- **Allowlist validation** - Checks against approved licenses in `.license-whitelist.txt` +- **Exception handling** - Exempted libraries in `.libraries-whitelist.txt` +- **CI integration** - Fails pipeline on license violations -Sometimes there are situations when a license library detection does not work or there is a justified decision -to accept some license - to accept such library edit `.libraries-whitelist.txt`. -All libraries must be put in single line. +### Configuration Files +- **`.license-whitelist.txt`** - Approved licenses (one per line) +- **`.libraries-whitelist.txt`** - Exempted libraries (single line) ```{warning} `.license-whitelist.txt` must have a license in each distinct line. @@ -129,52 +168,46 @@ All libraries must be put in single line. `.libraries-whitelist.txt` must be contained in single line (e.g. "foo bar"). ``` -## GitLab details - -Please get familiar with official documentation before you modify the yaml configuration. - -Changing YAML is error-prone so here are protips: - -1. Use YAML validator in your editor to fix wrong whitespaces. -1. Operate on branch first or create a temporary test repository. -1. Use GitLab [validator & simulator](https://docs.gitlab.com/ee/ci/lint.html) -1. `if` and similar conditions should be added last, after testing a job. +## GitLab Integration ### GitLab Pages - -GitLab Pages is static hosting solution which is used to host documentation. - -```{warning} -Name `pages` for job name and stage is important! Changing this name will break GitLab feature to automatically upload and host documentation. -``` - -```{note} -Due to using `deepsense.ai` there is always error raised by browsers due to certificate not covering the subdomain. This is known issue due to "." appear in name. - -There is no known workaround, except user accepting and adding exception for it. -``` +Static documentation hosting with automatic deployment: +- **Job name**: Must be `pages` for automatic hosting +- **Documentation**: MkDocs-generated site with Material theme +- **Access**: Available to all project members +- **Custom domain**: Can be configured for custom URLs ### GitLab Package Registry - -All master and merge requests are set to manual trigger to build and upload python pip package to the related private repository. - -Essential read is [GitLab documentation](https://docs.gitlab.com/ee/user/packages/package_registry/). - -```{tip} - -It can be also customized to adapt `bump2config` to tag and make GitLab to release a new package on git tag event. -Check also {ref}`packaging page <_packaging_semver>`. - -Some projects might benefit from switching to automatic uploads instead of manual. -``` - -### GitLab Docker Registry - -By default we use it for `pre-commit` docker image - so each project can have it's own. - -There is also a **company-wide [docker registry](http://docker.intra.deepsense.ai/)**. Ask IT about it. - -### Other GitLab featurs - -The template targets only GitLab **free** mode which is limiting many functionalities. +Python package distribution and storage: +- **Manual triggers** - Package uploads require manual approval +- **Version management** - Automatic versioning and tagging +- **Private registry** - Secure package storage +- **Integration** - Works with pip and uv package managers + +### GitLab Container Registry +Docker image storage and management: +- **Pre-commit images** - Optimized development environments +- **Versioning** - SHA-tagged and latest images +- **Caching** - Faster subsequent builds +- **Security** - Private image storage + +## Best Practices + +### YAML Configuration +1. **Use YAML validator** in your editor for syntax checking +2. **Test on branches** - Create temporary repositories for testing +3. **Use GitLab validator** - [CI Lint tool](https://docs.gitlab.com/ee/ci/lint.html) +4. **Add conditions last** - Test jobs before adding `if` conditions + +### Pipeline Optimization +- **Docker caching** - Use prepared images for faster builds +- **Parallel jobs** - Run independent jobs simultaneously +- **Artifact management** - Clean up old artifacts regularly +- **Resource limits** - Set appropriate resource constraints + +### Security Considerations +- **Secret management** - Use GitLab CI/CD variables for sensitive data +- **Access control** - Limit pipeline access to authorized users +- **Vulnerability scanning** - Regular security assessments +- **Compliance** - Maintain SOC 2 certification requirements diff --git a/docs/tmp_content/mise.md b/docs/tmp_content/mise.md new file mode 100644 index 00000000..ceb1519f --- /dev/null +++ b/docs/tmp_content/mise.md @@ -0,0 +1,62 @@ +# Development Environment Management + +## What's Included + +### mise Configuration +- **Automatic environment activation** when entering project directories +- **Tool version management** for consistent development environments +- **Hooks system** for automated setup tasks +- **Cross-platform support** for all major operating systems + +### Generated mise.toml +```toml +[env] +_.python.venv = ".venv" # Python virtual environment + +[hooks.enter] +script = """ +echo 'Welcome to the project!' +uv sync # Install dependencies +echo 'Environment ready.' +""" +``` + +## Setup + +### 1. Install mise +```bash +curl https://mise.run | sh +``` + +### 2. Enable in your shell +Add to your `~/.bashrc` or `~/.zshrc`: +```bash +echo 'eval "$(mise activate bash)"' >> ~/.bashrc +source ~/.bashrc # or zsh +``` + +### 3. Trust the project +```bash +cd your-project +mise trust +``` + +## Usage + +### Automatic Setup +When you `cd` into a project directory: + +- **Virtual environment** is activated automatically +- **Dependencies** are synced with `uv sync` +- **Welcome message** confirms environment is ready + +## Customization + +You can customize the environment by editing `mise.toml`: + +- **Add tools** with specific versions +- **Configure hooks** for different events +- **Set environment variables** for the project +- **Define custom commands** for common tasks + +For detailed configuration options, see the [mise documentation](https://mise.jdx.dev). \ No newline at end of file diff --git a/docs/tmp_content/overview.md b/docs/tmp_content/overview.md deleted file mode 100644 index c60872cf..00000000 --- a/docs/tmp_content/overview.md +++ /dev/null @@ -1,46 +0,0 @@ -# Overview of template generated project - -**cookiecutter** generates a boilerplate and setups tooling with focus on monothematic projects. - -Generated project consists of: - -1. Basic python package structure: - * `pyproject.toml` - central configuration for build system, package metadata, dependencies, and tool configurations (including linters and formatters) - * a very minimal python code + example test -1. pre-commit hooks: - * `ruff` - fast linter and formatter that replaces the functionality of: - * `black` - code formatting - * `flake8` - style and linting - * `pycln` - unused imports cleanup - * `isort` - import sorting - * `pylint` - static code analysis - * `pyupgrade` - code modernization for given python version - * `bandit` - security issue detection - required for SOC 2 Certification - * `mypy` - static type checking - * `jupytext` - (optional) syncs jupyter notebooks to plain python files -1. Sphinx documentation: - * basic preconfigured documentation template - * recommended extensions - * page with list of autogenerated third party python packages list with licenses -1. Basic script to create venv -1. Minimal README.md file -1. Preconfigured semantic versioning with bump2version -1. Dockerfile for pre-commit image -1. Gitlab integration (default, optional): - * linter stage (`pre-commit run --all`) - * tests (`pytest`) + code coverage - * license checks of installed packages - * building and hosting documentation on GitLab Pages - * building package and uploading to private GitLab Package registry - * security: `trivy` - required for SOC 2 Certification - * steps to rebuild linter docker image -1. GitHub integration (optional): - * linter stage (`pre-commit run --all`) - * tests (`pytest`) + code coverage - * license checks of installed packages - * building and hosting documentation on GitHub Pages (if enabled) - * testing if package can be build - * security: `trivy` - required for SOC 2 Certification, but is reporting only -1. Other less important files (more configurations, `.gitignore` etc.) - -Other pages contain more details. diff --git a/docs/tmp_content/precommit.md b/docs/tmp_content/precommit.md index c1bef99f..975a0020 100644 --- a/docs/tmp_content/precommit.md +++ b/docs/tmp_content/precommit.md @@ -1,100 +1,84 @@ -(_precommit)= -# Pre-commit hooks and code quality +# Code Quality and Linting -To ensure code consistency, good practices and remove any code smells we use pre-commit hook along with several linters and other tools. +The ds-template provides comprehensive code quality tools using **Ruff** as the primary linter and formatter, along with **mypy** for type checking and **pytest** for testing. -**pre-commit** is a tool which allows to quickly scan on commit/push code **tracked by git** in the repository, enforcing checks in minimum viable scope - only changed files. +## What's Included -Configuration is in `.pre-commit-config.yaml`, where you can find all tools installed in isolated environment and some of their configuration. -Most of the tools have detailed configuration in `pyproject.toml` file and some might have dedicated file. +### Ruff - Fast Python Linter & Formatter +- **Code formatting** with Black-compatible output +- **Import sorting** and organization +- **Comprehensive linting** covering style, logic, and security +- **10-100x faster** than traditional Python linters +- **Built-in security scanning** with bandit-compatible rules -All linters run with autofix to reduce manual labor. Developer can review / modify automatic fixes as he needs to re-add and commit affected files. +### mypy - Type Checking +- **Static type checking** for better code reliability +- **Type annotation** requirements and validation +- **Integration** with Ruff for comprehensive code quality -```{tip} -`pre-commit autoupdate` can be used to update all linters to the most recent version. +### pytest - Testing Framework +- **Modern testing** with async support and fixtures +- **Coverage reporting** for test completeness -`pre-commit run --all-files` runs for all tracked by git files. It usually runs on CI to ensure no files is overlooked. +## Configuration -`pre-commit run pylint --all-files` runs selected tools only - useful for fixing issues. -``` - -```{warning} -It is important to understand that pre-commit works in it's own virtual environment - this might lead to different behavior of running the same -linter with or without pre-commit due to side effects of some installed locally packages! -``` - -## `.pre-commit-config.yaml` +All tools are pre-configured in `pyproject.toml` with sensible defaults for data science projects: -**Use scroll on the text inside the below panel**. It contains overview of some tools with an example configuration - it is not exactly the same as in the template. +- **Line length**: 120 characters +- **Docstring style**: Google convention +- **Import organization**: Data science packages properly categorized +- **Per-file rules**: Different rules for notebooks and tests +- **Ignored rules**: Practical exceptions for data science workflows -```{raw} html +## Usage -
- - - - -``` - -```{tip} -There are some other great tools, like [ruff](https://github.com/charliermarsh/ruff) - it is fast, but it has not full feature parity with -other linters it tries to replace. However, if your project allows it - please consider to use it instead of pylint, isort etc. -``` +### Basic Commands -## Docker image +```bash +# Check code quality +uv run ruff check . -To reduce CI stage time we use image created with `docker/precommit/Dockerfile`. +# Format code +uv run ruff format . -If project is created with GitLab pipelines then automatically it should build & use this image. If you are on different platform you need to configure it yourself. +# Fix issues automatically +uv run ruff check . --fix -## mypy - additional information +# Run type checking +uv run mypy . -**mypy** needs special care. Default settings only checks for project issues and works out of box with correctly typed projects. -More strict options are not turned on by default as many data science libraries are not high quality and in practice it leads to -frustration and minuscule gains in practice. - -To discover or ignore what packages you use in a project that are untyped change mypy setting named `ignore_missing_imports=[true|false]`. -Some packages do not have typing information - and this settings raises error for ones which require type package. - -To set a package-specific options you can do it this way: - -``` -[[tool.mypy.overrides]] -module = "foo.*" -... +# Run tests +uv run pytest ``` -For libraries that require installation of type package you need to perform manual operation specific for each project - you need to modify `.pre-commit-config.yaml` file, here is an example: +### Pre-commit Hooks -``` -- id: mypy - ... - # Required to have proper type annotations for external packages. - additional_dependencies: [ - "fastapi~=0.83.0", - "numpy~=1.23.3", - ] - ... -``` +The generated projects include pre-commit configuration that automatically runs: +- **Ruff linting** and formatting +- **mypy type checking** +- **Security scanning** -It is highly recommended to do that, as it allows mypy to catch more errors. For code missing type information it always assumes `Any` type. +To set up pre-commit hooks: +```bash +uv run pre-commit install +``` -Sometimes a package do not have any type information nor additional package with it - in that case you can suppress mypy error by manually -marking an exact library to be ignored as mentioned before. +## CI/CD Integration -Please refer to [official mypy documentation](https://mypy.readthedocs.io/en/stable/index.html) for more information. +All tools are integrated into CI/CD pipelines: -## jupytext - additional information +- **GitHub Actions** workflows include all quality checks +- **GitLab CI** pipelines run comprehensive testing +- **Automated formatting** checks ensure consistency +- **Security scanning** prevents vulnerabilities -Jupyter notebooks are hard to review - to make it easier it is possible to use `jupytext` to convert them to `.py` files (py:percent format) automatically on commit. +## Customization -If you have not used it before, please read [jupytext documentation](https://jupytext.readthedocs.io/en/latest/). +The configuration can be customized by editing `pyproject.toml`: -```{warning} -Do not edit generated files - they will be overwritten by jupytext due to detected differences. +- **Add or remove rules** as needed +- **Adjust line length** and formatting preferences +- **Configure per-file exceptions** for specific patterns +- **Add custom third-party packages** to import sorting -It is also important to ensure no other linting tool modifies them, as it might lead to endless loop of changes. -``` \ No newline at end of file +> For detailed configuration options, see the `[tool.ruff]`, `[tool.mypy]`, and `[tool.pytest]` sections in your project's `pyproject.toml` file. \ No newline at end of file diff --git a/docs/tmp_content/project_structure.md b/docs/tmp_content/project_structure.md new file mode 100644 index 00000000..7d31bb03 --- /dev/null +++ b/docs/tmp_content/project_structure.md @@ -0,0 +1,69 @@ +# Python Monorepo Structure + +The ds-template generates modern Python workspaces using a **monorepo architecture** with multiple packages managed through **uv workspaces**. The system includes several **package type templates** that can be combined to create the optimal project structure for your needs. + +## Monorepo Architecture + +Generated projects follow a clean monorepo structure: + +``` +my-project/ +├── pyproject.toml # Workspace configuration +├── mise.toml # Development environment +├── packages/ # Individual packages +│ ├── my_project_core/ # Core utilities +│ ├── my_project_api/ # API service +│ └── my_project_frontend/ # Frontend application +├── docs/ # Documentation +└── tests/ # Shared tests +``` + +## Monorepo Benefits + +The monorepo architecture provides several advantages for modern Python development: + +- **Unified codebase** - All related packages in a single repository with shared configuration +- **Atomic changes** - Update multiple packages simultaneously in a single commit +- **Consistent tooling** - Unified linting, testing, and CI/CD across all packages +- **Simplified dependency management** - uv workspace handles inter-package dependencies automatically +- **Independent deployment** - Each package can be deployed separately while sharing common code +- **Easier refactoring** - Move code between packages without breaking external dependencies + +## Available Package Types + +The template includes several package types organized into three main categories: + +### Core Packages +- **Core Package** (`pkg_core`) - Shared utilities, configuration, and common functionality + +### Functional Packages +- **API Package** (`pkg_api`) - FastAPI-based REST services with Docker support +- **Worker Package** (`pkg_worker`) - Background task processing with Docker support +- **CLI Package** (`pkg_cli`) - Command-line tools and utilities +- **Library Package** (`pkg_lib`) - Reusable Python libraries + +### Frontend Packages +- **Frontend Package** (`pkg_frontend_streamlit`) - Streamlit web applications with branding integration + +> **Note:** Frontend packages are connected to a `branding/` directory in the generated project, which contains branding assets and configuration for consistent visual identity across the application. + +## Package Features + +Each package type includes: + +- **Proper Python packaging** with `pyproject.toml` +- **Docker support** (where applicable) +- **Type hints** and documentation +- **Testing setup** with pytest +- **Dependency management** - Inter-package dependencies handled automatically by uv workspace +- **External dependencies** managed per package in their `pyproject.toml` +- **AI-powered generation** selects appropriate packages based on your description + +## Configuration + +The workspace is configured through: +- **Root `pyproject.toml`** - Workspace settings and shared dev dependencies +- **Package `pyproject.toml`** - Individual package configuration +- **`mise.toml`** - Development environment management + +For detailed configuration options, see the `[tool.uv.workspace]` and `[tool.uv]` sections in your project's `pyproject.toml` file. \ No newline at end of file diff --git a/docs/tmp_content/python_structure.md b/docs/tmp_content/python_structure.md deleted file mode 100644 index ff936a96..00000000 --- a/docs/tmp_content/python_structure.md +++ /dev/null @@ -1,106 +0,0 @@ -# Python code structure - -It is really very basic python package based on [src-based approach](https://packaging.python.org/en/latest/discussions/src-layout-vs-flat-layout/). -Aside of advantages mentioned under the provided link, this structure is preferred due to the following internal reasons: -- `src/` becomes standard interface for people to look for -- easier for templating: tools can be easily configured to target `src/` - no need to configure on the fly or hardcode package name -- later can evolve into multi-module project. - -## Why python package - -Having python package allows to much easier sharing and reusing code. It also reduces headache with hardcoding paths and with proper testing it can capture issues with missing or incompatible dependencies (as PIP does not solve versions with already installed packages.) - -```{Tip} -In one project we might work on training and inference code together with some frontend. - -Python package can ship with code such that: - -`uv pip install magic[train]` installs all dependencies for training. - -`uv pip install magic` installs onnx + other inference code. - -Then if you have FastAPI or Streamlit app you install _lean_ package which reduces docker size. -It also enables sharing with other users. -``` - -The `[tool.uv.dev-dependencies]` section in `pyproject.toml` file is used to keep track of packages used in development (developer use only). - -The structure of python package is: - -- `pyproject.toml` - central configuration for build system, package metadata, dependencies, and tool configurations (including linters and formatters). -- `src/` directory for all code. - - _any package name_ - - `__init__.py` - - `__version__.py` - - `VERSION` - - _any python code_ - - `py.typed` - empty file signals to mypy that type annotations are present in python code. -- `MANIFEST.in` - optional, used to include non-python files in package (like `py.typed` or `*.pyi`). - -```{tip} -To create new package you can base on the files listed above. -``` - -Version in `VERSION` file is recommended to be used together with `bump_version.sh` script - see {ref}`packaging page <_packaging_semver>`. This file is read by `__version__.py`. - -## Python multi project - -Usually, the above structure is enough. However, project might grow and require something more complex and the template does not support this case. - -For example one can imagine a project with: -- visual_processing -- text_processing - - -### Install one package, multiple modules - -The first easiest approach is to add new python modules to `src/` package like this: - -- `src/` - - `foo` <- (main module) - - `bar` - -or -- `src/` - - `package_name` - - `__version__.py` - - `VERSION` - - (...) - - `foo/` - - `bar/` - -One package should be then a _main_ with the same name as full package containing `__version__.py` file. - -Alternative and recommended way is to move `VERSION` to project root (remember to modify `.bumpversion.cfg` file) - this would be a _multi module python package_. - -`uv pip install foo` would then result in valid code: -```python -import foo -import bar -``` - -### Install many packages, single module - -If packages can be isolated then the best way is to move to structure: - -- `components/` - - `foo` - - `src/` - - (...) etc. - - `bar` - - `src/` - - (...) - -Then one would call -- `uv pip install foo bar` given packages uploaded to some PIP registry -- `uv pip install -e components/foo -e components/bar` for dev local install - -To ensure quality one would also need to use **nox/tox** to test packages in isolation and without python registry it is a little cumbersome to use. - -It is rather useful for a case when project have really independent modules but one have to use only single repository (_monorepo_ case) and/or all packages are to be used together and are tied together in their release cycle. - -### Use multiple repositories - -The last approach is best for really independent projects - is to basically have each package in its own repository. - -This is the best clean approach, but then one have to ensure that release cycle and CI/CD is correctly setup. One can also used git submodule but this can lead to other problems but is easiest in short term especially if code is very stable. \ No newline at end of file diff --git a/docs/tmp_content/semver_package.md b/docs/tmp_content/semver_package.md deleted file mode 100644 index 8ae94542..00000000 --- a/docs/tmp_content/semver_package.md +++ /dev/null @@ -1,53 +0,0 @@ -(_packaging_semver)= -# Packaging & semantic version - -```{note} -GitLab CI by default provides manual deploy to private GitLab Package Registry - _development_ version, as well as _release_. -``` - -It is a good practice to have semantic versions, especially when one wants to distribute software. - -This is not required for many research projects, but it is essential and very useful when one wants to share his work. - -We strongly recommend to learn more about semantic version and read [semver dedicated page](https://semver.org/). - -By default `(major.minor.patch)` numbering scheme is provided by a bash script wrapper on `bump2version` tool: - -```bash -./bump_version.sh [major|minor|patch] -``` - -The script makes a new commit with a message and modifies `src//VERSION` file. -Detailed configuration is in `.bumpconfig.cfg` file. - -`VERSION` file is introduced as it allows to inspect/modify version reliable with simple UNIX tools, without need to parse python code. It simplifies greatly automated builds or introspection capabilities. - -```{tip} -`bump2version` tool is chosen, because it helps you to follow semantic versioning scheme but also can modify different files as it is _language agnostic_ and can work with non-python code as well and centralizes version string control in one place. - -Check [documentation](https://pypi.org/project/bump2version/) for more details. -``` - -By default, all version will have `dev` suffix (and `dev` on CI is recommended) - this informs that package is made during _development_. - -During release the "dev" should be dropped to signal it is no more development preview but that it is suitable to be used by other people. - - -```{note} -`.bumpconfig.cfg` configuration could be moved to `pyproject.toml` but it modifies the file during use and it resulted in conflicts with linters, which is why it is done the way it is now. -``` - -Example usage: - -```bash -# assume current_version = 0.1.3 and we want to increase the middle number (minor) -$ ./bump_version.sh minor -# current_version = 0.2.0 and it executes -# git commit -m “Bump version 0.1.3 - 0.2.0” -``` - -```{warning} -`./bump_version.sh release` - should be called only on CI job to ensure proper release cycle. - -You also need to be aware of valid version format, you can read about regex rules on [GitLab rules](https://docs.gitlab.com/ee/user/packages/pypi_repository/#ensure-your-version-string-is-valid). -``` \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000..48864467 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,89 @@ +site_name: "ds-template" +site_description: "A comprehensive project template generator for data science and Python projects with AI-powered generation capabilities" +site_author: "deepsense.ai" +copyright: "2023, deepsense.ai" + +repo_url: https://github.com/deepsense-ai/ds-template/ +repo_name: ds-template + +# Theme configuration - using Material theme for modern appearance +theme: + name: material + palette: + # Light mode + - media: "(prefers-color-scheme: light)" + scheme: default + primary: blue + accent: light blue + toggle: + icon: material/brightness-7 + name: Switch to dark mode + # Dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: blue + accent: light blue + toggle: + icon: material/brightness-4 + name: Switch to light mode + features: + - navigation.tabs + - navigation.sections + - navigation.expand + - navigation.top + - search.highlight + - search.share + - toc.follow + - toc.integrate + - palette + +# Navigation structure +nav: + - Home: index.md + - Quick Start: quickstart.md + - Template Content: + - template_content.md + - Project Structure: tmp_content/project_structure.md + - Code Quality: tmp_content/precommit.md + - Mise: tmp_content/mise.md + - GitLab CI: tmp_content/gitlab_ci.md + - GitHub CI: tmp_content/github_ci.md + +# Plugins +plugins: + - search + - mermaid2 + +# Markdown extensions +markdown_extensions: + - admonition + - codehilite: + guess_lang: false + - toc: + permalink: true + baselevel: 1 + - attr_list + - md_in_html + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.details + - pymdownx.tabbed: + alternate_style: true + +# Additional CSS +extra_css: + - assets/extra.css + +# Static files directory +docs_dir: docs +site_dir: site + +# Build settings +strict: true \ No newline at end of file From 93d9f4014647ed9ec60daed9f21e9e6cef41e7bb Mon Sep 17 00:00:00 2001 From: Bogdan Banasiak Date: Wed, 22 Oct 2025 16:39:15 +0200 Subject: [PATCH 2/2] update gitlab/github ci section --- docs/_static/artifacts.png | Bin 43855 -> 0 bytes docs/_static/coverage.png | Bin 20432 -> 0 bytes docs/_static/docs_lic.png | Bin 38145 -> 0 bytes docs/_static/gh.png | Bin 68699 -> 0 bytes docs/_static/gh_artifacts.png | Bin 15738 -> 0 bytes docs/_static/gh_coverage.png | Bin 50134 -> 0 bytes docs/_static/gh_pages.png | Bin 43564 -> 0 bytes docs/_static/make_template.gif | Bin 103035 -> 0 bytes docs/_static/pip_reg.png | Bin 20527 -> 0 bytes docs/_static/stage_preparation.png | Bin 12539 -> 0 bytes docs/_static/stages_main.png | Bin 29577 -> 0 bytes docs/_static/stages_mr.png | Bin 20879 -> 0 bytes docs/_static/template_files.png | Bin 17320 -> 0 bytes docs/_static/tests.png | Bin 51305 -> 0 bytes docs/tmp_content/github_ci.md | 193 +++++++------------------- docs/tmp_content/gitlab_ci.md | 209 +++-------------------------- 16 files changed, 69 insertions(+), 333 deletions(-) delete mode 100644 docs/_static/artifacts.png delete mode 100644 docs/_static/coverage.png delete mode 100644 docs/_static/docs_lic.png delete mode 100644 docs/_static/gh.png delete mode 100644 docs/_static/gh_artifacts.png delete mode 100644 docs/_static/gh_coverage.png delete mode 100644 docs/_static/gh_pages.png delete mode 100644 docs/_static/make_template.gif delete mode 100644 docs/_static/pip_reg.png delete mode 100644 docs/_static/stage_preparation.png delete mode 100644 docs/_static/stages_main.png delete mode 100644 docs/_static/stages_mr.png delete mode 100644 docs/_static/template_files.png delete mode 100644 docs/_static/tests.png diff --git a/docs/_static/artifacts.png b/docs/_static/artifacts.png deleted file mode 100644 index 9657df6eaba9251895312b250505bc3cd06b1bdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43855 zcmdSA1ykkF(x?r?0D})OxclJl?(Xgk?l8DBxNlrG?zVAvcXxMpcl|i$e(ziNFWjnB zDxFGFE1k|-El-Cj$cZDsV#9)gfgwmrh$w-9L9~7y-~WL6+Q$;^xPpNZf=P-9s<@?} zt-E^3K7MvxFSajp#|`Nbqxh!?hGKcDmS|co7B(o=iArm?swsNT(fJcsi${fK|3Iz@ z5qao%eEayJi6Z&qeDU(ui|1yr{V{#=(9v|_wH6=~M+!qoLK4u_Ea20`2YV~8!C`gQb|PQ*UE|(@f6zs-pB{*@NaHT z1^Ec}f3EyNfbiU@3-&)x{x102j(F++x`FHeO{w(L1^j>CI?xpr9ld*BTKxwiqF|1~ z+iJf%1r-(5(#pzIQy90J8oFHu;D-z3|LEW&Bq%uecJQM8^H%VJ8aBv3JGkgAGFRcZy+f(LHUv8hE9>XEVSD`Dol}K=tDHa=Nrg_w zh#4=xD0zG$XGXNySOrt~dT-kFR{Z|j1eF7Lj|(8TTHDO$sdWf45J@JScX$kt#c(S^ zqr{nC^g}~FtFZQJ!i)bHgW`C>2>V=;5LIBrV0Xon20lpuIB;XaUY+H#ThD(uUQK$C z5EmM<9jW7!cEapk(z%BWcWD{}r1z$z4LX0tpR%r?SM6*U&I*`xkBRO4z8?!^JUCeE zcFVigab57@?~Ccm7PjQYO~=iVfX)nSGrIVwiJH-;xlgUf{`$#SZ;r0PJ`TemBbM!}9^W)#SrjJGA_x4a1+l#qM z^{dK1mG|Ehnnsy9Sj*AgeLQ6}0e}RjEbm*f8_7|07K`P0WVq;?->jcuw6WM*{kh2P z=Ie9u4ejK$J>2**_q1q)l-`rb8RYz%kE&P?;8p?wd5Y5@b5I-JG&Sa$k$93@ATYQ zaEAuEax1Iag0gBX1eDjH&k38ZaxIEd4mJYWYA55B=310^28-&t$KS2w3KMIlzW$z1 zc9aeJI=LB5TI}@C&qx0tXnbb5a_rSq^W1O76s9O<)+2>P zrYghbW5+;G`$Dn zO5TxhsI+?W3R2z^G0*ax@fn}mXddtt<2#mi?){eRhiT=g=GjS)i88Vn@eXVI%?XUS zpFUJL%B{EeE1FAY(DwG%^fG!ne&?Gkg8EQOXISVm8j>Qb7G)`#VUgP0&)2Jz#z%IB zrD+e)Bf`V8>$NE^U7_2Ki`#!v`^qzTlfWbv?zuLWHl~pp`rMf|o<>p4v+&!`K_DuU1PW2GTI~rSk&M;Sah_l-s6a z_FGvcNY^$d*6bQ?#ul)c-Ia!0sgGzj{Fq|AI8bMj{ak`hZxj2n_y?Y!3Y{2eniNM; zYTa~Y-7C@Z{0V>26S4*7A<_Tc2J(N3KqF_MApI)=5YZJTnp+-9nH`dIV6DE%A7J3& z^=5Fpy1zZa#3IL%l954V7ZpV`2XO)bh;wC{5X!URCUV+wqzO_cwvYSKL{r}T^9{d$ z!6rzNF#*fQ%3Cj4mk{Ja4X1RzWt2*8Kpjl*7mL9>b}JJ&e5j# zt}v@pc?y)5F|eGcj&-^5ZQX0rZ1Xc>w>#B50kLnK`M~edU-M|+Sn{F31gfeX>_b(42{9gYif&^&!LHoG#$PniL7}+$=>qzxlYxS|2eAGA8P2cLZ;VcjL21w)b9J%1D(oCZY0W3WpRRS zE-wOaY;0l(>%z#L2MT`2n~mhA1y#}KGZYLXY$lIk10L!jFle#p$3f3G3)}pL+;TZd zPhrU^;4DwcHKg<_+Yk)EhMe)n!!;?hZSqK~e)Fn|=(@)Yf}5Eyr*lvbaOjgY-pjnm zfZG=CUXFh)o6Jj=+)tzPw-DuaV}j4j@tHCrLx@6|~O!|#sE z-;B6I#)1#$uh8+$Q26P2hi(Gud8W4jG7rZq9HeP7=H!@}nH#rz6%E_ReMO$pAX^|> z&?0kx^tvE;6f!~2#TBevX zo+F#4W`gLk*)V_WJM3FwvPiwfWCWlgA|ioA(pGmaI^&%Xty=v&?)9C$ZOzpI&Z=-_ z-~Z{Jwc2!LW0{;S9fo{1n@N^Gt1H2$g0npOAMpuQ zC%xWacV|{?sfnNT?S>5ICZt&gaV9oge&tOK&&61YM?9;i9Wo_Q;WYkw3~Te3qxek0R2M z18oPc0v0RUP@8_=W!$$cWn_`X5*gQC`-NZC5*1}QG;eztbAw2vyV3QyzA=#v-rg zIloR~JkG?=jVn*NUo8XqV@^VMG)wcF-$^#X7SLc_OinCS>ZiN=b>PgL1%Tbp6c$U1 z^?41jzjNc75{f5}=*Z_5zfoy1-Am&35){U$4*ql|JhvR{R{-(sX zQIw^eql?yph2D;|LlDAjV8yZ+uUb4mm1L3uUmXMPfL1nE2Nrh4EwAaOok%HsejG=i zafWgI*2bT}D+n|`HlH5p4Zci0QQEfI*;ZOhE{G&V^lklDUlcGj<@^4jZ19O)XE0DG zrcyP5Ay+aKE3G7Vn*D2V{8aw0`E){?=v>J{E@NRwqoKGI8 zL{JYhSOyXeh_XL=tETr1w?IIf(5Qo!$aEJLJ8C>MH+QohqN1ognk+P8v*6nf7y>w^ z%y00}PmMJVHf&x@+xMue@Kv+xhg;6!)h0k$mP)`xOVRz?f!W~Oo;$gvT%UPcI(JSo zgV6t|^c3w6UO1oQ*mq8?l7Br=o%o&Qu=9kf!(B)CqTx`|sQEL{wYLBAyFQ-w#MuFa z=I3x7aWdm9Yi?8pvJF*hb=A24W8iOWmS;&SUF7#>&M{_UhE zMss9G2mZ^;gbL_DrqNdSiqAVZ3!OH{Z1RG|dQa`7O{7Y@?UBjUwdj-bMty=F02V^Kg9y|{Po?Z9Ng##V83 z9C`*$cG{(HonUJcJEuVwNS@CCU zdS>!Vio9_eHiD(@xXF6Xn^Q$%2WDlI+eIW94OF3wO0_DpPrI@6+>tP#e(mv}zeYi5 z-`$?G&zfU+Lz1UPQ&DCVP_7RfWnSJnFPImq>^7waR9ePLb>+jcm^Hpr0znZJwL_Ch zIns?acCTK1?5z_>`sD{=RM}4S-r^TG1bteL-Uy}4&*hE~jso_SdkVR~XNwob z9<&C_$ARh4gG_~$%DsNto2rGN3L^f=lF?p*6NiFUK6G2an(o%fBLI@%7g}|-^_zGi zpDe;uGWd{v@gJG{nBQtVL!`oSp)irg>%y!p3k$>U<|?Xram@px`{0t@`<=U?6~+SI z^A1wNz~NoYs>M;$OTQ4eiO0MRc_g3D&v`E8H36l>@kFC@x zh`IxQorqPoO)!TCw7bUXDmTtV{f;i%#z}m|J;kcr%bo622>8~=!dZr1JZctB zybDoGvuo{UF37^-Vie_12%E!#B_`^jK(AEnpB+^pLg34(1@0r^&Zn9eLm_{49Wb>I{lESt(&0vj_j^l}=>rDB->Rx?%hPF@ zb8D#qP!YY!4{_Ix{FS9| z0|{PD9*l2AM7$?2ZX^Oj`9=Wbt1EM_F5F(Jc`=AsJUF$5>!j3Q zp?v(Gg*RhsRS4>~XrhWx>2$>KI!H-SHv?9+mC3}-`Qn^!3<5G=Z==_*tYR#4I%uWA zR71^XI0e|w&~els^fbf!F*2^r++-&kIj724{DJkZZDIeYHj&R_BBxI$%*q-sp(~qS zw{KoN5*j|*v!DZKql#4uY50?DkxuM(s5^3!_SQ#%6*TmiX^FeMBYzL zSVC`?C%NR=Jzf2ZqU-`o%F<_IY9uAp9j@JeLeI&j@Gpg_X0GsXqIDgO9@A4q#4^;C z3cy+Ew$!;AoGN&}9FsD-_9_ENld5J5WF9g?1>373&z+^0l}JsDZihLb=E_5ZTksQC z07f#m<`0+GWT;qBnVVOG8~u?s=aB^^kaXw#12;D98f z(Ff+(XM4&!AlqqfA616-rj8Gb7wb(<=T>xZm5`tBDP)?HVlVmfrA7-6>T2flTOuF> zN+s5OlGF&Z>VCl};~-?dITK87<~4mXJtV}%bD-wPW*r1`oPhq=sK<8GF;(!((H`)@ zD&6SISZzcOTvUE&G2d$_QC^Osgj4YXIqP5m=m#8ZSbgdAAcw>K_oDoFobz`$I5{=r zsig+`RtmG2%nCrESob^a?3_qE{0wur%u)Mc?E9H~hrUDFNnXfwll|k~SgqG=8x}s^ zKowaIts^-*y)$)7c(0iZftFtpR zOlPaHyxIwK84~2`fvtG8^h&c`L3_;*N5pOuZdPy5=AGH`z^`aKlP-sl$GLrv#95?8 z?xVMn&vqUf^0DfK_49j9S;JF?!R2}_?#UxW{TSY8n-8s{IO6@QU%TsMP5)(|FI{J6 zrQTuErA-Ge<1bL7n=T-+o=hKrIYPU+`sRJ_0bIm@rCPKd>xNN`ZQr{S(@%`>jt-;@wj z$NZxR)6t!aUXZ>aOG^sPwfMC>_uHZ96zAk{o+lweEGd%W&p}g5>RvesNZ>w|t(fok zx}MT^$SaO#aGwCK8cKTT8I)T4C>fCwy{t(OEG82vetcGkq8x3A)CS8)X{^CE(29D2 zR7Zt}gEU6z@#WUFGGq$6o)$n& zUYgiY3gcijO7=#!fmmE!JtA_+Dd9H^J>@%WCA%)w&J0X>_N{{wA(?y@byZ3JhZb#I z0_GqT|Ix~3ahKbo{U#xlJN3~G5S7<@P9iMSs9@1Z%v{yP5q13Ap_HZhccVuN#XKw3 zVBqKoBLWr`6HHJBniV(J{uu$ajgM;n?12n?Blfa_zGx8C_?blveYqCf32C`omuV+F z7yIn*h65T(LjQTjV45c#&>cH2kZ)q1=BA)Tv>qEVAJNV0<@a4}f3ZLZud-ps)pjcb4H6p$X#Y3*Id+>g}CmxK7^^cg!J4dmQd`o_x{ zX|?Bi{NpMkXvzsQk5$a7ygM8PTe0g)i+}2^*o?vx6E3B%INvl5SSZzYz>PRZ|4?*HlenYhU7e!givvYKWBd;OMYz=1YaObcXn^Qtg!VEI#kCjBgX;=WGB+Im* z_Sf(lOu2VfRV<{I7?v}5ab-`*v~$mcvMXMic`z6Wo}Qa*FBqMwD2C8nly0I|2jA0} zF9S$+3@^&)=vM1J#1vU<-FOV<>sWkR@1H_;sASXtJ`(ja_OZ<^jZw1Hs@jx1xQ@-U zH3wcIZia-Vn!3X+KtF6AXmPmG+I_}LSq*v?XyHS>N9Oq#7_Ac0MR5icI{T!k$YS*z zu{s$OT^!Y>hWlgY2KlUY*fJ1oEZbgB6KMfXL|?W*LE#2@FwVLP;=4yD;L zCjJJj;iJ3=O*bEIP^%2x>kKqdS}=N?g8F6cP1v zHAu4C_k~IevsBP)JCKY_3UbIe2p@Tm%KdYQEXH`jNxLas5D@gyZiTH-dYFbX+w@&R zB4~%(1jc*$_LBzuh}CSM;V*q_ZwIlk>?UTjjNCfoDd${wazt{aWtpSi zF;I%v3ZXXVe6a}AG^^vBw9!2%X-Ke(Pa-NwO(4SI@-fp>~ zE;k)iYMZh6nJ@(bWckwUTv1(WPER9d1qGQZki`CDr=G!PE;hbN>2Jk2-E3A_p&SLm zSmxW?+4XqL1|qaaTbsXDyK?N>Va&CrvCP)0!GCX$&p75XtS~Aa-d|vRu-gz%r#oxf zDj_USRG+-&@l#)Qw{JGtn_JwWtQH%0LJ*YAf7o@Y#eGF36yZ`;vcJ~9CMrZ>iN)y!GzNhmCo@ECKwu++wBAZLX6 zC-18;8XxP3^U>}%lf<7ISek`+Z}V*)7qrr2bc9I7)%0yJjSMM|r8NYUP5S(?r5J5H z73jyMc7$XPAW<|-du=CXNnucRER&JiOwgorH-@TqUBCt4AQ+81MdzAnBv~j=Pxytq zAaX1+kT)Fu`e@>ac{!JMGf?L1w;J4Bihc^HY-z()*KcOxmk@N)_KxA^?Z|b>DMB!L zQdGlJDLT}eG&KFB#F@abp*EipC`aCLqqUXP}7 z&b8~0&`nKjBtsBwIGsm|mKZxPrR^n-pvN!0sT%*gn4Yyba=9{KeB8~F{E(z9L>I6P z&1gpy{CL!xAcV~(J;{RJL+n&)92|atBvLF*Noki_OgTF;KuNfnk$qHD!ajN6&=TMA zq-MGll)>sf*CuLSe>F~BF^>~6v=vMg2^K$aAyBDz>?7ii9D?6nvtcj)P4TeoShF`U zoyqk-EP%t19PydrcNK>`qtEFv-TGL~sGg_WCElB89<`(?Pmb4Nn>W+~udMf`4C|0Q zZ^h|&|IpQs=YcoMuomYC``Zx?^Adx74VdwmpN0sx0CmxEQX%4**!EkH=txROIHFOo z>TXD?<=m}Pk5w+*;DE+ccskWsk2j0nyB9g-{az% zPcc#!bycPME=>tr5~&qq4|TY2ksbmLZ`YUjobIhdK~W-Ke)28NP8RQWb0G472hbQ z2{y(1oy%zbJ;>6niLYDH66s^44kw~~W4KkiTiW#FNlYBhJcxtqWz5s*ejT zjJOI?6i_Ru#*;uBmom*M#66UfsVT*zS6<7Css^8lVn;i6#=D^a5ur}@T(DyjNX_=% zGc(C@K5Be@AL12SD&Y51iS3pXWE50~pLGj~#6xIuZ*3d;M9CbvV+udgvdh_YE?0oiapF1{<`B(!*o*k*X{e4o0-Zng9(fGFO z%STp)uJ(9jbGh)iZ%m-a6~4Omxp`@gXSJNJjzYwU#@(LGW3M`z0yn!Zgc5YS{3@|< z;OuD^GS-p-=kk%v0=!^C5uO)sBLD!Rt?fK^z_hHiwCC<&507>u>DD$$Zl2LbQ@TQ% z1Ds1c{y}6V?I`BD`hpI(gwV?=Ghv6+sp^VJ&UzII?LLJ@17{#qMjD2qV_CRWbmo$- z*1+0$vKuD0T+C$_O*&630TL7%Gr3F#7cXD`TMyO2W!pgfmHoGg_lZg9fZGAHk@MrV zN_=pu4wL&5&+j47j)#4)rjZ$g6WqrIo)XlQ2+h11p7TWJyIu?F?h@upBolTTeVK!$ z&Cn{gdKuVgwzXFClK3JbKkZ#eK<&g1x5+@anM#{)tA}*kL*-_HAv}9)cAHFp2B0bi zs1*lZs?47>IyTRx?NxpWF19_LW}ND)1tHJYs! z&7N^&w+}H>Z4~D;;avB7#r)iT(Weu)3^bAdYEPeSg$e6DT)QP9>(cJ>(}FSJ4$gPA z3^@Kof0`aXDyKBfg-E~{V{4iJ&V%u|OHW|x!>>$8@Y$}xJ^{sKQuQv&;YdR`%aB3B zkaNwks|~79Uk1W8WA($x8U;81vQ$-`E(`#1segEkoOn|5_+(CGKr4=2dHA`=lAM6R z!r>p@k%xlEU}YYrh$*?ELSij=BBdzELFqFBVzjQzrM$4FYsVOC0J+^3yB|i;MGE8X z#Pup*&0G^NKx@9I1cXOrcU<7u2Z>-=7`uTz?>I4z54Z}on(_R141jmyV`Hx}v@El- z4~{zU11+NDBen#^cSk)bvq@ZH3AMuZ)elXb=J;AucW(bhL;LjRtcS6J2S7+Xl>E+L zv1>gt8jugay>+%7`T30L+G`l<{qNsu~HaMeZ{sFf>+T`xit4e_Fz0=U=4hfnO zZ|V_Q^};D<2P4+nCq;UH2P`({J`Kg}LJmNY3womeFE=?}r*7s+XO<2Hz z`coq7A4++OCI~9v&6#|(G&4(HEU9p@$7`Jg6Hm_3%RgVxYZ;SHI%tHM_a?tRX4$dx z4BYR(AF?k0!38o$;FXkP&NreA3(Eh1_YyKNV5mL@bD(lQ7vH_29n*9P_Y@Rdd$~0` zxEw9)1)EG~Yz!Z?KH5w|ZtaP%75vH(4iOrx(j25u<-8UHQh1O&fCH#PyUgHNEo@?> zo}VL)ow(Zrc?OxhPigINKF0c`(7HVEF|p%OS)NlKEBcUBeGVmD(<8I#I97+X$7j6$ zLjKLZ$4CeC{1IxPg*hb>Gq!{4JfJHv3YkOXiqH5$hW0Y>wJ{b3ftA7bku^;nDc{2) zVDbz)oex!b-FCf1eHhX6HQ5*O{`grEp=UCE``T){0(+jjzV~d#a^XoW$I%mqkuj0b z3rw6qFE>OwqEYKnPQ{?Q^WNT~dpacfC3t&20C!N_?u*6J#dCBTEPEw?cXnV?p)yahZ)oAoG zjn*?Bgs-gdVl(e8R(Emc^_cflX?8s(n;94pKaHsb5?a~%D^rK7O+}|id!S78 zz-$te)q16MI%fjGt_dc$CxiX)_m-65*lD00x=5}0KJE*>d?0M1`J6Z3=40K6`)>x@ z-l6T}lvZP!UYzmmtK0=qzI>3{ac`){qvp%LUEuG?k_Ah6X^KXg7C1a68a^z!)x$Kb zP3jmHZ)lzljlMd3`qp!cIfK2MXLDNp$+jHoFx4ZY&0-uljQf5;#HG4?v)kS`7N_6U z)DKMUawRSEe4Mi{$7E4xFbhord%a$}- zKjn07xo}Z4Khu&Xq}#1CI223P2Qz9i&7bwAkG`SuD@>*^BF$M!_mS|nUE7tvY}7Ri zRd0)7XMi!W$sF)?AB~h`#$eFsvJqd5zVMB3%pWO(i zitSI3drn4q>1ZH08!6rov#lALgcU6oJ1yX)e!G!+#rV}^*^ebup-PjjBTGpu94rd` z3c6Xgz1HrAH#d&BFsmNLBg@$iZ?uDjp+|rokSnUZRj>2_Ey!GCA zSs`MKHm%@odf9$?e^QEEU&%M<1)__I3EP>~Ajx+#WS;%PGQnj;2OxtW~*EexBmwu>&VZK(+4W?z$z|x}KVgXZr_t zStvJ5G%otR6gE4*(GdtYX!!o+jx7&|kOrr+hM@ZwJaZd5Azi_zpL9I8W=@(}hr~5pPnFvI!yl|G>Tm20s(2)jf&=Q*AM$WXN~lrc?{`4(ErzEA-Z(h`)Z` zt(=BgmSYF{70Ll;yf+hI$s7{fd;yw^zJ;qgSeqZ5knHvBWluiR{k7x0SoTHi6zGiw zDs~ZWllx&C%$bv3S~YggNHWr1N&lfq5Um~FqHOfJl3oPGpMIdZ@!xd12*UJu7QwId zWdBu+TmBn?<9O>ljhToe8`oJbV7GE6a2XWxV`B}Cuk{^K^5JPMiXoC?uoV$ z>u8WsaljpC18i>x>V8`KY)?mJ&y?e2P6J1 z+3m5c~$!zW)usYVfYTneJVF^eyQPQ!CKdN z3x<=KOuVSi@!_oho9|bwoS(mkVrJmt2ok^K%RCfvQ) zPu@J-M`~Jc)ZN!#vVV32RSqQc9+m61vZ>SQQ^p(|Y&P2OkEmKM(si`Dx_e%3YkuLV zMt}p63*83!Ly1q(vSycJ6~7DL*cNHK!h7xE5tH2|+}QANKh}!!!D?%nuPE~4KVW$e zPBDAN_;%r^3#Ak}^U>IhaK;zt{KNkW+4Ej3S)H-B-|PeO+hk1#aKAH2Uol^ZdE?i| zTaNSb43IVr4yv`%f41>hh}V2b0PKs1j=K#a{rfepwRN2Rj|ZXz?JDiwI;GfJ@>T4V z>e5@%0bE@nAu-r5i=eHNlk~Iw8Z@iSW_g5jbKJ3V?IVrPYZddqWPjXNK^)FcI}DO! z+*!R&hmN_*!Jhd#WL8SN9g8y>!Ik>v40u$ZBz7u0lC&K-S?vcZA@IZwL9}BFbU2@zixRnk1w>g}3pDZaxSN(T(3J z8*YCoYI&h6ax3sR3bT^lYk8Ixj+!&w(wlCo06QZ|(AW7d`x*hI{12G#W$*=OUeTK- z89~VE0vi>8x}2u0&_^7$e{dAu+c&OBT% z*QkFkp?~P4haf@NJ30MUT^{KL{cGgW{^NOnoVd#MmXoN>ejqmy1$2L5cX`Rmt+YBN zPChi+#&s!!Gr%RD1aPKbywIdzv$Fq z`tP{HXO^2`zK}kXKdZSEKK|)ocRf|}CQ`1S{ASnKSGS#+`s1mr8uzDMEzYM(dmaHH zUV>U$TDAuNarA7TH%!NtkWHv|TP@f6cpJ5EKU==SR2zh`Bkfw}32w)Cc?_JZ1s0G_ z>7C1S)`4LazqeHb`g%$blTwVg5AX2+#8i33tsTYz9_4UHRi@MK$5G2$rQK+&w6wI* z_{n|qSI5BiHuBjFpOtXew&VQ*FE^pez*_$F5aa_vODp?kyB@66(YF|HU5%ph!7Sy zilgbq@B{LnQkW9mv0Md50?Z{tBRjluMx2G9=_vSFF|w~l)%9vq?^M6ft`F<6^oUiNgli@Z};Cd zxn7)Yk1RfaEX*~VXDYrJM&SOLl}Q4x}g9n|^*R7M~#Zj?Gsic@^xbG#%6#y{hkpY4*=#Zx2X6j5WX zq;fdohHmILEt>{x?YvY>0>~0OONz!w{Gp1vcmja%69~O8ruyK8UXj*t%P#@F@Aw?L z=}JU!JtzL?;E8BLJuEU*8+YA1;ncD`g=+v}_l=u^JBHtvGjM12+R4?Yx78srHeIV4 z!=#e2u9n7KrT=8U6B!vF=3ikUR8mqBSYSvi=A?h3YB z=&#Fkva}8WmkA5!LxW@7jX|B_Zx30+m0uj{Tb((KDu~O-#O7J9FSz`PGUp?h4gW?Yr84h%!l@$`Lt!!_>12f{7>y+-Q58QvC*n1 zkLm5i2!lmw{b}t&sqJin$$~!+9YsW;@aku!TEtM6BS(2k8J$>k{R_s|M+hVkGfLuJ}xI5lVy@7(=X5)m&r z=lpav;qNCgMhy<*2e)hF+=vb42aZJk2LD(p|E_(BCQL>)F}h-PU%4anuZ4Zr^K^b+ zM)s+4h3**1_`zG^3(*O)JlJMGdpEc5iX}+ISC{jZ-ei*Cq^FJb9a3`gYO6(jkB765 z4J~Kz^z@9UzuW$gNguv~&EkJE(y^gG9r>7)eMU1 z;gYt26ROZw$2jjnFBr)rBXj+%3102pGI|J6n#O3{ttNezVq10U|OHu3s8vb&$se~||u@Y0X9Kqhz zei3PQfJr&q-I)@qQKG-6Okr-StAjD`{zw6-hYV`HOs^xQ)?vjC^+rF=3s}aLY0h-pGkuj=cHRRB2~5Cj=ub+0w|Z7|v3Q zshAltkM1>;&kZg>@?KCBfoUe@*RjNM>Che_@2W^yGMrdvGe$b6Tsyv&bAV(UIz+=W zwJ#}3g{{$X_iO%5plU?s%rVGk4sqpu<=K$HF`ner`zl&OxWFGGs@0{pHk^+1WBg@a zzS>!Gr^1(|Bo*NFRL7;r$F~+G@f{B7#b+9qJIY_1ezsEb@^4~QD92cNk?8sE_lt}N zv1Jey8y6E3NyLQyg9En`L6+%yVJD2_Vppz+zlHS~(AsjVfB50DhHU3&vQ_GxZ>*MvqV^JueY6{6JG?y;n}gVCSkiS{9~6pgX|dTHsApSxPB*0EP52ktzTi}b zmmxzj0^PAMAN#B0M3}Gun-buw zoeHwvKI!Lg1J;A~-d@qfBV<6rOeE?BB{*KxW)u;ZPdD<#8 zrk1v0f!c>nHhbL~+^PbCJrUn$0-~$$T7P7ko$ek@2W8rTva|TVsfwU}tihX|wl(Op z;&6`{eG60i9ZPIDRb!LV2#_J*)|Ryu@5?Jwiw(D>t$sIRr}nP5w|vAJ79Z<7FKtEV84_qeJ=Ff5Mz}VS- zAZ(0m&Mg^pD1T!*QQr7Z)Achiv-0o{Y2T4PLC@NhcMy;+N}LPu>{exr;56CA#)tWSrkTw7Q!HUYllTo$JEB*(nVAx zD_Y}!<%eH28>L)Po<^^{zYk~fWV)ONLK%orO)V$r^4zP+%`U1lNShP`vytJ|kIl(S ziHHvlJ@V-KV(J3@Ifw}5EDqlgfqeCzNJVTY;gQCAzgeaye7Yl4!p?s1UmUkG7d9|j zGBG$=1huZyUVM|dUb~LU^B4qQvK$4c=Hbz8x={za9;Y@`QTYkP8|info;%XR=}jMF zELjhJm@wtwOwB?6MABP*sA}xd2xegzf(!kHWlY67HMBUXSy&NPm>^jAjcJBiadAvP zj8IrvI$-Q>EM4AX!U^|4MjVV1rW23MReyq$rQ29kJIC~Wz~zufiTD^K7N_!;96d^3 z45-@KEDj9K)5(m0+)VDqy2j<+z5LbT!#mH=2%2y5tF1QjoL2DTmW=xd{i7uc zQ+W{68LOC^WpLI4#_WQ8OAT(SROTETs(7etX5(AbPwjLBRe{3j@+iJ!JyN2a*9GBk z8wtJv4~3wbzc+euB~!L7X3x;NDbeey@lUb2C6Alb>iF>_bV3mRUzE)V_*K9)YMWb9o;1H z@ibE3`IPcO!1+RByEDIv_$l0Ge9k8eJ~TNSJ?&5!iIHp0mOMqwWBN)pEv*t~a)hnaoYkR4RkiWz_*Kg-L1Kzh+Tm0MhL>oJ zB%u;Q5A9z)@u7X@Kc!S(ygT*u;yfqaGY@%&$4`AOnI{UPw2L)LzV&9|ct{t~eJ-xe z^cQPdxn&`p_D6eu7|iFCZQ8EFx=uGa$*!ncx<$C?x;U^A`So_n?u{pE zCR{$z;;QL_&aYx_;!9oC( zNy*WAR!@bNn0UgsETZ?Up){oDvn^MMUHXERtQO_sKn=N(x!{gL~ zB+2@jBaP#6dn$&PX{nd?relh})hdA?CmjTheHZrB<2_UDOvVZ&l>ATQ_(AX>oC-0j z5-jqi33)YHd9rc)-g(%HXB|mtx&F4|in#<99k`~C0)*w+WDv(v{T7^0luUs_eUg(M zvRh8a8G$U5sUq+V~egh3cw5?h|Pzz+xUdHrVFMdnRU%T@o61CS+rhL#EWC1 zl}-QyT^umTEN_3|7nHxU`ZWTa$Zr~J@%H4pcR8WAGyqapnhPj}A0(9EMW|((ov@NH z9P4lfItvGIv&jMWG?+tSm5qi;Ed-Z~1cS6zla=4_F-y!G@m%QNI#Ti}GW#zypL1hf zsYSy*ViMfY<3|h2AcFrGf9l}``?=2}`Bdy{-M9WLAj}M+Z_}g6)N>;pj4{^Jiu3)q zNtV|NW;W4x+do&i)Zu-o4?sgkj`eK}-yj2eUD`in^7Zuaf`Co7blmb{f0-y9aa6Lt zWvbj$N}C_2{(sE9WmH>H7bZ*%TC^03ON+a^wuKUkOL2EC?h>FBcXv{tSaEj^?(PtR zy9Ez2Y5Tt4pKsR8pP9Ah{s`gTeNS@s+52pJ?#|tu=MqN1$f5=)N}ip}?I#MYe5T=I z?P0NYLum3kd%CbErthZ!)V1wnz|EPT(8c*WYC~PSXeCUku(MT2qYX!X=J;Ixt1BVe z3$(Y{;$fNS^^3egg^dApv%k)bteDR z>(D@O<0M|?(f#VT%Z{JgWw0p`d(%~%ZZ<Z^?)h z5`#lT%PVv>h&*)?@0f1bmtyT`QdSLoOR!f&L7nh2{Gj{%kLlMV4fe->_#wTyfggfL@Dk#$-wH!MmzQ6ONAE z?KKJ?i%-oYhaNtFKi=(%qh2pxn;#AriDIOi@yD(DuBC{&n`x80dVy+kypXZE#@(RN z+$`i+%*|AM%3P0!jg8&#mcb***c=QeSUA~QqS%3`{t=l}URx>HRzuo|7iF<3BW934 zqS?mT=Ai4~-VJSTUf$D`S(luLkPOxT8zV zcLan4&uDZ45-jClnAclrajH2oQy@mj=$r7S=6CGn_S2d4BAJrd8LMjcAnD4+RYSgt z#f;<;+{ls}f70y{(YNaU4E9zxCX0j|GAJRQYLzs5cLP#6FQ@n2DjfTzFlqQZ+#~xy zZL5>ifbz%OH*tPMBliX(w7^8ZSkyWXu3aoEZG2c?UN_C2jd{+j+U@8 zro|Lri_<(gZ#@?l-GP-K=p1h@D>k;5ucyia>RxCwOyyiQOfzZYi-igYtncH&;0>u$ zWp?AuW}H@6n=>hsNf~nKET#1XEcFZNd=7iW(i+-#Sh4nO>kMr;G?AhJyR~~a)F@(E zV3gBPHP=uv2o^Kn)yfsRLHQ+l`_k^nzkg0lFnYARs{zJ1BJ)TZwEKOrMVNi7MXEDV zeQ1L&mL{C`uyh6YgrmKPG~g2t&f^1?F;)KB+!?z)45qlVB7pxw#`E%MFw+?g$wg+8 z6g>SFyo@^E<|;>mLXou*@k6IPp+s!h(dx!x(qclEb~_tr)K5mf_Z4=B(rII}CvP@t zyRFAsI9{w<`L>Q|x>AI301t2Gx{R_m@H7eDa)WYh;mCjxsvCKF6$Zz))L>`q`S+)C ziK(elU5zhSJ8PDMAG?H|i@VdtnwCe0Qg|{yhq!2msZtaxbB1c57c7Pgz_&RKx|k+P z$l@`NBl^-*+kDwll#?dX zFeV2n_xQIof7B4Xjo>K39Kx8$??`ici%v`SHtn_cbVlEh*(v6(M3N&cg%gNtHo@eU zX!QYJ+WmMNwi*nLdfQttl{c7sCEp!zc6da44!@BB!aS9UFgM%P}10Kx01qBlRk+&?p1r0Q_olB zI?j2|zbp_F+qV|ES#{M8<;_)-3kzokZWOI|%!|6}2Tl$15AnOi@EzeyM4Cp=6!KMU z!+Xp*BRJLt^uOKkbYo&{I+ZyX|HA92=~nOp+4^_e#a4VHGsEY3_jsRGpWs6T*_OB8 z3wSq@J`yCo{^UB`+*KsnLuvJ9w4zNUekV^}AMaK6n4>bCHuRJHqsf&?QlOhtvW#`v zRx+9FDe&a3uhKm*UKDF}rgSDEK)LS2f)K$7R#iTmgB%0TD96%t3*$u?L9`p?i||y+}~k#qr}D_0@uo&p76AG@%pxs%_vt;j_57_!$A1 z?d5O$E+`l<-{eZ}d3DsZEZb;-*pWV7d}m|PLrInnv`95IHpbl?NNDMojq^bf6l^0L zTtF3br<=PcC+u%p9%?ZP2J*Z*p0|xX9^if2>X?2Tnv9~VV18+adr~h3{60dE=*5Os z1y`pxq`F|7wvz4ne%~|t!d4*0?syL?0(dJp`!Z&;>iuWruOAr^B@CGp=jx3FN zN9|wNdDA=M+pg++2}t-MSuT6Cl79E@NApj2K(P~Nf6O2xDV#}YJ!H5u$)QJREp~&u z%w*TDlVROr#p0nm!@+_zPk_#!3o%RelVZM-ax#-cm@OK5kbZPfThLJJ|1P z3xb3ANOAEEz1216@E}amtWNKuaC*fBzkR>o@LN7_X5 zfBwbp_mgn>d}PggOZ4CC(jV2RY{&XagAqrcJ8C0^dzg#SAEWwrrTz_#xXCu1p4u#YjOD>9d=Aw=Tn7W!L$_>`ET9+a0)>tU;d=Np+PZQ9Le7Pw5unxb@|(y zKZD+A{av3mCjrFz)HU%_obi(I*}YC14(vAUFs#rgkSHCgGVz9PZ3VWq9b>52jM|yv zZDmupQy>lpxJiIc5ZG_ohL(rt$c6WdxQ&9oKA|jo{!7e$=Kv^b{1a z+jIvA@kbnznK|W*f6vt=!O*qvhm6NB-G&ZOCPU`ylWp_l*3&>P*tWWxUNIzdrQUyU z>GM&z<;cYH3CZ0}fe_*0FSUd!Q~%;_A#VcpbnDpaO{#|f>@GKn_rA5tyJU8@k|q>jpq)YIa>zgdt63}|9E_&q&7q&G_#q%IXiOVrV%8t9_Z$5$Z zx3FD-)iZDA{IW(b&90+e;;WHH;_hnMzCX9(CQGaJCGV}x+JOu&j7ZX4p;Pmnt0e9N zu0TIy{wYIIdE&QTN85{>?6>a{{9!9U9}C{fczKFs#WgBwg8>cePHWZbee6}5p-N>| zwtFU`(OnJ3I7?EB4c~cn>ug`^9O-*l{AKKhrpSO3fjFd*<(KtCNG>2f1uN~9bq0ST zZBsQh(=S41LDAuYhTcf(456!s?y`6{- zyx+DTu#X<~3{ZMJQXINBc`ENzpC%Ep-~g%8tDuJtps7tp-Szx}VmZpk(QsK##H@@0 z2hJ$*1KEbFnvw-QUN0ZnNPq*GEnFYjM6`k7;RjD6E6-a#I$6xbOALE(+@)nu>3qv5 z=8TM(g#6O$o#ARMq8}C%>O@nf2o{D=?=nifR%H$Er5Rao0g}GL@XYL9%$wNHtkX!s z+_mbRs07lk%$xUy!~LGTf6qly?|XeN>Xy^(@735F>2AX=CPp-FaEEtb{JO;wl~rgi zB=5b!kLBeIfL>aEZP+c<{oJvaM=KUlpzE)z6Z$)BBNRAIPmQRa>Dil1j90m{@pS3Q zRMr{&#P^Mp*@^@hX-->NNqJT8N8F#a5ue%qM}QrKnLZclG*RL8e!LVnMRLLPx)*x3 z^5B;-L$oxRLt3MK$>y`9pP2$g0(1y)6S(9B(xTWE3QrF4{H2ueOtsfd0EeC_7ynfhFSzx)nI;?5R_f4H3+N0qboQQE7O1MiV0V|Rwj zce2f=A0{7ZWb*yhh&mp^!j40Zdnudo@5zrp-28Hu@w9jj5$E^&S_?cQDf4Q{R6o{V zfGCHZ-yE}hm#w2_tZt0ev9h~$zKKMsUW>_xPYfJCZ5na}r?2sDS)-d95KBg>H|rk&*Bo@Xya;D@+CXvXe%HlICXKAZIkuFIVC*g;I# zAjya0rsnq#YCY&F?VbKB)m~m~&zce`k7mCJ!Fvql7>-v?xgs?FDCR~Z0qzN%Z}-qU zetHZ}Z(hzkTk2dpoRvFcs*+HGWbgeGr8+frfqOxUMp1ymy@NXMks+)Uec|?-$sj$x zP)l+8a&1b>rGz@K?RGl$2L!rYo$smdF4M=TaofrK>KB}?Pw5XK8&R@p{0GI-h0+V_ z8`o>QOd>W4&=}Y2>;BOC*pE%V!1IT5v%LGcq#j{!b0Kpf@|A75i=UOaZ0TH%%O8_m zUCQm@{AA~god@nH_HI8;?`UnudluWnb-Flp0F`H`-m8!;ei4SW4>2A!bWqgDpSUwu zDLpe0o)r)+Cb(o0vj4TUwRC7Y)+u)*w;@!mD1`BCr}tG|e()31rO%(W?kvV?7`3*U zjkhb#xDLlN*wpOuoJ^*Aoh6xdL3^!ueRRG3Dq<;ZCY&e-81%Jn0-_RTmmOWSj8G|o z;kzJC(;Hwd3H_(hNF56y&-a2+@$ZWPuBnaRjpT6^&1BEGt$Qh3jye`65___=_)^Ny zU)U}Kwa>5=|JpO`1{Rv_H=|H4?LNJB3|N=QWv^hxbXyp*Zpy3v6ZAYqZsNA$`Oy`E zm!;%C9%(t}YWYJapQME#wu-VSL6A>#z;IC1dgaA)TnoTG>db*AdYw}I#VE-I7wRqa z*kD!W3(Y1gWh7>{3wgWE^_wNO=%LLLmghX^H2P<{m&YQ$8Ed#_EI*8v--u}NrHJ)L zzG)DABdCfCA{mak z_Y8LU&>9{d7FngxEJZD3`^m1l-V?g%lGx4JdwS@XLn2rWYB5V+O^qZ)L2&^X@_H3Q z3YKm}>~ec@j$s!$+h~0Tzh*Rf;uBR&*(|2b1!^8MHEW8Ln}B@ZG;d<{46Y*cEr$M@ zx>>M$=x|!(T6JQs1Ao#`Z>c?&x>l~obN3XI`AWY8Vi#z!LR2~4MWH2${yMo&xdkE^ zasFNiJe81}*0(B|r_(H{R-TP98%h$kj zcNdDVE3prUra~v?j898^geU4F_v<<0CZ$(?szGLxoA3B+O!mhwp}Ifd+GJ)jL;DTn zWmYC+59f?DEw==u{>_q0jluE|63NjAJskI3!X<}Zg?}sFU-K1n$TNzS*JM>UpPN}q zv;121XLHgEcw|knU|dS|(Dh5z<8mWlAi>*+P~nbA`0K1{;8>FPAJ%`5Sfm*Z8pK*jAY7dXs4#e%#pNg5TncaDzAdh*S@x z!TXs>H;`mAw`MiL-yU;SIVIisT)AlK<;U9K1=!Uyhn`ZSVO`IW>BXzF#n2qSfph%> zT1tY2GL(|RhPc$UpD8so^H8cQcMgB%K{afvl71ZWmcgQD@UfOJ_Qi!7qgt?C>oZDX%*s8d&E`%#UzH=3I`58G35a@^e;=1` z?Msvp=_=J2I^(=4VE-xDVT1IdaPcQmt;s%L?3Qf)Dylj&-rfuR^~v3FKAqn13rr78`?Fh;f!}r~S&)i$gUZtS zA4FR>;|OU_ChHM)yv(ZXR_R9d1vNNf2ZCejL%$podG$T^$ z8*z;2uz^YFt0N@5yM^3_`^k5m z>T;JvAF#@Xy)I_NUEEo6wXOoMscbfSB~fbErVI8;>^lTAfZzWrj@r6VM`EtDMx`}| z;5wRe(LGM{WA~yHmXK%wA@Qb1)Mk#^qB6Y^r>IwxZ-m9$os$E2xKBAr3V;x|P%R2o zm2JriTO0hgT(JSDBgCxFtP!>9yVS;AH+?W*#Qe-Y;x@qotu{`(o_$oFq+cvcmjv#N z2VoWtHOoOE6t?Fx$V3iQLknzPLUey19ddho)~b2@d9*d6FG(kxn48=uEe2~UM|}wy zk7ePzRj!ib8L6Uj~Nwzz?9(PCyi5FkOcQDdZV&1-Mx zK*Ws2s{76XI%prXwS_*1c_`PH_cDL`_1BFL?i1~J8l9eA{PUmxPvIWOQ}8z!LBvOZ zf1wp3xFY$V1v~#SJO6JGjyO6vY)$?UW)F%RNsp4$g=1!DVj6Ej8A;xqv1a{?Zekf} z^0(2OEnhd=T*`)9L1HTQIc=2u>JSdzJIz|moXRBorZfr%mDe`A@!{;Bp8J-E-?jYx3>e7&z8a=iAPy9ff41TTpF> z0eU)q)T?Mk2%2VAkO z)yg=e$r=j+46wlI&JKvrsr6N4OI!o%IWZpkaD`uzHp7pC ztRbzi>|PfRiwR>23ZA8dJqP2SvaJ?c&{}tjBHu#{ku5u%EKd|hG3mPK=r-|Xs#y`; z{o8xR$Jj7#9ExkFxiGI=Gm5Pmtj9$X03OF$e}D04q30id+n^HHAdl*=oV+_j!7zQ; z%WYolzyS;OE}V|Cxj533x!V#|P2)?<--^F@ujM5dvUy^!sk)o_}&BRo$L*cx;uigk&kA8`&7x2 z0b3_`t7X9$gaeOTUcK?##IHGTG$dGs9iizhXzI~psWEz^rahj^C+hr>?662j3kmKM z^SSR$N@`VJTB-}qZ(7!PFV(E&s$%idgG^y}oK=z*r$WkGUf^E_7+E#`kCR4qB@EX;j6@?aJ%G^`V=#$Usk|>HXOp4_`se{`ZL8-#x&ZFstslyEhVZ(c9iSapwgL;!lFTtW4@4RMR)?y`zfN9xt7x+}C#X zf`UY@GcDv*djemir7`kYZ9SH13xq9v z@AjGze2u1mdfX=n%VV##eYxosrj+eMD=-tJvxsGeb*nzG1XlJYR>)Jw7Fx=%P80SQ zc80?iz!>z$+tT{r)@Ght`#twxCP6yjBKj!dn!a_hTCYWb`9-iXA{dLS#$j3zlmc$`j9Cd{?!^8*rGHu0JY ztz7DCAzv&l8E(!R#@il^>YJLLDYST~=(^uvAiAK3gbRJR*qe4x(LJv)&y&lLJ6(G? z_bzZfA~NWy;-?7pO)NRpyrCt=T#~*)b$7R@{0OxyX<&8LxgE7*mdiQHuytkpE9Lxv zDcwuZ;_z1Mx0KX-b7cAu!m02tT^6{M%>c$$?;Cm#Yt;9@fUn=nroL8MIYgz_q+4th zd=KlH+;5%cLM;T?f!R`#lPI=1nbc#k$`5)k4(42=DFK+3o@x{<87xDLwQjh13NyT> zLh#ETMV4ls%$@)aue};t*s_-C(;7TjFRkah?sjn1yOF-H6AeNiHfZZrUS3u(&WRLY z*2tF_-aIf=dkx};5%#uv)ABXkyj>`>Yp|1&;GlmY<s;i-|UDS5iv0Kv(5feV#90S}Jb@znZU()B2QM~%u;B-#46%XD-nl|Bk=_X_m-?r7=x3rK*h%4m=Ljs{(8GDU-R^97PJb)BAI@)_pYiWFYJ*0Fb8S z!`7jNVjDMfS^Bl8CmXqTMF&mZt33CJtJ&F8yulV-G$O&C3NL`qolDufN(rmfYxR*? zlbl;HIY*<|xO9HJ=JM&#?%HRY?6g}AsTc}fByj+Fn{lIqloToornruS4C0Gn$fWY6 z>==#DN9m9_!8RS&vz8+F3>{1-C9>}(-7*4Y{v1W92=|!%WBP+1Z1r=N@29N%x^d={+`&fdU&<7Ck z-1Zu%^9-}Qieo*Q*?I5842&iOF>m%=$bnr*jGwE**U-T+FsDA|Mc}0wuo&U02 zqM#XFhR+sq{c+{%;-8G5eH>S96!NiXrrzP=xKQSKeY)1l9Jqc zQwQx|ZZE5m<$5-;?WtY#WJY^!W>JLUZw`856IR@G!j;m~m&$#QAHy3eoU3h|%?VA< z;1ecHI(VOl6SHu+S*G54@8G`h@~VXQQeN-@Vx6=I8ZK-s=Sp;2{_MFisi_0MLgF;Y zD`GCNiBq`jIgk)%64>-_rqp2-N2yRl+5-or&DKAie4akqyX8FjtC^S6W= zvG?hNZo>x^9Z9K9+b@D)$KNzCRB)|5{3*`#Ds(N#pecEtUh_ra+yW zL;8E3l?a7^s40<<$t~kasTmvtDLHc!hG;0o=c#O#-T$XT8N`AZ^er z{AT`ak->!|oH_#CMbh%7g85wHT(!2*U{=+tZF4R~;%&~Yl=tD8!~vIh30jAFz@KYJM{?%sMu~T4 zjN{|IDeOiw)T2Rx+^xnQoF954uh{I@9wlXEP1bG{yu?1@v&q{UfZvPmouBs0oZb|@ z`D%h(H4B(%QOZ3CtGP~CTbu7l%r>D@wtEFIB3XSw@PbZd0iG@Ybcs%R1Qait9l~3r z|1A9Ji$2iBY`aizMUL640-dAm!cOED4647n8eT^BqTVxjpRIq)1A@LMfkGhtw=Sj)e% zl%K>(bOeg?xj?<5@3YUGHoaN{`iMJ#f3qO0x8}Ae`C{*||1;$4b2e1yu6@>9o-41p zi3!QUh4WA<%+ecwVU(N@e)mu#6fC1FmYl!!kQ>0J?NpNAh2AFkiTnwC)i!w!92E$L ztmn#$8V-a-u?eiSHz^t2HVXz{w&J~uMp^Ol=KSAa&7)p-WyNM^5Mrp~MYz<5MZvDB5wSb)fi*D*_m;L7b#GPq}-Z@3K&Z?Iz3syj5C&AVxa z-;Z*UbNz^XTUzsQg<3kVr{+jXIjKfBCbQ5#ODSp;B>#+Pwoq+`Lm0Sr#=kxf+zNSXF_G=)&(>NfwOyp(JS39f!(XI^3)c zaH5L&GEDCREEvabiMpq6{c#H-&*f6)D`zDFL@2308KSy86bbbFU?qgX=jy&J@jf(( zPW*gDa-@dt(^jSw%@@xrhw2YVhaUz>StY^CWIj+4Bz^~4G5CwM&hGr7l;!UdT(yGZ$%8TWuA z=)atcYhGHdsq5yz^!!KH9ZrA5kN;##VzY+go>K7f1!s+-59p3IaRiM+eAk|YlUxu{ z0$N<|KjPbEE_K~fK5$v9#;rX7ug&h!(DN-0oob6A@-vCjfz+X(Htm5(ql$E)*B#-k ziH@am%6p!~8Yp&0qx@cVJfU&<+4HB9YC|i!@ielG8}&wH>h!Zz>AuU3DUEI@0QqhQ zC%95;at#_}3;Ij+HK$LqlU+6PLW~xl8H%P?oZNdhlJ`ajTZJ z_GQF~ww?1AYMxtMv&mACnl728zVnJ>PUl@+xpaQ;X@=D`=Rk3+DDf!S;-No#y2Jd{_sf9WlKalx-1H z42L1n%7NC#dR}k)WkjecU=H*JpDaLGO8p zMk1pwoL+lHW=&}K-k6ANs#GtMuxaEquJ&2y`ixSwXEEjJq$%w3%yBMMCF?VsZGdbg z>Hbb<`00(^mU$0|bcFFL@!HC6_;+W~dv9_<@T{ZA_Jzh5f`Ge1ya&1{9_CaqlfkpH zXc2UmA)~EytQ+o;j}M4oLihpqkfGjGZ@=btu*B4=QT0BZ|F{*LNJdG32ee?G-Al9D zR0h+gw_;@)E-Xd4ITN|5n9C&Lsm#LxTQEG309Q#>s%=j=wZRGT`S0H?_kTiA@rQl% zNv`3(KDvPfMtB`65hDGCBy?jeI*@=hbeep)=z7vUwTslu2|S1VKJK}@$gK7;fPl}X zkFeo-iD3_a@`*S29I`n1lObSeyG>n{&9X!)mxb3KILE9-cc{u#nI1j@<}hv9jet35 z+q33MFHdP<>4bTTTv?G*{mnWfz!3L2|4m44fb1r>c1>+W5+u5ABh;Ed%On0Exw*Tq z6kC?X`KeXCm$7z95VKC$;eIIbDgOLu)3C$(S0-Y7veNKe#K1&V8%cTy-_Z}@JC=G_ zx2*n5Qz`jRN>p#Dx;(9>>FhQbBb^@yw9c-pn>mGs+1M}mudIM5EbQgk@GkvUL3^R` zcU0_#!|IO-|8DKNyb&LkEwM51pCG;Qq8|<|pO0hT8DRa2=4nSbkFiYPLz50)r=^PaAU} zzDnwn?4SpAAIb-TLEYxG%*Vy3_2VR#v#6@&Bjmpm>x-yJG?#dM&s)fr^P1ZeJ$p-* zL2kok@;~?(?)iD4R@Ec~JrM)B^86|v6hG&FAV`KmI@HXE zBWcusvL(c|YnCTGo2D88er0t&e5!~C0Po42fDHxIRTAUTurWUnV+!f zku+<7=P4f1|AUOOs#LT(LEpl_qVO5h-zw7`Xd)G2A95@veMC3nO zscgpibgw&p!sf~}s?AZszYjK+>$V)aUYSY=^=4=DIqgZPO$!9y8L)rJ=wbKirf7BR zjH)r}VLzTT`8cDL+NzAtS=k`CNtW3;01@5nmn70|W4 z(BY?ByCz<+FnsS;k`IGQct80L12GKLX7M%3AHM7b&|o{>k$krLp^zU>%Q6Mc!fMS= z3e(ymw&zu|Rz;KJRnyif_Ko9YXE(lvh~?}7-8A1hjZxtVEZJ2dWkQ>4-w8Fz&bB4a zyz^OyyKk_FYWuaEuNtu()zJ;DU_)cpM31L|`cE-(- zUg-Yg6UP(O0N9<{vjW%t^e@lwv22+L+=4`VXJG-cqHH1_ow3SNQ@%CVoA4T}o5l!!+&Xy0%PSTC z@*N9H=G@$5U6btJdHRGQ0EY;)upF&R(>+b1wJ+?GS9Jo5{Lgz7!-?iodLXcQig2*> zBLAdR1-{j3X zx1`k3w@J%04-#!?Xn-Ccdx|A2a&qWp@Zb+`;Qx`QMb`XUarA z$6cL)%M|OAc7vl{u%WFV#`MKPR4c&w$eV+1`!&M1c5-R?@t;wAOvCA)ImWRUo8TqXe8#?xDR(DmRlY`&h z5gy4+qf(ztMT$BQKSxgNFs(AE(JW&;V95A~&r*7j@Fr9j4ID)g>L3o2U*$p_x4ZUi z{`!auX}x}_(0pcVfZ zV_6pRd7U~NO4(Gd*5%>GT@ud+z$g&l=Czx~HTj?vi&COq5qf*EZ~2dYqpdRq7o4|A z988br3%Xe74ZEBD5AbivKD~>@BMb_|5WqZ=K;Q>s+Q!~E{?!V>$QK|R^77)vLz|$! zwxs{y?+_5j|C?36-o%T~nwmriR3sHGEo9{Kuid%(mS=&0L?Wu9bBC9U%Ou!0#F!*} z!NaCtgs)Jc&W28@wmtujbB9crNOnAX*wA|`Ra9CKrxuPv9{$+h`1n!@CBODc4btFVV_N~)@z?!3D$SVIFkpCH8 z^8d5aeLgCG?9XoB+y!A>6Ey{I#y>MJS(==l$r)WvyJa`w9v52u#{xGK@YsIT3(=`$x7;b)#33QH6o9BKPF7ChG^gqW z#>H`hXsp|Dw<6usT_Vyr>~xvZ9QKMx@?->~ynA!9{8RAFo?0*wuB5jfk3w@EbSx%z zuv__do^!^0<6K!gEj@gNWg#_qG|FbMt2kl16{U7Y_5XxfX5g>V*loJ8-jQZvTRd4v zg0Ney;lx8OS;T0IX$kE}(z{RIL*9_zGR2vB51O$CI9@J7(I0700hcw@<>x-IiWS~K zLdSfLGhJddkZ0uRm2sfbcGkSm;}DaQrqF0SKZMOfUF=OOFfyqPk$(t2BnED{f`V?` zjz}bG89p7R-!iD(ALt)P4cfU7gNMjhay?)9|ImX#Q~Ch~4_$&@f{(;2K4Wo^6%ugs zdMY`ynpx8_#_K=g-GD=&ioaxyS3YNF@7!(r1a{8Rdea>yqKEm@gdR;H-31(2UbG*^ zr2a^C@hL8t9~ha<{i#5C00)2XWDEr|IoQn%i>OD`?}}dJr!gWbc&%Sb;oAV~;?40-Z+GSC3WK!&rD3k7?U{J9Fb1lgSaZuoZ(YPB{K@wzZK?M=v0N!d0|0PIhoT z_Cf)cbW>VNI!bZF?&~{~@e;%lP6|I*J-)pH7R2V$|HDErz574pf|Qx@g{;(prWjfZ zR8~84YLzf{HBs4&G-@Bw{h-|R>B7a9tBUz7Z{H-9v(9|6V{bqCsX08MUWG+38PVuR z#VXKF58%H%6zu39E*k>|3Flc?>Jwv0; zk{KIY^z>2;q?G*#kf|4aokTKF9dF({H-9l#VTxfj3t+SA+V)bi;)?^+^*qMnnj5BS zMD!KfZ@mRI-Z7+)NVoB3(C8Z{8Y~n%oCJj*DV$Hdwsh{De6i-J(wnf~>Oq`AlFl9v z5S6C+WhDLm7&FU=K5mn>MSKYITkQd@+Vrnoqnbsx(+xJOo!ER;O-@NOOiZo^8uIC8 zN*BSE4(xtv{Mu&+sp4i}@_JbrZ^U6(BJ zyc%6J>gQ3w6ByHC9Z7qpcb^7Nndk>U2NQbJK_<%EF?!VNYh%3}z@B|1m5$ZM!9;6k zUyx_(*OAP@(pR1`T=}IuE%Stfjhlk>urWzppIZ?DF53^ou{0s44PmEeki7qbP>_#4 zqZ);24#q}2+8(#ATM0ZOMfw~K4-bC`j1EreDiyY(`tdrafTF^x?y^85XKDqzsx}+9 z!Ym>f8~1YzMU1$3-aA9_8R0h3*kJ50ug~)#SNjQ~M|`6JJC; z+Ruo_>w_rkqte!R<0)c z7a(=EpS-llw)*yqUQ7O3z%J($6WeOiT5H2c0s_ zVM@Q{%(l>-J7r!JSX=P7Csf7Jj1N}5g1KPkFI*`Tu+2u?v@E{CHWPnvxFB4c0qq6; z6sIlg@j_J9xJ~^zyhLr^+&U(*XTc4#r`_rIg?#z_mGR;#zYT^rFf8E@ZNWFM+OwZu z9-4CG`Riy>{H*+G|Hwm^)-!gxO@NN3vXy2rxueSA9$k}J!pON@n9??u0c7lSH`R_F zknQEDvvsd-cK^I_zA#|F8l_Fd8)ctSYw&d{hD=yff7_AYACLFfmT!ntxcQj3QP7ZHYsheyG*<=5ZE!hL)G z7Y8dL4Po-et6JZ1E_cWbqK*`MCKA8XxQi+n{~Z$XBH~JJJW~32A6+Nsq_=@X7>syp z9WMEA&E9wUe5t+qGs@tw)0^q?WV&YmvNN?l=chSfq;l@6JSjh=DVDEzR&heC-j7@N zuhF?QccE|pGxq6BCHK7d8}c-psM4S)d@>P$o~J0AKzREOn~+!JM4pWBLcG1#t|O@L z!w`n!0EzBjIYGSGQfmdV!$n_uAGUlptIbQ>X&nG>(}j=bhYhKO<`E~r>3)kq2W zsALfAzXjzwbUilwfXUcS#1d}fh&WT(0zyn@KhS!7Lm$+a1&?M#_6^?`PI@xNkQZY+ zbzQr$&E$$q|DMV^p7Bf(>U#i7o$1I42Chmm%vCFil6=fxj2hjEIki}gl z>Qbp2PsF>V)00z=-Ij8|l^bGWyAL%rK^4x3F6xIXJtGOrH=X5N!fGDnR)5d5mlG|> z4E6<&_;8bM=6&^I2*FR87Wz8ovGZRnfMA?kfTtD;aJB2~-eli7Uuf-k8oV>+$bw?q zZF0BlYI*D?1mOJzu1uq9QTu68`S>Vz*-Q6Vn`{%l_1j#p!&zG}!$Le9qe^4Xk}$DA zIX}9^P1Ic)(TDrYzR5n^&8Tm4e=M3XjOD#?23j!=p;sxqdf&Az?HUvZFV#Odf5zEb zbYf4&!SZL&_aZ6Q(k|p(A|AUnt|!wnb@axDAt8RJR>y6PhealBRo9CoF62^LX0#+E zS`!9iPcdKQUYvB@9-Az$S=~_^U;HWfZ-is9c=t0UX zHKfAxFcr4tyst0_wQ3B9^wiMyYj}Hr--3?Fzhua@y(y4>Xchy%vYum)V3FNZZn7c1 zeRPNvoULVlSS%}4o(wS+-dZC}oxn)4%iNV+F4reQSt2TI`9W>#cj^nZ zBHqFjdIXxpVOL$ITtq&x`8zL{1yhcZ?*}%|1t89K>eKyxdl>oU_df+&w77n`9OhLM zw?>9xO#%;tu|#@ev6n5jb|k;`COVO|#^-bpI+@T{Tpy-Lx6R1f6>N%6j;yPDKdeZD zeQ=IR3_R-a_@?Z-=AEgE9zsVn1z-1OVaqvbouOC(T=HVPb@se2NR<(&6uTkkrAI4L zQ5VaP8L1Z*3*TtqkxW_MV0yQFm*=JqrP%wUM;724d4|%+zC2d{)+ZZwJq@w}oP8Olw7yzPb zvd-@~*i?? zYA%m?`z$&8Ok%&Ar-)l(^=Rv|!*|mjFHB}uM6b-nyx|^Gwx^`)%8OdAVJaEv1gE`5 zUP&%ngRD(eTZx!s_E)2NgpA0UdEt4)qP-kRJU9j)xl zt)#;o$HCQ^nmV{XEabAiG;&kFcZX&n!={fV*XV}0e-!sx$V97>80Tsuch)CBd-McO zgWPklD-_o~9MpO_U$oe&c`2w!=4d*iV5-d^gH>1KRt%B>6gkR}HYda6{eJnV^LLU$ zSdlBdu54->y(8AxW4g@@$7cw8$@d$Tm+HylqTKDxy}s#^wH_g?# zKXs;5J%g3;>NbTSvI_ZgJ}m-qLYGy8CD`)3;dzVaNPDu7u9#J&98FZ`s#Ai`VQi-{A@UBMA;>WWdeBq37iAPDG< z`S|>K;OmT&En_ivuk=l;?-f>aBmhCuCjcLVyUMWskU=q9({obr?{!6W!P?GTUEop1 zb%LU|sr{XShsj>B09V3C8(zBk-U!*nS+<)Z@mdU!FF?{V8tZhy0dEnAHs5H(4=xI< zGQC3`={2h$mF)DH1!j72hGpo&)h7kX&GJSK0a7<#K57wgJ2Bd0^p=}0B7U>geCQ~^ z^QH8%x9N83n~2%-ta=?*InZa~xkgjI>9R88!|C%;T$Ll!deTgQRZ+7S=OY_!-DQ3= zveQShaH7V5IpiGm2IptefzxYHTS~$v=I5k8(H1(dLGniPMr4Z*b3GHf?tDBJWGKh` ziUudg2Ly^Q)*1ZgcfFGvn1?3PG)`{$vy#3nS3(6O6CRwe$To{$C!cdWjcb>d(-s7G zXYeG@=OwGbc8Rw0eWC2m?$!3sDS4j9{$lwwI}J}cFcu#_V&n%J(nIhRbI=w$uCcY; z57>TClP%8im9U2_0(%Z6W%3*YCd=9)n|x$U#$xpuFfvECN(Koa+F-wN#KRX7Pk-9^ zK$w6_x!Kds?BYA_(*{kw^JxuTC8}WSkU4w zMT-`9cMHWGTHK{rfZ`AwTHIZVC3tX(JG?pVIrpyrde_Z|e0#F@?Cdqq%x?@8gF+9S z0K?}lw4AS_kk`B=h*wV`M6v|$E+pw_hKk~(3uxCa&ZS*wu#A`H8p|_8KDtL|;JK>T zye$}9`O7wro2Ehb1jn9g4*lnTbN_iCCS5c#Hh97fNpYy)9J0vc*y(Uy zdjJkv3Hg93;xjoDw;`Eb%bX=C6))|IM+)Q#xaC}(j5CzirhDXvuS6Er3R~!xX*c>-LA9w6A z;d+?4Svx*RNi9R#YsbdBiHdzw>}(F#*^HO|xnU*NqJiqjR)Mk6=cd5xs}oCizxi|8 z61&dwY?a3TjPxV_3 zqj^u-ju|zhkGUvkfN}7<@^^-1lBd0y@J$!7rUvHqy?&bfy%km;f|>NW$`*x++Wq6u zi;JJp{xj{KuChXhl%yitWOhpp&Oh8pXXPaon6UKD+l82$H)b(jELYcnr zlIv(1b}f}P$XaXj+*6ZsmUgg(3z0v3b$!G+D@`E(>*E1u-~)+1q96%fUmo-$=$9km zw+z)5TjAm96%Na1KJnNbDyX}z|L9}|ziBHQ#D(2fyC-jF`ViGwr0KeJ!lm^JMR>41 z0mZNB`U;rR%wu+b>OmA9Bb)2%i4C;VSZGWK*lJ_kSx;{aSkS=I2b)uC4{xHt%ZDVYI;!;MlPFP zPH4~Us@ED-`NGCpApAvLEK$kT^O^TAhS@U*~ai7YQScj9m+bDE;d+EKJN+(FiBTe%vKG(5ntBx6v zI$+o0^!-7;RHIB%s1H-y!i{<$pv_gu)SI&8r2WzD^Oya`QD_KZ%;N~g&l%RoPA4s+ z_a&S?Cb+94h50%UXFTfpAhJ(z=;_tf@+-cp=W~@kxsM|P6?{o6aSo!`7Ur(GKbA#*06b(gn80OR{+DZ8QsY%7N2mnyGk8V!uu7N8o(&{%+a1!EQi3cdgQ1 zp5g#NirOHw#7GI4=+GY*1~STlrPZMrkWN|HT$~&`B?qnqJ|9}cM3Wa+5p(*0uClrB+ngn4yvGvO z6~?%!Ro)ER+-Ej7>|Ci66HAKEA7Z7>z8V{Xr(_chbOaC=uYVnxZgWjn^MB|`+cEl(4kr0d>1K4;57}KJeB%mUDIHr0e@PDD~V4|a(+PUJOJ6`23 z8M!OuWdz9QRZXY_p~@Kw4CVz%^JPsDz-#7{-ftUeP2&2|1-cZYzJLBn?&ZoEznB|Y zWOAL){TyjID;;Lo>6{_EV4S8`_*g(WMMqLdUw5mEK!HkzYBxPbK#HNBikx(}$Xw2t z&FH?~6tk`Lmtw8Pm6Yd|gf3}VptKR7hRXYO^$fLdsr-5GJO+%cu6;%5$2y;a;_sM~ z4`rXUH>~#?HX&E|NpX4{n5Oqoew=HvcoPEV1m;a8?YJeby5)9`_ah;OHyA;$#XGyQ z&C_LyLeh@ilG_X%jy_?f$Y#h@;JX~7fSUFhvl$KyOAfuNWS4+WnTtucoF010dL58bU)@J{JD`B=eDzE_q-a1yTgIA?6!;_kjmtHHg&Je?UlRF z=j-sATVwpZAG~}JTa+NF@)d+l9Zld4)TvwF<6JAT7@vgJJ_!z8^RfM_76Ow>0Qw3hxF}}LML^DT zs=OivZY!P;5jw`ksQIruxS@0L%@k>;cK^DpPPkf%e1+%*q}!s>?L)Ob=jpPp#27&0 z&gr*}Uu1_zOAx{U2N`{=%+X$@6qS(R@IQi$U58!2(UHIca}3%=(*ME^W4j_GOQ`1p z)Ha*>QiA)hB|l(d?3?aDn1h4S9KG*-d0;Zj4VdM5$b-v^SJJ|-vRx|>?{6;s4fh)X zcjIG`qqOUyMW`L4HwZxFFBD@a!^o@bfEbupOKd-vE~kUUZNA0-Oa$JOGk1ue1*Ugc zy|c9Utl9I$H=^O?ueYZ!Gw^h;9Q^(iRi8Ehq$(&2Z-|}St%T%#2xGcpOZ&biF1&=> zHj;#T`eMePki0@roaTSA$t2Q!ncOfZVTsT>Aft~iVSWHHII9ZitGlb zyB27bL(MvfG}x?T98DC?TWl$ogLo?L)BNb!^|xa4o07=tHMn|}t})Hv%C0vHA#CfH zdDeim2)2Q!mnAG@lPxKfTJVeFxg|A0P`z(GB_+eXOnJ*5>DpwZX4{q{y@SP8v^#bS^hx=S*$O-g4@<2XW2Vj_}&kOdOCyV#3-5 zrZ5~^36t@WC}s?$_spbnu`CQ{t41+Qjr_>`{95;?>lLnfeTUh?8o@L`{)kr9WZsnJ z6eIcjWlCP1!&Fd?`>rLA9f}>M`Kl`@$6Y3m^_sP|nERE}+?cD?a>To`qxGe-XI^R^ zIRj0hgNeMTDmL$R;)P-P3pT?586l}L>Jn+{FVxx>NlyQ|;G z#xo*rU)Ml<)y>_8Hh?ON^=4<^*&FL!U$PxY*9b2};NtSDJy3!<%9rEK7w)m`cquFU zcJw^b5-YKAU-nnABpFby-9jeqjv&LSi?~zkwb#&kRG6ZGRIEE!+RPibCxM}nS?J@8 zMhsmokNx!ilv^?WEAZZDw&cgGkry?4KDsKAC;NHQi&*+}%5eE4WN`8k`o_L^2ajs1Oz zeX2n;wViFmZyhFG{GM3y_!6(cQg!i?ZQnUq1i>-e&Y)kpbosx?D%&%Kb#Crx<)6zR zeSp{GwrWgV#wxbrh4=`Bt=5#kD%0|i%GN|_rlquQs|%Ik&v%n1 zEZ=VL?Br>dshU;Mk4M#T+r6=VxN$DHx2^-Z;2mKtB$iz2e7!B=?CHxFjCr-4&LBT$ zn5TXkN*phd;+eDQYITk})OPnYrg`XK2;)QJ##6a-vcwzkUPct6?L7lWeEbaa$wTek zZx68hvBkEHdn}LpYjh#2@RtDgHds;g>w2uD9)T++1m*B=m#ZyLr$Fdqv@52wqf5e;zM)M~<-s9Ut@w_TIBRAPZCzjA^-n{w^ zYmW_Ib)|+}3EtU+0*aZ^Tae6HU_xGOCRWT56@Pv}EZpPbhg9M7w*ygrtIpc+n*I}> z*(R1McD>lYLA1K|?`6b%9hJw1x5(iEw(VJ)aPkLg`L!Iw_MWCLXXxdQznEz;9uSQy zY&QHvQ?eTIsBsh4MrhPEsI z&*A%r8U%QsU9YN1A6J71)Yf%D;Ny~Y{57+h#((5XliQfgoPC?-9a{`HpQ_WLL_Z9d zqKOrMow*HkV8*(I{HS)vn_ZgxveA<1j%&h4Sc&iAh^;iT&S67>_13(Oye4=(FJd5vF4Mw0A$gcD2V$b%Pwx%H zHt+MJyFM+lOKWyw?b0VRfjJBNGwg;hEr~Ss2^>E!1M&mb;`*-G4u(?<-7QASJ;3?+ z^P=(kzyEI<&ceLT71%uBD`u|-dhOILhl_6N7eN{RXRx;HZM~veuQ@$Etai_+^3DQH zRBOT0t?i`gV0CHm9Kb%=@hgZ%oC!Eb*EgS^>6dv@eezi?n`A((1KI4%Fh+d!q5Z>M zqr7Cl9&4iVF>v}*9FdeZS#uO@Go%W*v?cYzke+2y4JCL z2mwpZY^oqq6QUY)8L710wYX9Y){T;c#|RAhcCkwDvv^btKiFlIaQ{3d|2vKq&Y~7@ zNcmnQNRDq#mCxyCLRWS`qKEs-F)YdwZ@S&}#7n_2JgTjJ804+3$}b$=T}&rcD(vU0;{-z8f4>!w5;x0Bo@Gm|rmU5Pa$CJ_~5@N|fotPpSfUOC;3-mGs zt=#zjc*!}KT$xzqg|X>Xv~=7Q{V)2^Fy~9kY?=a}!mJttX_}g_Ov68l&olxvf2qh4 zWz2CqkUbCJkZ@-G=4c-YW2^SU94&J%^>i}VsGbssY-4@8b5oCT_S4NZ%rztXdwu=u z9e^!B+CG@*g)`0=B{Vo~@uNwpR8n6A?kL^|5fEDoJ30ZGZ;;6lJ%{Bq=BNasL$m`$ zUvfn4yw@>L-n*1}?pp?Wdn{3aNOatV078ElIefC=ye39&}Z{e)+<|{)#Ghcgn>grHk4$(v1%@BN5qJz4x zXqZJ^*4sPqEaRtVyJJPv4EfPyz4{dh6Eza{5p)Epb9~WB*b$HIw5RMQE}9gj^LmL? z?VgQX`Z71h#@{?=Kt82u-O|2L>A^RZ+{9+tWWB$lZige@?F;v{m8O=Q6_WEB-!Ew$ zOQ9EYB|<{Q_p)CgtW`c`194x4-IvtV{`p!GN7uT?X(KZklDgPKefEh#6CPHUnr7|k$CO7gO391= z&j2W?aX;)w(fH>bCf6)2v4q*_GtVPtgPUuQNUeHy$3Crkw{QLTMGZbL``ly{! zFOg(9y1f(I%F}tx^~(^Pe|7oARO`=ORhH5JM!whD;iVR7=UrAFhSyDr_<+ovET|OrrDqPhy4n_4Y+-&Hb1KRM z17*~If6RD`)Z~)k1Xp52Dk`GSdHeE@QV+)8;bK%rgZJ_za;8L#rA;7_l9H-aeFPoC z;^>)np~bPXfA)46f3r=Kr6g@^yjF}W9d4Vil}qIZx|&w?)k8*Z7`J>2p4s*AIr|(C zfIK^^c~p1W9lXKj8q=BIna*j8dS0`-tr18Ct}Y$_R3UO!EcxuU z4ByyUrA6MQpO0}v#cGuyb}t0im0AELh21$|0)47N<>Zw>Zoj9r zLSEj}TS6j)$;jT5LF^Q&;gVc)KlU=4?8B+#G6b9KXJ$OV`kUL#8267PYdrUz4|{O{ zNQqooK-cyME{DN2Vc=JGyB~HB=1NQ9QYIfV$;y4W3dALcXMnGG@d{!*6hTbqB=QhF zTD<}BkV=e`DN&4*!UFVXGzKhb)zQl&Vlw^u$a6+Yt;B^VPhk4;j<@GewO;=Aqc9 zlEP=QVS_-*(6-m0fqr8!nR&gdrnc6r7``v(&h-0+OK8&GcMTF8UV#ANn=Kx-GY2-r zaS<%SL|EJZBa#%3>)9J3`8v%FKuuXxX>=PaiOsm%wRBAWOEIgtRN|yBR&<}?J`_H2 z9?j&D5F%0xs`$mn8UE=z{#PPmQR$zf&+e+2BGdDeS5~V(fgsSk8oE?O8|3xMYTy1R zu^YBM({AMR9F+`(_H0JK67vOBCNG*SN*Jy&zO9T`Q?l$NlaEcj{^0f+8A<;$Mt-P0 z4de%-rv38wc%ypHt3{b!dn_8aUdy!*N{Ydmm`x1aY6m0cw?4%jN58r@f_W|ou`m?3 zOb;)Hp;c+;YGg!h_T13w66Ed1+dg%4)@MbNE7!Kr=IG-QZVJ--*JWzPpJ?wq4&Vd4 zwLf?2kBp#wNJy9qvJ&sq1o+=FSQbFrX<;2(S8rPruK5PRcIF#9t@;Y_PA z>fD-d^7+nro?d80Jw9DgCU{I!V5LJ>BK`2qx?4+4SgplUv;O{~U_dhg^Y!%{Ijwn( z2pw}Df5MIFLQ&=5uht1Ck4IDVM?$fryr}uL>dz1EP!?_fgvZWkE3dQ9e@yldUr1#w z)s^I?zXfK65NOw#56+rfV&jOCbZ4JKH;&q4A8;^p(N7vE2h^ut3(Cl#V3%-uqAi*z z_S?lT!4muGk$GC!obRi}o|zyCG1VW)-oN7iL@~YdfK#|gu|DV*67O}+IAO;hrj`Ru z*cdxhOksrDpbAlbQ$d~8mnLwV2-$gK=;dwAwMeM5!c)p`R)?f{M(!6?yL{pNs+o$_ z8Aa|@NIR7%d~iUh2{MYh?J<~ClEMD#ppi*$u{mU=S){5^oI4u%#LZYC?zC}VcrZ(o zlH2)?f?2*$xKwVxoP^IB61}stnfo;W0gS?hb-c zigD*>?!!602JYmNS7=)19Ww)ukFx(UWW{uocq+`X$!C!}$hfa-blfO*=hm>qU;ZZ& zVYgi{811a6Q*2im3dR!n2^xs|l>5;h);b!~J^3~+Y(s&Q!HWfZsy+KP1HY%#J{OvS zq7$J#5q^B!$>wQmm59q=B6IK-@Kdach`(`Q93c0&qOLs2GrM<_VZQ>`8HI^RE*Szc zYAhxw99lRwHAM1Ah+O+OIx&f;U{j75Q4J5LWkdn9p3pM*y-6BQn+k9A85{p15$=y4 zQMmh_zFfyrJ}Ezuhi+c+S0C@oP%bXu_{T%6mhe9zhWG^iQ^DukLY2jUCg*L>3l?Na zujrg3zsTA0@OdnNwx*p@S)x|c-rIus+apgj_rlZ|>g+zM6SJK3)K)9nZ-ar&cI4Gg zwjv7#-(*L2HNZRDG9$+5xe^x59oTU$C%90(oWy{62Ya2#sU0jA@Sd1Pf8fPPp-`$KvT*F_BENvZ#Q_d+AWhzw3waY3E7GJ_rM{Z!?!arK$i20a+1_45KV~VnFI6)I~ zz0*&P;KI~|b&y0xicv%V5TP9M$P@e=R9$`$Gx8ey`i`B#-ZM4QJ3A~ysgI0m8-t+d zoOGeJ9it{kCKgH8)J1X25R4>9*1$(64yDHyfQ`GAoko|eIpFVwLrp+&fvsU}P$Ias zOXr_msa4+XxWn%6{Jfs7vNzMXXZRUTvpnul9j8Ke2*DjKbDO#MMgw!;)&klCX!S>j zlNS4l@~*4if6zKr*|eYbXHu_>FreF3QwNY=>d_@79F*<98-8cQyZE4BMV|Dmo?L@& za_^}>1@MQ7k45QbKY0Af*C3Q|PL|O7xvUqQUI1o{c_*(v0+b|$irt3Si*Ziq;kHr;2kkNi_QrxWpIFn-#bWv21H>92x1LDA9MH>W79G|`H@|X-pdh@SNb`_zs6{d zBecYUcJA4uOZ;Z}YYtMA53@>)e7_^*FX|KnUY=r|rF}%Eo!GxYh3{zpa zMhh3;S?J{XtsC+}j^CLp&i97s(mc^$=!x!u3d$=&W_aH2si48=h_rqC!xr-znw&oh z=iewBcO_Xk>@zCo=lPOrMe6HyD>EytkrM_U4R9+^++$hfV;CXJbePZ|lHU zE=wwjW3Z|u=zrwYa?QhhsNuFnTA5pHW{vH(oXoM;1cYS$^Dy)3hsfOnbb`B_c%$Jz z_OofgLg@>WVhK)@AIh%IamX&Z)^+K_5-A&KB`g`yW}rLct$WVI3nQnEy6gDaDf;oE zTrx(k~hr?4~#iE(>!JP!!;M zg^>d~BxwS2lMi@H7~oPnX^^pz_=^0S7Ry!9~v z>GRTI-l?LAa?=wEeIZ>f^HDV}|2%c6$@mB6brA zX%E6v^{>m}M~{d_7q8WNu=ExLbGsTQkMd9jrNHd?-+kP;g%Ho96WSn4XQy>l7l-Ji0`4V7O z8rSq2uWWm%TeY+{xYMY;H6|pxfB$FGa0WDk8?XN7^qwU9oJ{ZIX@uBKxVoGa>Qb#t zcI_XZ=RwiHZ}jj#zSVsTErLiz4S?zGj7&A|hdUnq58m|kwQ!Evl4XP@2G!PDaeI>oEjk4DF-_NR3ayR~Nx1c!n;{V-y@YVjmz9J&wxAxSRd#kaL58;Mw?MxNta8mt|5URV2qJcov-QC^F zl(G10LQkG7iRDk^YL+1;xVJbtIW092$z=;Z*Vfhb8yEdeGJ~(i4fJF9nRXwFab=$# z$L{ajLjAb6ZZGo(68cco)DrN>3jW#K(_;V_Ia}C|>AwhfER;nBF~0owhSzHIW8>na zi>LA!2mj-P(ggQExAyn<|N8YS?SJ!s=dY+UEBAl`9mz{bh>xtKl0=2r$H4yw+*IJv diff --git a/docs/_static/coverage.png b/docs/_static/coverage.png deleted file mode 100644 index fc0db21f6b479e51e58aa4a77ddc835ee19a9651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20432 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%0Aj0SOPKML*lwD*{s2z&OTJ=!g34`3 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 i3e%lleNp?8C5JVcVX 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 diff --git a/docs/_static/gh_coverage.png b/docs/_static/gh_coverage.png deleted file mode 100644 index c3d7c5edaccf581b467aaee92da8d14546056fba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50134 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 diff --git a/docs/_static/make_template.gif b/docs/_static/make_template.gif deleted file mode 100644 index 92b33e6b8a0b0b8730f3e90fa7a4cfc8eab14b48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103035 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�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 AS^xk5 diff --git a/docs/_static/pip_reg.png b/docs/_static/pip_reg.png deleted file mode 100644 index 782f0baa0af858de76d18c1e0ad025f822e42491..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20527 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 diff --git a/docs/_static/stages_main.png b/docs/_static/stages_main.png deleted file mode 100644 index 40e78540a38618b6b52e152c6d28f723cdccc749..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29577 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 z 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 Ue6Mc@M2n}4^-c9^p-yrC1z8b!Z2$lO diff --git a/docs/_static/template_files.png b/docs/_static/template_files.png deleted file mode 100644 index 907124bcb662d9712432ff84fea677f1d583dfff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17320 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 diff --git a/docs/_static/tests.png b/docs/_static/tests.png deleted file mode 100644 index 91aa8bf72728fdc0c069b230b13d50ff69c919ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51305 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 Sr&t{T0000#$ diff --git a/docs/tmp_content/github_ci.md b/docs/tmp_content/github_ci.md index f8adc4b2..6b2d78fc 100644 --- a/docs/tmp_content/github_ci.md +++ b/docs/tmp_content/github_ci.md @@ -1,143 +1,54 @@ # GitHub Actions CI -This is an **optional** template option that creates comprehensive CI workflows for your project. - -## What's Included - -The GitHub Actions workflow includes four main jobs: - -### 1. **Lint and Static Analysis** -- **Ruff** - Fast linting and formatting checks -- **mypy** - Type checking and type safety validation -- **bandit** - Security vulnerability scanning -- **License checking** - Validates package licenses against allowlist - -### 2. **Unit Tests** -- **pytest** - Comprehensive test suite execution -- **Coverage reporting** - Code coverage analysis and reporting -- **Multi-Python support** - Tests across Python versions -- **Test artifacts** - JUnit XML reports for GitHub integration - -### 3. **Security Scanning** -- **Trivy** - Container and filesystem vulnerability scanning -- **SARIF reporting** - Security results integration with GitHub Security tab -- **Dependency scanning** - Third-party package vulnerability detection - -### 4. **Package Building** -- **uv build** - Modern Python package building -- **Artifact upload** - Built packages available for download -- **Multi-platform support** - Cross-platform package compatibility - -![Main CI workflow](../_static/gh.png) - -## Modern Tooling - -### Ruff Integration -The workflow uses **Ruff** for fast, comprehensive code quality checks: -- **10-100x faster** than traditional linters -- **Unified tooling** - replaces black, isort, flake8, pylint -- **Automatic fixes** - Many issues can be auto-corrected -- **Comprehensive rules** - Style, logic, security, and documentation - -### uv Package Management -Modern Python package management with **uv**: -- **Fast dependency resolution** - Significantly faster than pip -- **Workspace support** - Monorepo package management -- **Lock file generation** - Reproducible builds -- **Cross-platform compatibility** - Works on all platforms - -### Code Coverage - -Default code coverage setup uses Codecov integration: -- **Coverage reporting** - Detailed coverage metrics -- **PR comments** - Coverage changes in pull requests -- **Coverage badges** - Visual coverage status -- **Historical tracking** - Coverage trends over time - -![Code coverage comment preview](../_static/gh_coverage.png) - -## Artifacts - -Generated artifacts available for download from GitHub UI: - -![Github artifacts](../_static/gh_artifacts.png) - -### Build Artifacts -- **dist/** - Built Python packages (wheel and source distribution) -- **Coverage reports** - HTML and XML coverage reports -- **Test results** - JUnit XML test reports - -### Security Artifacts -- **trivy-results.sarif** - Security scan results in SARIF format -- **Security reports** - Detailed vulnerability information - -### License Artifacts -- **licenses.txt** - Detected package licenses -- **License validation** - Compliance checking results - -## License Validation - -The workflow includes automated license checking: - -- **pip-licenses** - Extracts package license information -- **Allowlist validation** - Checks against approved licenses -- **Compliance reporting** - Detailed license analysis -- **CI integration** - Fails build on license violations - -### Configuration Files -- **`.license-whitelist.txt`** - Approved licenses (one per line) -- **`.libraries-whitelist.txt`** - Exempted libraries (single line) - -```{warning} -`.license-whitelist.txt` must have a license in each distinct line. - -`.libraries-whitelist.txt` must be contained in single line (e.g. "foo bar"). -``` - -## GitHub Actions hints - -Please get familiar with official documentation before you modify the yaml configuration. - -Changing YAML is error-prone so here are protips: - -1. Visual Studio Code (and maybe other editors too) have an extension which helps with Github Actions - it can be found [here](https://marketplace.visualstudio.com/items?itemName=cschleiden.vscode-github-actions). -1. Use YAML validator in your editor to fix wrong whitespaces. -1. Operate on branch first or create a temporary test repository. -1. `if` and similar conditions should be added last, after testing a job. - -## Workflow Features - -### Multi-Python Support -The workflow supports multiple Python versions: -- **Python 3.11** - Minimum supported version -- **Python 3.12** - Current stable version -- **Python 3.13** - Latest version - -### Monorepo Support -- **Workspace management** - Handles multiple packages -- **Package-specific testing** - Tests individual packages -- **Dependency resolution** - Manages inter-package dependencies -- **Selective building** - Builds only changed packages - -### Security Integration -- **Trivy scanning** - Comprehensive vulnerability detection -- **SARIF reporting** - GitHub Security tab integration -- **Dependency scanning** - Third-party package analysis -- **License compliance** - Automated license validation - -## GitHub Actions Tips - -Please get familiar with official documentation before modifying YAML configuration. - -### Best Practices -1. **Visual Studio Code** has a GitHub Actions extension for YAML validation -2. **Use YAML validator** in your editor to fix whitespace issues -3. **Test on branches** - Create temporary repositories for testing -4. **Add conditions last** - Test jobs before adding `if` conditions -5. **Use marketplace actions** - Prefer official and well-maintained actions - -### Common Modifications -- **Add Python versions** - Extend matrix strategy -- **Modify triggers** - Change `on` conditions -- **Add environment variables** - Use `env` section -- **Customize artifacts** - Modify `artifacts` configuration \ No newline at end of file +This template creates CI/CD workflows with three main workflows: **CI**, **Release**, and **Documentation**. + +## Workflows + +### CI Workflow + +#### Lint Job +- **Purpose**: Code quality and style validation +- **Tools**: Ruff (linting), mypy (type checking), license checking +- **Triggers**: Push/PR to main/develop branches + +#### Test Job +- **Purpose**: Unit testing and coverage analysis +- **Tools**: pytest with coverage reporting +- **Artifacts**: Coverage reports uploaded to Codecov +- **Triggers**: Push/PR to main/develop branches + +#### Security Job +- **Purpose**: Vulnerability scanning and security analysis +- **Tools**: Trivy for comprehensive security scanning +- **Output**: Security reports in SARIF format +- **Triggers**: Push/PR to main/develop branches + +#### Build Job +- **Purpose**: Package building and artifact generation +- **Tools**: uv build for modern package building +- **Artifacts**: dist/ packages uploaded as GitHub artifacts +- **Triggers**: Push/PR to main/develop branches (after lint/test) + +### Release Workflow + +#### Release Job +- **Purpose**: Package publishing and release management +- **Tools**: uv build, PyPI publishing, GitHub releases +- **Features**: PyPI publishing, GitHub releases +- **Triggers**: Version tags (v*) + +### Documentation Workflow + +#### Docs Job +- **Purpose**: Generate and host documentation +- **Tools**: MkDocs with Material theme +- **Output**: Documentation site deployed to GitHub Pages +- **Triggers**: Push to main branch + +## Key Features + +- **Modern tooling**: Ruff, uv, MkDocs +- **Coverage reporting** +- **Build artifacts** +- **Security scanning**: Trivy with SARIF reporting +- **License validation**: Automated compliance checking diff --git a/docs/tmp_content/gitlab_ci.md b/docs/tmp_content/gitlab_ci.md index 627be9bc..c03400d2 100644 --- a/docs/tmp_content/gitlab_ci.md +++ b/docs/tmp_content/gitlab_ci.md @@ -1,213 +1,38 @@ # GitLab CI Configuration -This is an **optional** template option that creates a comprehensive CI/CD pipeline for your project. +This is an **optional** template option that creates a CI/CD pipeline for your project. ## What's Included -The GitLab CI pipeline includes seven stages: +The GitLab CI pipeline includes four stages: -1. **Preparation** - Docker image building and caching -2. **Lint** - Code quality and style checks -3. **Test** - Unit testing and coverage analysis -4. **Package** - Python package building -5. **Pages** - Documentation generation -6. **Security** - Vulnerability scanning -7. **Deploy** - Artifact deployment and publishing - -```{note} -To reduce computations and costs, CI is only executed on Merge Requests and the default branch. -Most jobs can be interrupted by newer code changes using the `interruptible: true` flag. -``` - -## Modern Tooling Integration - -### Ruff for Code Quality -The pipeline uses **Ruff** for fast, comprehensive code quality checks: -- **Unified linting** - Replaces multiple individual tools -- **Automatic formatting** - Black-compatible code formatting -- **Import sorting** - isort-compatible import organization -- **Security scanning** - bandit-compatible security checks - -### uv Package Management -Modern Python package management with **uv**: -- **Fast dependency resolution** - Significantly faster than pip -- **Workspace support** - Monorepo package management -- **Lock file generation** - Reproducible builds -- **Cross-platform compatibility** - Works on all platforms - -### MkDocs Documentation -Modern documentation generation with **MkDocs**: -- **Material theme** - Professional documentation appearance -- **Interactive features** - Search, navigation, diagrams -- **Auto-generation** - Package documentation and API references -- **GitLab Pages** - Automatic documentation hosting +1. **Lint** - Code quality and style checks +2. **Test** - Unit testing and coverage analysis +3. **Security** - Vulnerability scanning +4. **Pages** - Documentation generation ## Pipeline Stages -### Merge Request Pipeline -When a developer opens a Merge Request, the pipeline runs: -- **Lint stage** - Code quality and style validation -- **Test stage** - Unit testing and coverage analysis -- **Package stage** - Python package building -- **Security stage** - Vulnerability scanning - -![Merge Request stages](../_static/stages_mr.png) - -### Main Branch Pipeline -After merge completion, additional stages execute: -- **Pages stage** - Documentation generation and hosting -- **Deploy stage** - Artifact deployment and publishing -- **Manual triggers** - Optional package releases - -![Main branch stage](../_static/stages_main.png) - -### Docker Image Management -When pre-commit configuration changes, a preparation stage builds Docker images: -- **Image building** - Creates optimized pre-commit environment -- **Registry upload** - Stores images in GitLab Container Registry -- **Caching** - Reduces build times for subsequent runs -- **Versioning** - Tags images with commit SHA and latest - -![Preparation stage](../_static/stage_preparation.png) - -The Docker image is defined as `PRECOMMIT_IMAGE: $CI_REGISTRY_IMAGE/precommit` and includes: -- **Pre-commit hooks** - All linting and formatting tools -- **uv package manager** - Fast dependency management -- **Python environment** - Configured Python runtime - -## Detailed Stage Information - -### Preparation Stage -- **Purpose**: Build and cache Docker images for faster subsequent runs -- **Triggers**: Changes to `docker/precommit/Dockerfile` or pre-commit configuration -- **Duration**: 3-5 minutes for initial build, faster with caching -- **Output**: Docker image with pre-commit environment and tools - ### Lint Stage - **Purpose**: Code quality and style validation -- **Tools**: Ruff (linting, formatting, import sorting), mypy (type checking), bandit (security) -- **Duration**: ~20 seconds with Docker image, ~2 minutes without -- **Output**: Code quality reports and formatted code +- **Tools**: Ruff (linting), mypy (type checking), license checking +- **Triggers**: Merge requests, main, and develop branches ### Test Stage - **Purpose**: Unit testing and coverage analysis - **Tools**: pytest with coverage reporting -- **Coverage**: - - ![Code coverage](../_static/coverage.png) - - Red lines = not covered, green lines = covered - - Percentage coverage reporting - - ![Tests](../_static/tests.png) -- **License checking**: Validates package licenses against allowlist - **Artifacts**: Test results, coverage reports, license information - -### Package Stage -- **Purpose**: Build Python packages for distribution -- **Tools**: uv build for modern package building -- **Output**: Wheel (.whl) and source distribution (.tar.gz) files -- **Artifacts**: Built packages available for download - -### Pages Stage -- **Purpose**: Generate and host documentation -- **Tools**: MkDocs with Material theme -- **Features**: Interactive documentation with search and navigation -- **Output**: Static documentation site hosted on GitLab Pages -- **Package info**: ![Licenses in documentation](../_static/docs_lic.png) +- **Triggers**: Merge requests, main, and develop branches ### Security Stage - **Purpose**: Vulnerability scanning and security analysis - **Tools**: Trivy for comprehensive security scanning -- **Compliance**: Required for SOC 2 Certification -- **Output**: Security reports in JSON and HTML formats -- **Artifacts**: Detailed vulnerability information - -### Deploy Stage (Main Branch Only) -- **Purpose**: Deploy artifacts and publish packages -- **Documentation**: Uploads to GitLab Pages for team access -- **Packages**: Uploads to GitLab Package Registry -- **Manual triggers**: Optional package releases -- **Output**: ![Package in registry](../_static/pip_reg.png) - -## Artifacts and Reports - -![Artifacts](../_static/artifacts.png) - -The pipeline generates comprehensive artifacts for analysis and deployment: - -### Test Artifacts -- **licenses.txt** - Detected package licenses and compliance information -- **requirements-freeze.txt** - Pinned package versions for reproducible builds -- **dist/** - Built Python packages (wheel and source distributions) -- **coverage.xml** - Code coverage data in XML format -- **test-results.xml** - JUnit XML test results - -### Security Artifacts -- **trivy-report.json** - Security scan results in JSON format -- **trivy-report.txt** - Human-readable security report -- **dependency-scanning** - GitLab dependency scanning integration - -### Documentation Artifacts -- **public/** - Generated MkDocs documentation site -- **Package information** - License and dependency documentation - -## License Validation - -The pipeline includes automated license checking using `pip-licenses`: - -- **License extraction** - Automatically detects package licenses -- **Allowlist validation** - Checks against approved licenses in `.license-whitelist.txt` -- **Exception handling** - Exempted libraries in `.libraries-whitelist.txt` -- **CI integration** - Fails pipeline on license violations - -### Configuration Files -- **`.license-whitelist.txt`** - Approved licenses (one per line) -- **`.libraries-whitelist.txt`** - Exempted libraries (single line) - -```{warning} -`.license-whitelist.txt` must have a license in each distinct line. - -`.libraries-whitelist.txt` must be contained in single line (e.g. "foo bar"). -``` - -## GitLab Integration - -### GitLab Pages -Static documentation hosting with automatic deployment: -- **Job name**: Must be `pages` for automatic hosting -- **Documentation**: MkDocs-generated site with Material theme -- **Access**: Available to all project members -- **Custom domain**: Can be configured for custom URLs - -### GitLab Package Registry -Python package distribution and storage: -- **Manual triggers** - Package uploads require manual approval -- **Version management** - Automatic versioning and tagging -- **Private registry** - Secure package storage -- **Integration** - Works with pip and uv package managers - -### GitLab Container Registry -Docker image storage and management: -- **Pre-commit images** - Optimized development environments -- **Versioning** - SHA-tagged and latest images -- **Caching** - Faster subsequent builds -- **Security** - Private image storage - -## Best Practices - -### YAML Configuration -1. **Use YAML validator** in your editor for syntax checking -2. **Test on branches** - Create temporary repositories for testing -3. **Use GitLab validator** - [CI Lint tool](https://docs.gitlab.com/ee/ci/lint.html) -4. **Add conditions last** - Test jobs before adding `if` conditions - -### Pipeline Optimization -- **Docker caching** - Use prepared images for faster builds -- **Parallel jobs** - Run independent jobs simultaneously -- **Artifact management** - Clean up old artifacts regularly -- **Resource limits** - Set appropriate resource constraints - -### Security Considerations -- **Secret management** - Use GitLab CI/CD variables for sensitive data -- **Access control** - Limit pipeline access to authorized users -- **Vulnerability scanning** - Regular security assessments -- **Compliance** - Maintain SOC 2 certification requirements +- **Output**: Security reports in SARIF format +- **Artifacts**: trivy-results.sarif +- **Triggers**: All branches and commits +### Pages Stage +- **Purpose**: Generate and host documentation +- **Tools**: MkDocs with Material theme +- **Output**: Documentation site hosted on GitLab Pages +- **Triggers**: Main branch only