Skip to content

Commit

Permalink
And thou shalt remove your setup.py files and cast them out
Browse files Browse the repository at this point in the history
  • Loading branch information
Cadair committed Nov 11, 2021
1 parent 46f6c46 commit c0e5c51
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
14 changes: 14 additions & 0 deletions extension_helpers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,17 @@
from ._setup_helpers import get_compiler, get_extensions, pkg_config
from ._utils import import_file, write_if_different
from .version import version as __version__

from configparser import ConfigParser


def _finalize_distribution_hook(distribution):
"""
Something something setuptools entrypoint
"""
config_files = distribution.find_config_files()
cfg = ConfigParser()
cfg.read(config_files[0])
if cfg.has_option("extension_helpers", "use_extension_helpers") and cfg.get("extension_helpers", "use_extension_helpers"):
extension_helpers_cfg = cfg["extension_helpers"]
distribution.ext_modules = get_extensions(distribution=distribution)
2 changes: 1 addition & 1 deletion extension_helpers/_setup_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def get_compiler():
return new_compiler().compiler_type


def get_extensions(srcdir='.'):
def get_extensions(srcdir='.', distribution=None):
"""
Collect all extensions from Cython files and ``setup_package.py`` files.
Expand Down
4 changes: 4 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ install_requires =
[options.package_data]
extension_helpers = src/compiler.c

[options.entry_points]
setuptools.finalize_distribution_options =
extension_helpers_get_extensions = extension_helpers:_finalize_distribution_hook

[options.extras_require]
test =
pytest
Expand Down

0 comments on commit c0e5c51

Please sign in to comment.