Skip to content

Commit

Permalink
Move project metadata to pyproject.toml, clean-up
Browse files Browse the repository at this point in the history
  • Loading branch information
mwtoews committed Jan 16, 2023
1 parent c4013f4 commit d4b7d05
Show file tree
Hide file tree
Showing 17 changed files with 88 additions and 137 deletions.
6 changes: 0 additions & 6 deletions setup.cfg → .flake8
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
[metadata]
license_file = LICENSE

[flake8]
max-line-length = 100
exclude = compoundsuper.py,indexsuper.py
extend-ignore = E203, E231
per-file-ignores =
breathe/parser/index.py:E305

[bdist_wheel]
universal = 0
4 changes: 2 additions & 2 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
- uses: actions/cache@v1
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/*.txt') }}
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-
Expand All @@ -19,9 +19,9 @@ jobs:

- name: install dependencies
run: |
pip install -r requirements/development.txt
sudo apt-get -y update
sudo apt-get -y install graphviz libclang1-11 libclang-cpp11
pip install -e .[dev]
- name: install doxygen from SF binary archives
env:
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ jobs:
- uses: actions/cache@v1
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/*.txt') }}
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-
- name: set up python
uses: actions/setup-python@v1

- name: install dependencies
run: |
pip install -r requirements/development.txt
pip install -e .[lint]
- name: lint the source code
run: make flake8
Expand All @@ -28,6 +28,3 @@ jobs:

- name: type check the source code
run: make type-check

- name: check version numbers are in sync
run: make version-check
4 changes: 2 additions & 2 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
- uses: actions/cache@v1
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/*.txt') }}
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-
- name: set up python ${{ matrix.python-version }}
Expand All @@ -54,7 +54,7 @@ jobs:
- name: install dependencies
run: |
pip install -r requirements/development.txt
pip install -e .[dev]
- name: run the unit tests
run: make dev-test
4 changes: 0 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,3 @@ black:
.PHONY: type-check
type-check:
mypy --warn-redundant-casts --warn-unused-ignores breathe tests

.PHONY: version-check
version-check:
PYTHONPATH=../:$(PYTHONPATH) python3 scripts/version-check.py
1 change: 0 additions & 1 deletion breathe-apidoc.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

Expand Down
2 changes: 1 addition & 1 deletion breathe/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

from sphinx.application import Sphinx

# Keep in sync with setup.py __version__
# Keep version here
__version__ = "4.34.0"


Expand Down
1 change: 0 additions & 1 deletion breathe/apidoc.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
"""
breathe.apidoc
~~~~~~~~~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion documentation/environment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ dependencies:
- doxygen
- pip
- pip:
- -r ../requirements/development.txt
- ..[dev]
8 changes: 3 additions & 5 deletions documentation/source/conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
#
# BreatheExample documentation build configuration file, created by
# sphinx-quickstart on Tue Feb 3 18:20:48 2009.
#
Expand Down Expand Up @@ -123,9 +121,9 @@
release = "compare"

# Only add spelling extension if it is available. We don't know if it is installed as we don't want
# to put it in the setup.py file as a dependency as we don't want Breathe to be dependent on it as
# people should be able to use Breathe without 'spelling'. There might be a better way to handle
# this.
# to put it in the pyproject.toml file as a dependency as we don't want Breathe to be dependent on
# it as people should be able to use Breathe without 'spelling'. There might be a better way to
# handle this.
try:
import sphinxcontrib.spelling

Expand Down
3 changes: 2 additions & 1 deletion mkrelease
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ pack()
tar -xf "breathe-$version.tar.gz"

cd -- "breathe-$version"
python3 setup.py sdist bdist_wheel
python3 -m build
mv -- dist ..

cd -- ..
Expand All @@ -66,6 +66,7 @@ upload()
(
cd -- mkrelease_tmp

twine check --strict dist/*
twine upload -- dist/*

{
Expand Down
73 changes: 73 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,76 @@
[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"

[project]
name = "breathe"
dynamic = ["version"]
authors = [
{name = "Michael Jones", email = "[email protected]"},
]
description = "Sphinx Doxygen renderer"
license = {text = "BSD-3-Clause"}
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Environment :: Web Environment",
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Topic :: Documentation",
"Topic :: Text Processing",
"Topic :: Utilities",
]
requires-python = ">=3.7"
dependencies = [
"docutils>=0.12",
"Jinja2>=2.7.3",
"MarkupSafe>=0.23",
"Pygments>=1.6",
"Sphinx>=4.0,<6,!=5.0.0",
]

[project.optional-dependencies]
lint = [
"black==22.3.0",
"flake8",
"mypy>=0.900",
]
test = [
"pytest",
]
dev = [
"breathe[lint,test]",
"furo",
"pip-tools>=0.3.5",
"types-docutils>=0.14,<0.18",
"types-Pygments",
"sphinx-copybutton",
]

[project.scripts]
breathe-apidoc = "breathe.apidoc:main"

[project.readme]
text = """\
Breathe is an extension to reStructuredText and Sphinx to be able to read and
render `Doxygen <https://www.doxygen.nl>`__ xml output.
"""
content-type = "text/x-rst"

[project.urls]
Home = "https://www.breathe-doc.org/"
Repository = "https://github.com/breathe-doc/breathe"

[tool.setuptools.dynamic]
version = {attr = "breathe.__init__.__version__"}

[tool.setuptools.packages.find]
include = ["breathe", "breathe.*"]

[tool.black]
line-length = 100
extend-exclude = '''
Expand Down
14 changes: 0 additions & 14 deletions requirements/development.txt

This file was deleted.

5 changes: 0 additions & 5 deletions requirements/production.txt

This file was deleted.

28 changes: 0 additions & 28 deletions scripts/version-check.py

This file was deleted.

61 changes: 2 additions & 59 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,61 +1,4 @@
# -*- coding: utf-8 -*-
try:
from setuptools import setup, find_packages
except ImportError:
import distribute_setup
from setuptools import setup

distribute_setup.use_setuptools()
from setuptools import setup, find_packages

import sys

# Keep in sync with breathe/__init__.py __version__
__version__ = "4.34.0"

long_desc = """
Breathe is an extension to reStructuredText and Sphinx to be able to read and
render `Doxygen <http://www.doxygen.org>`__ xml output.
"""

requires = ["Sphinx>=4.0,<6,!=5.0.0", "docutils>=0.12"]

if sys.version_info < (3, 7):
print("ERROR: Sphinx requires at least Python 3.7 to run.")
sys.exit(1)


setup(
name="breathe",
version=__version__,
url="https://github.com/michaeljones/breathe",
download_url="https://github.com/michaeljones/breathe",
license="BSD",
author="Michael Jones",
author_email="[email protected]",
description="Sphinx Doxygen renderer",
long_description=long_desc,
zip_safe=False,
classifiers=[
"Development Status :: 4 - Beta",
"Environment :: Console",
"Environment :: Web Environment",
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Topic :: Documentation",
"Topic :: Text Processing",
"Topic :: Utilities",
],
platforms="any",
packages=find_packages(),
include_package_data=True,
entry_points={
"console_scripts": [
"breathe-apidoc = breathe.apidoc:main",
],
},
install_requires=requires,
)
setup(name="breathe")
2 changes: 0 additions & 2 deletions tests/warnings/source/conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
#
# Test Breathe Warnings documentation build configuration file, created by
# sphinx-quickstart on Thu Jun 5 18:57:21 2014.
#
Expand Down

0 comments on commit d4b7d05

Please sign in to comment.