Initial import.

This commit is contained in:
Jerry James 2022-07-29 13:55:41 -06:00
parent a8d91de6a8
commit 917715cb00
4 changed files with 103 additions and 3 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/python-pyproject-metadata-*.tar.gz

View File

@ -1,8 +1,10 @@
# python-pyproject-metadata
Dataclass for PEP 621 metadata with support for core metadata generation.
[This package](https://github.com/FFY00/python-pyproject-metadata) contains a
dataclass for [PEP 621](https://peps.python.org/pep-0621/) metadata with
support for core metadata generation.
This project does not implement the parsing of pyproject.toml containing
This project does not implement the parsing of `pyproject.toml` containing
PEP 621 metadata. Instead, given a Python data structure representing
PEP 621 metadata (already parsed), it will validate this input and
generate a PEP 643-compliant metadata file (e.g. PKG-INFO).
generate a PEP 643-compliant metadata file (e.g. PKG-INFO).

View File

@ -0,0 +1,96 @@
# Building the documentation requires the furo Sphinx theme. But building furo
# requires sphinx_theme_builder, which requires this package. Avoid a
# dependency loop with this conditional.
%bcond_with doc
Name: python-pyproject-metadata
Version: 0.6.1
Release: 1%{?dist}
Summary: PEP 621 metadata parsing
License: MIT
URL: https://github.com/FFY00/python-pyproject-metadata
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: %{py3_dist docutils}
BuildRequires: %{py3_dist packaging}
BuildRequires: %{py3_dist pip}
BuildRequires: %{py3_dist pytest}
BuildRequires: %{py3_dist setuptools}
BuildRequires: %{py3_dist tomli}
BuildRequires: %{py3_dist wheel}
%if %{with doc}
BuildRequires: %{py3_dist furo}
BuildRequires: %{py3_dist sphinx}
BuildRequires: %{py3_dist sphinx-autodoc-typehints}
%endif
%global _desc %{expand:
Dataclass for PEP 621 metadata with support for core metadata generation.
This project does not implement the parsing of pyproject.toml containing
PEP 621 metadata. Instead, given a Python data structure representing
PEP 621 metadata (already parsed), it will validate this input and
generate a PEP 643-compliant metadata file (e.g. PKG-INFO).}
%description %_desc
%package -n python3-pyproject-metadata
Summary: PEP 621 metadata parsing
# This can be removed when F40 reaches EOL
Obsoletes: python3-pep621 < 0.5
Provides: python3-pep621 = %{version}-%{release}
%description -n python3-pyproject-metadata %_desc
%if %{with doc}
%package doc
Summary: Documentation for python3-pyproject-metadata
# This can be removed when F40 reaches EOL
Obsoletes: python3-pep621-doc < 0.5
Provides: python3-pep621-doc = %{version}-%{release}
%description doc
Documentation for python3-pyproject-metadata.
%endif
%prep
%autosetup
%build
%pyproject_wheel
rst2html --no-datestamp CHANGELOG.rst CHANGELOG.html
%if %{with doc}
# Build the documentation
PYTHONPATH=$PWD/build/lib
mkdir html
sphinx-build -b html docs html
rm -rf html/{.buildinfo,.doctrees}
%endif
%install
%pyproject_install
%pyproject_save_files pyproject_metadata
%check
%pytest
%files -n python3-pyproject-metadata -f %{pyproject_files}
%doc CHANGELOG.html README.md
%license LICENSE
%if %{with doc}
%files doc
%doc html
%endif
%changelog
* Tue Jul 26 2022 Jerry James <loganjerry@gmail.com> - 0.6.1-1
- Initial RPM, obsoleting python-pep621

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (python-pyproject-metadata-0.6.1.tar.gz) = 4af84f9534a5c71e192e1355e1e99f99e82b97d01411c011ed2f1dff579a7420a0f5d982eea5a032de8549c14191b64334c8e2aeea22fe767837e662e8d8b588