Skip to content
This repository was archived by the owner on Jan 8, 2026. It is now read-only.

Commit 3408a3e

Browse files
committed
Update Maintainers' Guide
1 parent b8df1d1 commit 3408a3e

File tree

4 files changed

+83
-12
lines changed

4 files changed

+83
-12
lines changed

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ Support
8585
=======
8686

8787
Should you have any question, any remark, or if you find a bug, or if there is
88-
something you can't do with the Clusterium,
89-
`please open an issue <https://github.com/sergeyklay/clusterium>`_.
88+
something you can't do with the Clusterium, please
89+
`open an issue <https://github.com/sergeyklay/clusterium/issues>`_.
9090

9191
.. -support-end-
9292

docs/source/installation.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -306,8 +306,3 @@ If you encounter dependency conflicts:
306306
poetry self update
307307
poetry lock --no-update
308308
poetry install
309-
310-
Getting Help
311-
------------
312-
313-
For more detailed help, please open an issue on the `GitHub repository <https://github.com/sergeyklay/clusterium/issues>`_.

docs/source/maintainers.rst

Lines changed: 81 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,16 @@
22
Maintainers' Guide
33
==================
44

5-
This document outlines essential guidelines for maintaining the Clusterium project. It provides instructions for testing, building, and deploying the package, as well as managing CI workflows.
5+
This document outlines essential guidelines for maintaining the Clusterium project.
6+
It provides instructions for testing, building, and deploying the package, as well
7+
as managing CI workflows.
68

79
Overview
810
========
911

10-
The Clusterium project is managed via Poetry and adheres to modern Python packaging standards. This guide assumes familiarity with GitHub Actions, Poetry, and common Python development workflows.
12+
The Clusterium project is managed via Poetry and adheres to modern Python packaging
13+
standards. This guide assumes familiarity with GitHub Actions, Poetry, and common Python
14+
development workflows.
1115

1216
Key configurations:
1317

@@ -18,11 +22,28 @@ Key configurations:
1822
* **Testing Tools:** ``pytest``, ``coverage``
1923
* **Linting Tools:** ``black``, ``flake8``, ``isort``
2024

25+
.. note::
26+
27+
While the project provides a Makefile to simplify common development tasks,
28+
all operations can also be performed using direct commands without requiring
29+
the ``make`` program. This guide includes both Makefile commands and their
30+
direct command equivalents.
31+
2132
Development Environment
2233
=======================
2334

2435
The project provides a Makefile to simplify common development tasks.
2536

37+
Prerequisites
38+
-------------
39+
40+
To use the provided Makefile commands, you need to have the ``make`` program installed on your system:
41+
42+
* **Linux/macOS**: Usually pre-installed or available through package managers (``apt-get install make``, ``brew install make``)
43+
* **Windows**: Available through tools like MSYS2, MinGW, Cygwin, or Windows Subsystem for Linux (WSL)
44+
45+
If you don't have ``make`` installed or prefer not to use it, equivalent direct commands are provided throughout this guide.
46+
2647
Setting Up
2748
----------
2849

@@ -34,6 +55,14 @@ Clone the repository and install dependencies:
3455
cd clusterium
3556
make install
3657
58+
If you don't have ``make`` installed, you can use the equivalent Poetry command:
59+
60+
.. code-block:: bash
61+
62+
git clone https://github.com/sergeyklay/clusterium.git
63+
cd clusterium
64+
poetry install
65+
3766
This will install the package and all its dependencies using Poetry.
3867

3968
Available Make Commands
@@ -53,6 +82,8 @@ The project includes several make commands to streamline development:
5382
make docs # Test and build documentation
5483
make clean # Remove build artifacts and directories
5584
85+
For each make command, equivalent direct commands are provided in the relevant sections below.
86+
5687
Testing the Project
5788
===================
5889

@@ -87,6 +118,16 @@ Generate HTML, XML, and LCOV coverage reports:
87118
88119
This will create reports in the ``coverage/`` directory with subdirectories for each format.
89120

121+
Without ``make``, use these Poetry commands:
122+
123+
.. code-block:: bash
124+
125+
mkdir -p coverage/html coverage/xml coverage/lcov
126+
poetry run coverage combine || true
127+
poetry run coverage report
128+
poetry run coverage html -d coverage/html
129+
poetry run coverage xml -o coverage/xml/coverage.xml
130+
90131
CI Workflow
91132
-----------
92133

@@ -155,6 +196,10 @@ Or build directly with sphinx:
155196

156197
.. code-block:: bash
157198
199+
# Test documentation files
200+
python -m doctest CONTRIBUTING.rst README.rst
201+
202+
# Build HTML documentation
158203
python -m sphinx \
159204
--jobs auto \
160205
--builder html \
@@ -186,6 +231,21 @@ The docs ``Makefile`` supports various output formats:
186231
make man # Build man pages
187232
make clean # Clean build directory
188233
234+
Without ``make``, use these sphinx-build commands:
235+
236+
.. code-block:: bash
237+
238+
cd docs
239+
240+
# Build EPUB documentation
241+
sphinx-build -b epub source build/epub
242+
243+
# Build man pages
244+
sphinx-build -b man source build/man
245+
246+
# Clean build directory
247+
rm -rf build/
248+
189249
CI Workflow
190250
-----------
191251

@@ -211,8 +271,15 @@ Or manually with Poetry:
211271

212272
.. code-block:: bash
213273
274+
# Format code (equivalent to make format)
214275
poetry run isort --profile black --python-version auto ./
215276
poetry run black . ./clusx ./tests
277+
278+
# Check formatting without changes (equivalent to make format-check)
279+
poetry run isort --check-only --profile black --python-version auto --diff ./
280+
poetry run black --check . ./clusx ./tests
281+
282+
# Run linters (equivalent to make lint)
216283
poetry run flake8 ./
217284
218285
Pre-commit Hooks
@@ -389,4 +456,15 @@ Common Development Issues
389456
# Run a specific test
390457
poetry run pytest -v ./tests/test_specific_file.py::test_specific_function
391458
392-
For more detailed help, please open an issue on the `GitHub repository <https://github.com/sergeyklay/clusterium/issues>`_.
459+
5. **Cleaning build artifacts without make:**
460+
461+
.. code-block:: bash
462+
463+
# Remove Python cache files
464+
find ./ -name '__pycache__' -delete -o -name '*.pyc' -delete
465+
466+
# Remove pytest cache
467+
rm -rf ./.pytest_cache
468+
469+
# Remove coverage reports
470+
rm -rf ./coverage

docs/source/usage.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -520,5 +520,3 @@ If you encounter issues:
520520
2. Ensure you have sufficient memory for large datasets
521521
3. Try adjusting the alpha and sigma parameters for better clustering results
522522
4. Remember to use the correct command structure: ``clusx cluster [options]`` instead of just ``clusx [options]``
523-
524-
For more detailed help, please open an issue on the `GitHub repository <https://github.com/sergeyklay/clusterium/issues>`_.

0 commit comments

Comments
 (0)