Skip to content

Commit

Permalink
More setting up to run mypy as per #496.
Browse files Browse the repository at this point in the history
We need `re2` to be a package, not a module, because it appears that
modules can't have `.pyi` files, so munge the module into a package.

Change-Id: I1a268875743390c32c0fb9cd58f6d83a670ce928
  • Loading branch information
junyer committed Jun 9, 2024
1 parent e29afa1 commit aadebe5
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# license that can be found in the LICENSE file.

import os
import re
import setuptools
import setuptools.command.build_ext
import shutil
Expand Down Expand Up @@ -103,6 +104,16 @@ def include_dirs():
extra_compile_args=['-fvisibility=hidden'],
)

# We need `re2` to be a package, not a module, because it appears that
# modules can't have `.pyi` files, so munge the module into a package.
os.makedirs('re2')
with open('re2.py', 'r') as file:
contents = file.read()
contents = re.sub(r'^(?=import _)', 'from . ', contents, flags=re.MULTILINE)
with open(f're2/__init__.py', 'x') as file:
file.write(contents)
# TODO(junyer): `.pyi` files as per https://github.com/google/re2/issues/496.

setuptools.setup(
name='google-re2',
version='1.1.20240601',
Expand All @@ -112,7 +123,8 @@ def include_dirs():
author='The RE2 Authors',
author_email='[email protected]',
url='https://github.com/google/re2',
py_modules=['re2'],
packages=['re2'],
ext_package='re2',
ext_modules=[ext_module],
classifiers=[
'Development Status :: 5 - Production/Stable',
Expand All @@ -125,3 +137,5 @@ def include_dirs():
cmdclass={'build_ext': BuildExt},
python_requires='~=3.8',
)

shutil.rmtree('re2')

0 comments on commit aadebe5

Please sign in to comment.