File: build-semver.rst

package info (click to toggle)
python-semver 3.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 700 kB
  • sloc: python: 1,972; makefile: 28
file content (61 lines) | stat: -rw-r--r-- 2,117 bytes parent folder | download
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
.. _build-semver:

Building semver
===============


.. _PEP 517: https://www.python.org/dev/peps/pep-0517/
.. _PEP 621: https://www.python.org/dev/peps/pep-0621/
.. _A Practical Guide to Setuptools and Pyproject.toml: https://godatadriven.com/blog/a-practical-guide-to-setuptools-and-pyproject-toml/
.. _Declarative config: https://setuptools.rtfd.io/en/latest/userguide/declarative_config.html


This project changed slightly its way how it is built. The reason for this
was to still support the "traditional" way with :command:`setup.py`,
but at the same time try out the newer way with :file:`pyproject.toml`.
As Python 3.6 got deprecated, this project does support from now on only
:file:`pyproject.toml`.


Background information
----------------------

Skip this section and head over to :ref:`build-pyproject-build` if you just
want to know how to build semver.
This section gives some background information how this project is set up.

The traditional way with :command:`setup.py` in this project uses a
`Declarative config`_. With this approach, the :command:`setup.py` is
stripped down to its bare minimum and all the metadata is stored in
:file:`setup.cfg`.

The new :file:`pyproject.toml` contains only information about the build backend, currently setuptools.build_meta. The idea is taken from
`A Practical Guide to Setuptools and Pyproject.toml`_.
Setuptools-specific configuration keys as defined in `PEP 621`_ are currently
not used.


.. _build-pyproject-build:

Building with pyproject-build
-----------------------------

To build semver you need:

* The :mod:`build` module which implements the `PEP 517`_ build
  frontend.
  Install it with::

        pip install build

  Some Linux distributions has already packaged it. If you prefer
  to use the module with your package manager, search for
  :file:`python-build` or :file:`python3-build` and install it.

* The command :command:`pyproject-build` from the :mod:`build` module.

To build semver, run::

    pyproject-build

After the command is finished, you can find two files in the :file:`dist` folder: a ``.tar.gz`` and a ``.whl`` file.