diff --git a/develop/404.html b/develop/404.html index 3c930d9..15d6113 100644 --- a/develop/404.html +++ b/develop/404.html @@ -14,7 +14,7 @@ - + diff --git a/develop/development/best-practice/code_style/index.html b/develop/development/best-practice/code_style/index.html index 79de3bb..16a7571 100644 --- a/develop/development/best-practice/code_style/index.html +++ b/develop/development/best-practice/code_style/index.html @@ -20,7 +20,7 @@ - + @@ -1278,12 +1278,12 @@

Code StyleContinuous-Integration pipeline +Continuous-Integration pipeline that check the code automatically.

1. Installation#

Before contributing to the project, make sure you have the necessary tools installed for code style enforcement. -We utilize pre-commit +We utilize pre-commit to automate code checks before committing changes.

2. Code Formatting#

Consistent code formatting enhances readability and reduces unnecessary @@ -1307,6 +1307,10 @@

6. Code Structure and OrganizationMaintain a logical structure within files, grouping related functions and classes. Consider the readability of your code and strive for modular, well-organized files.

+
+

Used Icons

+

🐙 GitHub | 💠 git | 📝 File | 💻 Command Line

+
diff --git a/develop/development/best-practice/continuous_integration/index.html b/develop/development/best-practice/continuous_integration/index.html index 65bf596..4fdb8e0 100644 --- a/develop/development/best-practice/continuous_integration/index.html +++ b/develop/development/best-practice/continuous_integration/index.html @@ -20,7 +20,7 @@ - + @@ -1332,10 +1332,10 @@

Tox: Automating Testing

Install#

Install the required package in a python environment.
-💻 pip install tox install tox
-💻 tox run tox locally

+ 💻 pip install tox Install tox
+ 💻 tox Run tox locally

Adding and Managing Tests#

-

New tests should be placed in the 📝 tests/ directory. For example:
+

New tests should be placed in the 📝 test/ directory. For example:
- Add a test to validate new functionality.
- Use pytest for unit tests, or extend 📝 tox.ini for additional test configurations.

By combining tox and GitHub Actions, our CI pipeline ensures robust, @@ -1406,7 +1406,7 @@

Test Patterns

Examples#

-

The file 📝 tests/test_example.py contains basic examples for the functions in
+

The file 📝 test/test_example.py contains basic examples for the functions in
📝 super_repo/test_calculator.py.

In Python, the assert statement is used to test if a condition is true.
If the condition is false, an AssertionError is raised, indicating the test failed.

diff --git a/develop/development/best-practice/index.html b/develop/development/best-practice/index.html index ad02106..c5b2aed 100644 --- a/develop/development/best-practice/index.html +++ b/develop/development/best-practice/index.html @@ -20,7 +20,7 @@ - + @@ -1121,18 +1121,18 @@

Best PracticesContinuous Integration (CI):
+

