=============================================== Set up development environment on Mac and Linux =============================================== ----------------------- Development environment ----------------------- Set up development environment on Mac and Linux This project uses `uv `_ for project development. This is not a runtime requirements but it is the primary development configuration so you will need to have `uv installed `_ to get the `dependency locks `_. .. code-block:: shell-session user@DEVMACHINE123 % uv sync --group dev user@DEVMACHINE123 % source .venv/bin/activate (venv) user@DEVMACHINE123 % pre-commit install ------------- Running tests ------------- To run test, you need to have pytest installed. If you are using the development environment, it should already be installed. Tests are run by executing the pytest command. .. code-block:: shell-session (venv) user@DEVMACHINE123 galatea % pytest ========================= test session starts ========================== platform darwin -- Python 3.11.10, pytest-8.4.1, pluggy-1.6.0 rootdir: /Users/user/PycharmProjects/UIUCLibrary/galatea configfile: pyproject.toml plugins: pyfakefs-5.9.2 collected 150 items tests/test_clean_tsv.py ............. [ 8%] tests/test_cli.py ........... [ 16%] tests/test_config.py ......... [ 22%] tests/test_merge_data.py ....................................... [ 48%] .......... [ 54%] tests/test_modifiers.py ........................ [ 70%] tests/test_resolve_authorized_terms.py ................. [ 82%] tests/test_tsv.py ............ [ 90%] tests/test_validate_authorized_terms.py ............... [100%] ========================= 150 passed in 0.32s ========================= ------------------- Build Documentation ------------------- The documentation for galatea contains both user and developer documentation. It is written in `restructuredText format `_ and built with the `Sphinx `_ tool. 1. Make sure that either the virtual environment is configure with the "dev" or "docs" dependency group Either run uv sync with the full development dependencies group: .. code-block:: shell-session user@DEVMACHINE123 % uv sync --group dev Using CPython 3.11.10 Creating virtual environment at: .venv Resolved 82 packages in 12ms Prepared 53 packages in 3.97s Installed 53 packages in 260ms + alabaster==1.0.0 + argcomplete==3.6.2 + babel==2.17.0 + cachetools==6.2.0 + certifi==2025.8.3 + cfgv==3.4.0 + chardet==5.2.0 + charset-normalizer==3.4.3 ... or run uv sync with only the dependencies needed to build the documentation: .. code-block:: shell-session user@DEVMACHINE123 % uv sync --no-dev --group docs Using CPython 3.11.10 Creating virtual environment at: .venv Resolved 82 packages in 13ms Prepared 27 packages in 4.35s Installed 27 packages in 348ms + alabaster==1.0.0 + argcomplete==3.6.2 + babel==2.17.0 + certifi==2025.8.3 + charset-normalizer==3.4.3 + docutils==0.21.2 + idna==3.10 + imagesize==1.4.1 + jinja2==3.1.6 ... 2. With your virtual environment active, run sphinx-build with the first argument being "docs" and the second argument being the location where to build to. .. code-block:: shell-session (.venv) user@DEVMACHINE123 % sphinx-build docs build/docs Running Sphinx v8.2.3 loading translations [en]... done loading pickled environment... done building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 3 source files that are out of date updating environment: [new config] 3 added, 0 changed, 0 removed reading sources... [100%] development looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... Writing evaluated template result to /Users/user/PythonProjects/UIUCLibrary/galatea/build/docs/_static/basic.css Writing evaluated template result to /Users/user/PythonProjects/UIUCLibrary/galatea/build/docs/_static/language_data.js Writing evaluated template result to /Users/user/PythonProjects/UIUCLibrary/galatea/build/docs/_static/documentation_options.js Writing evaluated template result to /Users/user/PythonProjects/UIUCLibrary/galatea/build/docs/_static/alabaster.css copying static files: done copying extra files... copying extra files: done copying assets: done writing output... [100%] index generating indices... genindex done writing additional pages... search done dumping search index in English (code: en)... done dumping object inventory... done build succeeded. The HTML pages are in build/docs.