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 @@
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.
Consistent code formatting enhances readability and reduces unnecessary @@ -1307,6 +1307,10 @@
Used Icons
+🐙 GitHub | 💠 git | 📝 File | 💻 Command Line
+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
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 @@
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.
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):
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.
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 @@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:
Ensure that you have a Django app in place that you wish to test.
@@ -1423,7 +1425,7 @@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.
-- Feature Issue
-- Bug Issue
-- Release Issue
-- User Kudos Issue
+- Feature Issue
+- Bug Issue
+- Release Issue
+- User Kudos Issue
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
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 @@
+
+
+
+ -
+
+
+ Automated Versioning with Bumpversion
+
+
+
+
+
+
+
@@ -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.
-- COLLABORATION
-- GIT
-- CODE-STYLE
-- DOCUMENTATION
-- RELEASE
+- Collaboration
+- Best-Practices
+- Documentation
+- Release
Fields for code documentation#
Methods and functions of the module.
-- INSTALL
-- FUNCTIONS
-- TESTS
-- LOGGING
+- Install
+- Functions
+- Code Example
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