Continuous Integration (CI):
Automating the integration of code changes to catch errors early and maintain a stable codebase. CI ensures that all contributions are rigorously tested and integrated seamlessly into the project.

  • -

    Test-Driven Development (TDD):
    +

    Test-Driven Development (TDD):
    A methodology where tests are written before the actual code implementation.
    TDD promotes robust and well-designed code by enforcing that each feature is accompanied by thorough testing from the outset.

  • -

    Pre-commit Hooks (PCH):
    +

    Pre-commit Hooks (PCH):
    Tools to enforce code quality and consistency by running checks or scripts before changes are committed.
    These hooks help identify issues early, improving code hygiene and reducing technical debt.

    @@ -1140,6 +1140,10 @@

    Best Practices +

    Used Icons

    +

    🐙 GitHub | 💠 git | 📝 File | 💻 Command Line

    + diff --git a/develop/development/best-practice/pre_commit_hooks/index.html b/develop/development/best-practice/pre_commit_hooks/index.html index ff21c85..ae0f848 100644 --- a/develop/development/best-practice/pre_commit_hooks/index.html +++ b/develop/development/best-practice/pre_commit_hooks/index.html @@ -20,7 +20,7 @@ - + diff --git a/develop/development/best-practice/test_driven_development/index.html b/develop/development/best-practice/test_driven_development/index.html index 58b95b4..d185ee8 100644 --- a/develop/development/best-practice/test_driven_development/index.html +++ b/develop/development/best-practice/test_driven_development/index.html @@ -20,7 +20,7 @@ - + @@ -1412,9 +1412,11 @@

    Code CoverageExample: Implementing Test Cases for a Django App#

    This example demonstrates the TDD approach within a Django app.
    You can run all tests in Django using the following command:

    -

    💻 python manage.py test

    +
    💻 `python manage.py test`
    +

    To run specific test cases, you can provide the app name and the test case:

    -

    💻 python manage.py test app.MyModelViewTestCase

    +
    💻 `python manage.py test app.MyModelViewTestCase`
    +

    This is a Step-by-Step Guide to TDD in Django:

    1. Set Up the Django App#

    Ensure that you have a Django app in place that you wish to test.

    @@ -1423,7 +1425,7 @@

    2. Write a Test for the New Feature< For example, if you need to create a view that returns a list of objects from the database, and a corresponding model to represent the database table, your test might look like this:
    - 📝 app/tests/my_test.py:

    + 📝 app/test/my_test.py:

    from django.test import TestCase
     from myapp.models import MyModel
     
    diff --git a/develop/development/collaboration/chat/index.html b/develop/development/collaboration/chat/index.html
    index e26e1a1..e4a78e6 100644
    --- a/develop/development/collaboration/chat/index.html
    +++ b/develop/development/collaboration/chat/index.html
    @@ -20,7 +20,7 @@
           
           
           
    -      
    +      
         
         
           
    @@ -1125,14 +1125,18 @@
     
     
     

    Chat#

    -

    For direct communication, this repo uses a public Element room.
    +

    For direct communication, this repository uses a public Element room.
    This messenger platform is based on the [matrix] communication protocol
    and can be accessed without a mobile phone.

    To engage with the developer and user community,
    -login with an existing account (e.g. GitHub) or register a new account.

    +login with an existing account (for example GitHub) or register a new account.

    The room name is: -Super-Repo:matrix.org.

    +Super-Repository:matrix.org.

    +
    +

    Used Icons

    +

    🐙 GitHub | 💠 git | 📝 File | 💻 Command Line

    +
    diff --git a/develop/development/collaboration/code_of_conduct/index.html b/develop/development/collaboration/code_of_conduct/index.html index b76e45e..d4f34d4 100644 --- a/develop/development/collaboration/code_of_conduct/index.html +++ b/develop/development/collaboration/code_of_conduct/index.html @@ -20,7 +20,7 @@ - + @@ -1128,7 +1128,11 @@

    Code of ConductContributor Covenant Code of Conduct.

    Everyone is asked to be self-reflective and always maintain a good culture of discussion and active participation. -This includes written communication in this repo and direct encounters in meetings and events.

    +This includes written communication in this repository and direct encounters in meetings and events.

    +
    +

    Used Icons

    +

    🐙 GitHub | 💠 git | 📝 File | 💻 Command Line

    +
    diff --git a/develop/development/collaboration/git/index.html b/develop/development/collaboration/git/index.html index 6ac93ea..3bcb93b 100644 --- a/develop/development/collaboration/git/index.html +++ b/develop/development/collaboration/git/index.html @@ -20,7 +20,7 @@ - + @@ -1426,10 +1426,10 @@

    Issue TemplatesIssue Templates offer specific functions and default configurations for new issues.

    Pull Request (PR) Template#

    The Pull Request Template @@ -1438,9 +1438,9 @@

    Pull Request (PR) TemplateGitHub Labels#

    GitHub Labels are used to organize Issues and PR.
    Colours and emoticons improve presentation, see:
    -📝 github-labels.json

    + 📝 github-labels.json

    GitHub Workflows (Actions)#

    -

    GitHub Actions +

    GitHub Actions are used to automate processes of the repository.
    Main use-cases are building and publishing the documentation and run automated tests.

    Pre-commit#

    @@ -1450,8 +1450,8 @@

    Pre-commitInstall#

    Install the required package in a python environment.
    -💻 pip install pre-commit install pre-commit
    -💻 pre-commit install install pre-commit

    + 💻 pip install pre-commit Install pre-commit
    + 💻 pre-commit install Install pre-commit

    Setup#

    The hooks are configured in the file 📝 .pre-commit-config.yaml.
    List of implemented hooks:

    @@ -1466,16 +1466,16 @@

    Setup#
  • reuse - License and copyright information
  • Use#

    -

    All commits will trigger the hooks automatically.
    -💠 git commit file -m "Commit message #IssueNr" to commit

    -

    Commit without running the hooks.
    -💠 git commit --no-verify file to commit without hooks

    +

    All commits will trigger the hooks automatically.
    + 💠 git commit file -m "Commit message #IssueNr" Commit with message

    +

    Commit without running the hooks.
    + 💠 git commit --no-verify file Commit without hooks

    Line endings

    There can be problems with file line endings on Windows, CRLF is used on Windows and LF is used on Linux.

    -

    To run the hooks on all files in your repository use:
    -💻 pre-commit run --all-files

    +

    To run the hooks on all files in your repository use:
    + 💻 pre-commit run --all-files Run pre-commit hooks

    Markdown files / Admonitions

    If the hook is applied to markdown files that include special formatting, diff --git a/develop/development/collaboration/index.html b/develop/development/collaboration/index.html index f2d68b4..4b9d35b 100644 --- a/develop/development/collaboration/index.html +++ b/develop/development/collaboration/index.html @@ -20,7 +20,7 @@ - + @@ -1125,6 +1125,10 @@

    CollaborationGet in touch with the community on the Element Chat

  • Meet the developers in one of the regular meetings
  • +
    +

    Used Icons

    +

    🐙 GitHub | 💠 git | 📝 File | 💻 Command Line

    +
    diff --git a/develop/development/collaboration/license_and_citation/index.html b/develop/development/collaboration/license_and_citation/index.html index c52745f..8b2c89e 100644 --- a/develop/development/collaboration/license_and_citation/index.html +++ b/develop/development/collaboration/license_and_citation/index.html @@ -20,7 +20,7 @@ - + @@ -1257,7 +1257,7 @@

    Software License

    +

    "Super-Repository" © Reiner Lemoine Institut | MIT License

    REUSE#

    This repository follows the REUSE SOFTWARE specification. @@ -1282,6 +1282,10 @@

    Contributing To contribute to the collaborative development follow the workflow described in CONTRIBUTING.md.

    +
    +

    Used Icons

    +

    🐙 GitHub | 💠 git | 📝 File | 💻 Command Line

    +
    diff --git a/develop/development/collaboration/meeting/index.html b/develop/development/collaboration/meeting/index.html index d7c19ba..f027357 100644 --- a/develop/development/collaboration/meeting/index.html +++ b/develop/development/collaboration/meeting/index.html @@ -20,7 +20,7 @@ - + @@ -1218,6 +1218,10 @@

    User MeetingsThe regular user meeting takes place after the developer meeting in the same room on the
    first Wednesday of the month between 9:30 and 10 am.

    +
    +

    Used Icons

    +

    🐙 GitHub | 💠 git | 📝 File | 💻 Command Line

    +
    diff --git a/develop/development/collaboration/users/index.html b/develop/development/collaboration/users/index.html index 961a215..f23b028 100644 --- a/develop/development/collaboration/users/index.html +++ b/develop/development/collaboration/users/index.html @@ -20,7 +20,7 @@ - + @@ -1126,9 +1126,9 @@

    Users#

    Known user of this software can be added to -📝 USERS.cff +📝 USERS.cff for reference.
    -Please use the 📝 issue_template_user_kudos.md.

    +Please use the issue template: 📝 issue_template_user_kudos.md

    Used Icons

    🐙 GitHub | 💠 git | 📝 File | 💻 Command Line

    diff --git a/develop/development/documentation/index.html b/develop/development/documentation/index.html index 4a3b7a6..0382c88 100644 --- a/develop/development/documentation/index.html +++ b/develop/development/documentation/index.html @@ -20,7 +20,7 @@ - + @@ -1238,16 +1238,16 @@

    MkDocsInstall#

    Install the required packages in a python environment.
    -💻 pip install mkdocs install MkDocs
    -💻 pip install mkdocs-material install the material theme

    + 💻 pip install mkdocs Install MkDocs
    + 💻 pip install mkdocs-material Install the material theme

    Build#

    Generate the documentation locally.
    -💻 mkdocs serve start the local live version of the documentation
    -💻 mkdocs build create a folder site with the documentation

    + 💻 mkdocs serve Start the local live version of the documentation
    + 💻 mkdocs build Create a folder site with the documentation

    Publish#

    Manually#

    Publish documentation on GitHub Pages.
    -💻 mkdocs gh-deploy manually deploys the documentation files

    + 💻 mkdocs gh-deploy Manually deploys the documentation files

    Manually deploy documentation

    This command overrides all manually deployed versions (mike).

    @@ -1259,30 +1259,30 @@

    GitHub Actiondevelop branch starts the workflow.

    Mike#

    The package mike is used to deploy multiple versions of the documentation.
    -💻 pip install mike install mike
    -💻 mike deploy --push --update-aliases 0.1 latest deploys the latest version
    -💻 mike set-default --push latest Set the default version to latest
    -💻 mike deploy develop --push deploys the develop branch

    + 💻 pip install mike Install mike
    + 💻 mike deploy --push --update-aliases 0.1 latest Deploys the latest version
    + 💻 mike set-default --push latest Set the default version to latest
    + 💻 mike deploy develop --push Deploys the develop branch

    Mike Versions

    It is recommended to use only the Minor Versions (for example 0.1) and exclude the Patch Version (for example 0.1.1)!

    Other useful commands are:
    -💻 mike serve test mike on http://localhost:8000
    -💻 mike list list all versions
    -💻 mike retitle 1.0.0 1.0.1 --push rename a version
    -💻 mike delete 0.1 --push deletes a specific versions
    -💻 mike delete --all --push deletes all versions

    + 💻 mike serve Test mike on http://localhost:8000
    + 💻 mike list List all versions
    + 💻 mike retitle 1.0.0 1.0.1 --push Rename a version
    + 💻 mike delete 0.1 --push Deletes a specific versions
    + 💻 mike delete --all --push Deletes all versions

    When adding older versions, load the Git Tags used for the releases:
    -💠 git checkout v0.1.1
    -💻 mike deploy 0.1 --push deploys the old version 0.1

    + 💠 git checkout v0.1.1
    + 💻 mike deploy 0.1 --push Deploys the old version 0.1

    When building mike locally, the branch gh-pages is modified locally.
    -💻 error: gh-pages is unrelated to origin/gh-pages
    -💠 git branch -D gh-pages delete the local documentation branch

    + 💻 error: gh-pages is unrelated to origin/gh-pages
    + 💠 git branch -D gh-pages Delete the local documentation branch

    mkdocstrings#

    mkdocstrings generates automatic documentation (autodocs) from Google style docstrings.
    -💻 pip install mkdocstrings install mkdocstrings

    + 💻 pip install mkdocstrings Install mkdocstrings

    Used Icons

    🐙 GitHub | 💠 git | 📝 File | 💻 Command Line

    diff --git a/develop/development/release/index.html b/develop/development/release/index.html index 79a03bb..cadc5e3 100644 --- a/develop/development/release/index.html +++ b/develop/development/release/index.html @@ -20,7 +20,7 @@ - + @@ -1098,6 +1098,23 @@ + + +
    @@ -1118,12 +1135,30 @@

    ReleaseGitHub Release +
  • Create a GitHub Release
  • Update the documentation
  • Publish a new version of the package at PyPI
  • -

    The RELEASE_PROCEDURE.md +

    The 📝 RELEASE_PROCEDURE.md contain detailed instructions to do a release.

    +

    Automated Versioning with Bumpversion#

    +

    Bumpversion is a tool for automated version management in software projects.
    +It ensures consistent version updates across files and documentation
    +by specifying a part to increment (major, minor, or patch).
    +This streamlines release workflows and keeps project versioning synchronized.

    +

    Install package:
    + 💻 pip install --upgrade bump-my-version
    + 📝 .bumpversion.toml Configuration file for versioning rules and affected files

    +

    Test bumpversion:
    + 💻 bump-my-version show-bump Preview next possible versions
    + 💻 bump-my-version bump minor --dry-run -vv Sandbox bump

    +

    Use bumpversion:
    + 💻 bump-my-version bump --current-version 0.2.0 minor
    Run bumpversion + 💠 git push Push bumpversion changes

    +
    +

    Used Icons

    +

    🐙 GitHub | 💠 git | 📝 File | 💻 Command Line

    +
    diff --git a/develop/index.html b/develop/index.html index 825311d..dee349f 100644 --- a/develop/index.html +++ b/develop/index.html @@ -18,7 +18,7 @@ - + @@ -78,7 +78,7 @@
    - + Skip to content @@ -1209,8 +1209,8 @@ -

    Welcome to the Super-Repo Documentation#

    -

    A template repo to test and document elements and features for research software.
    +

    Welcome to the Super-Repository Documentation#

    +

    A template repository to test and document elements and features for research software.
    It implements the collection of repository elements and files.
    The goal is to simplify and standardise the creation of software in GitHub repositories.

    Documentation Structure#

    @@ -1220,19 +1220,17 @@

    Fields for developmentFiles and structures related to collaborative development, community processes, and documentation.

    Fields for code documentation#

    Methods and functions of the module.

    diff --git a/develop/sitemap.xml b/develop/sitemap.xml index 4637a69..4e033b4 100644 --- a/develop/sitemap.xml +++ b/develop/sitemap.xml @@ -2,74 +2,74 @@ https://rl-institut.github.io/super-repo/develop/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/best-practice/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/best-practice/code_style/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/best-practice/continuous_integration/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/best-practice/pre_commit_hooks/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/best-practice/test_driven_development/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/collaboration/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/collaboration/chat/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/collaboration/code_of_conduct/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/collaboration/git/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/collaboration/license_and_citation/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/collaboration/meeting/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/collaboration/users/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/documentation/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/development/release/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/user_documentation/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/user_documentation/code_example/ - 2024-12-06 + 2024-12-09 https://rl-institut.github.io/super-repo/develop/user_documentation/install/ - 2024-12-06 + 2024-12-09 \ No newline at end of file diff --git a/develop/sitemap.xml.gz b/develop/sitemap.xml.gz index dccd901..fe4dbb5 100644 Binary files a/develop/sitemap.xml.gz and b/develop/sitemap.xml.gz differ diff --git a/develop/user_documentation/code_example/index.html b/develop/user_documentation/code_example/index.html index 2c2ea34..6350a65 100644 --- a/develop/user_documentation/code_example/index.html +++ b/develop/user_documentation/code_example/index.html @@ -18,7 +18,7 @@ - + diff --git a/develop/user_documentation/index.html b/develop/user_documentation/index.html index b0d0d62..dac359c 100644 --- a/develop/user_documentation/index.html +++ b/develop/user_documentation/index.html @@ -20,7 +20,7 @@ - + diff --git a/develop/user_documentation/install/index.html b/develop/user_documentation/install/index.html index 3dbc540..51baf66 100644 --- a/develop/user_documentation/install/index.html +++ b/develop/user_documentation/install/index.html @@ -20,7 +20,7 @@ - + @@ -1119,7 +1119,16 @@
  • - Pyproject + PyProject + + + +
  • + +
  • + + + astral-uv @@ -1148,20 +1157,50 @@

    Environment (Conda)
    💻 `conda env create -f environment.yaml` Create conda environment <br>
    +💻 `conda activate py310` Activate environment <br>
    +💻 `python --version` Check python version
    +

  • +

    Delete existing environment:
    + 💻 conda deactivate
    + 💻 conda remove --name py310 --all

    Requirements#

    -

    In Python the requirements.txt file helps manage dependencies. -It's a text file that lists the packages that the Python project depends on.

    +

    In Python the 📝 requirements.txt file helps manage dependencies.
    +It's a text file that lists the packages that the Python project depends on.
    +All listed packages will be installed in the conda environment.

    💻 pip install -r requirements.txt Install from file

    -

    Pyproject#

    +

    PyProject#

    This python package contains a pyproject.toml file that contains build system requirements and information, which are used by pip to build the package. It contains the metadata of the software project.

    +

    astral-uv#

    +

    Astral UV is a modern Python package manager designed for flexibility and speed. +Efficient package management is crucial for maintaining consistency and +compatibility in Python projects. +Tools like pip and virtual environments help manage dependencies, +while advanced tools like astral-uv streamline package management workflows further. +It focuses on optimizing dependency resolution, improving installation times, +and ensuring reproducible builds.

    +

    Its key features include:

    +
      +
    • Fast Dependency Resolution: Reduces conflicts and speeds up package resolution.
    • +
    • Reproducibility: Ensures consistent environments across different machines or deployments.
    • +
    • Integration with CI/CD Pipelines: Tailored for seamless integration into automated workflows.
    • +
    +

    Install:
    + 💻 pip install uv Install package + 💻 uv Check package

    +

    Use:
    + 💻 uv python list View available Python versions + 💻 uv run Run a command in the project environment

    +

    Build and publish:
    + 💻 uv build Build the project into distribution archives + 💻 ls dist/ View created distribution + 💻 uv publish Build the project into distribution archives

    +

    See the official documentation at astral.sh

    Used Icons

    🐙 GitHub | 💠 git | 📝 File | 💻 Command Line