aboutsummaryrefslogtreecommitdiff
path: root/docs/contributor_guide/build_package.md
blob: fae1730508474a87c2d32b2ec4d07937614a226d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Build package
=============

ArGaze build system is based on [setuptools](https://setuptools.pypa.io/en/latest/userguide/index.html) and [setuptools-scm](https://setuptools-scm.readthedocs.io/en/latest/) to use Git tag as package version number.

!!! note

    *Consider that all inline commands below have to be executed at the root of ArGaze Git repository.*

Install or upgrade the required packages:

```console
pip install build setuptools setuptools-scm
```

Commit last changes then, tag the Git repository with a VERSION that follows the [setuptools versionning schemes](https://setuptools.pypa.io/en/latest/userguide/distribution.html):

```console
git tag -a VERSION -m "Version message"
```

Push commits and tags:

```console
git push && git push --tags
```

Then, build package:
```console
python -m build
```

Once the build is done, two files are created in a *dist* folder:

* **argaze-VERSION-py3-none-any.whl**: the built package (*none* means for no specific OS, *any* means for any architecture).
* **argaze-VERSION.tar.gz**: the source package.