You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-44Lines changed: 27 additions & 44 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,58 +8,49 @@
8
8
9
9
10
10
# python-project-template — showcasing good software practices
11
-
The library provides a small dependence-free Calculator API (Operation, OperationRegistry, Calculator) that can register and compose simple mathematical operations.
12
-
This simple code is used to showcase some good coding practices.
11
+
12
+
`python-project-template` is a small python project to showcase good programming and software practices such as testing, documentation, CI/CD.
13
+
14
+
This project implements a small dependence-free Calculator API (Operation, OperationRegistry, Calculator) that can register and compose simple mathematical operations.
13
15
14
16
## Table of contents
15
17
-[Features](#features)
16
18
-[Installation](#installation)
17
-
-[Quick usage](#quick-usage)
19
+
-[Usage and Testing](#Usage-and-Testing)
18
20
-[Examples & experiments](#examples--experiments)
19
21
-[Documentation](#documentation)
20
-
-[Running tests](#running-tests)
21
22
-[Contributing](#contributing)
22
23
-[License](#license)
23
24
24
-
## Features
25
+
## Features Highlights
25
26
26
-
-**Argument validation** with type annotations and runtime checking using the ``typing`` module.
27
-
-**Consistent error messages** for invalid operations and inputs via custom ``Exceptions``.
28
-
-**Unit tests**with ``pytest``. Global testing variables set in `tests/convtest.py`.
29
-
-**Example notebooks and scripts**for demonstration and exploration.
30
-
-**Google-style documentation**generated with ``sphinx``.
31
-
-**Pre-commit routine**configured in `.pre-commit-config.yaml`:
27
+
-**Type-annotated API** with runtime argument validation.
28
+
-**Custom exceptions** for clear error reporting.
29
+
-**Comprehensive unit tests**using `pytest`.
30
+
-**Google-style documentation**auto-generated with Sphinx.
31
+
-**Pre-commit checks**and code formatting tools.
32
+
-**CI/CD pipelines**for testing and docs via GitHub Actions.
32
33
33
-
- Code formatting with ``black``
34
-
- Linting with ``ruff-pre-commit``
35
-
- Type checking with ``mypy``
36
-
- Additional checks and fixes (trailing whitespace removal, enforcing empty line at EOF, YAML syntax checks, blocking large files) via ``pre-commit-hooks``
37
34
38
-
-**Modern packaging** and easy installation using `pyproject.toml`.
39
-
-**Automated test suite and coverage reporting** integrated with GitHub Actions; coverage reports can be published to GitHub Pages. Setup in `.github/workflows/tests.yml`.
40
-
-**Automatic documentation build and deployment** to GitHub Pages with GitHub Actions. Setup in `.github/workflows/docs.yml`.
41
-
-**Easy contribution workflow** for new features and improvements.
35
+
See the [Documentation](#documentation) for a detailed list of features.
Alternatively, you can clone the repository, create a virtual environment (recommended), and install dependencies and an editable installation of `python-project-template`:
45
+
Alternatively, you can clone the repositoryand install dependencies and an editable installation of `python-project-template-AS` with:
Copy file name to clipboardExpand all lines: docs/docs_github.rst
+2-14Lines changed: 2 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,19 +18,7 @@ Repository setup (one-time)
18
18
19
19
Local testing
20
20
-------------
21
-
To build the docs locally (recommended before pushing):
22
-
23
-
.. code-block:: bash
24
-
25
-
# create and activate a venv
26
-
python -m venv .venv
27
-
source .venv/bin/activate
28
-
python -m pip install --upgrade pip
29
-
# install docs dependencies
30
-
pip install -e ".[docs]"
31
-
# build
32
-
cd docs
33
-
sphinx-build -b html -a -E -W -T . _build/html
21
+
See the previous page :doc:`Local documentation <docs_local>` for additional local setup and testing instructions.
34
22
35
23
Autosummary and generated files
36
24
-------------------------------
@@ -42,4 +30,4 @@ Troubleshooting
42
30
- If builds fail due to missing packages, ensure :file:`pyproject.toml` contains the correct ``docs`` extras and that ``pip install -e ".[docs]"`` succeeds.
43
31
- If the site does not appear after the workflow succeeds, check Settings → Pages to ensure the site is not blocked by organization policy.
44
32
45
-
That's it — the workflow will publish your Sphinx docs automatically when you push to ``main``.
33
+
The workflow will attempt to publish your Sphinx docs automatically when you push to ``main``.
0 commit comments