.. vim: set fileencoding=utf-8: .. -*- coding: utf-8 -*- .. +--------------------------------------------------------------------------+ | | | Licensed under the Apache License, Version 2.0 (the "License"); | | you may not use this file except in compliance with the License. | | You may obtain a copy of the License at | | | | http://www.apache.org/licenses/LICENSE-2.0 | | | | Unless required by applicable law or agreed to in writing, software | | distributed under the License is distributed on an "AS IS" BASIS, | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | | See the License for the specific language governing permissions and | | limitations under the License. | | | +--------------------------------------------------------------------------+ ******************************************************************************* Environment ******************************************************************************* Initial Installation =============================================================================== Commands ------------------------------------------------------------------------------- 1. Ensure that you have installed `Git LFS `_. 2. Clone your fork of the repository. 3. Install Git LFS Git hooks in this repository: :: git lfs install 4. Ensure that you have installed either `pipx `_ or `uv `_ for managing Python tools. .. note:: If installing Pipx via ``pip``, you will want to use your system Python rather than the current global Python provided by Asdf, Mise, Pyenv, etc.... This is to ensure that a change of global version does not break ``pipx`` later. 5. Ensure that you have installed `Copier `_ and `Hatch `_. If using Pipx: :: pipx install copier hatch If using uv: :: uv tool install copier uv tool install hatch 6. Install Git pre-commit and pre-push hooks: :: hatch --env develop run pre-commit install --config .auxiliary/configuration/pre-commit.yaml Git Commit Signatures ------------------------------------------------------------------------------- Git commit signatures are required for all contributions to maintain code integrity and authenticity. 1. Configure Git commit signing by following the `GitHub commit signing guide `_. 2. If you choose to use SSH keys for Git commit signing, you may want to set up local verification of SSH signatures. See the `GitLab documentation on local verification `_ for configuration details (this applies to GitHub repositories as well). Installation Updates =============================================================================== 1. Run: :: git pull 2. Remove the Hatch virtual environments: :: hatch env prune Python Interpreter =============================================================================== 1. Run: :: hatch --env develop run python Shell =============================================================================== 1. Run: :: hatch --env develop shell