Skip to content

Commit

Permalink
Even more setting up to run mypy as per #496.
Browse files Browse the repository at this point in the history
Change-Id: Ib1250ec954c0fecdaed606c41bbbbe00ff7bc1de
Reviewed-on: https://code-review.googlesource.com/c/re2/+/63371
Reviewed-by: Paul Wankadia <[email protected]>
Reviewed-by: Alex Chernyakhovsky <[email protected]>
  • Loading branch information
junyer committed Jun 21, 2024
1 parent f3c0709 commit 0d992b4
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 36 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
run: |
"${PYTHON}" -m pip install --upgrade pip
"${PYTHON}" -m pip install --upgrade setuptools build wheel auditwheel
"${PYTHON}" -m pip install --upgrade absl-py
"${PYTHON}" -m pip install --upgrade absl-py mypy
"${PYTHON}" python/toolchains/generate.py
shell: bash
- name: Build wheel
Expand Down Expand Up @@ -111,7 +111,7 @@ jobs:
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade setuptools build wheel delocate
python -m pip install --upgrade absl-py
python -m pip install --upgrade absl-py mypy
python python/toolchains/generate.py
shell: bash
- name: Build wheel
Expand Down Expand Up @@ -173,7 +173,7 @@ jobs:
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade setuptools build wheel delvewheel
python -m pip install --upgrade absl-py
python -m pip install --upgrade absl-py mypy
python python/toolchains/generate.py
shell: bash
- name: Build wheel
Expand Down
79 changes: 46 additions & 33 deletions python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,36 +106,49 @@ def include_dirs():

# 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',
description='RE2 Python bindings',
long_description=long_description,
long_description_content_type='text/plain',
author='The RE2 Authors',
author_email='[email protected]',
url='https://github.com/google/re2',
packages=['re2'],
ext_package='re2',
ext_modules=[ext_module],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Programming Language :: C++',
'Programming Language :: Python :: 3.8',
],
options=options(),
cmdclass={'build_ext': BuildExt},
python_requires='~=3.8',
)

shutil.rmtree('re2')
PACKAGE = 're2'
try:
os.makedirs(PACKAGE)
for filename in (
're2.py',
# TODO(junyer): Populate as per https://github.com/google/re2/issues/496.
# 're2.pyi',
# '_re2.pyi',
):
with open(filename, 'r') as file:
contents = file.read()
filename = re.sub(r'^re2(?=\.py)', '__init__', contents)
contents = re.sub(r'^(?=import _)', 'from . ', contents, flags=re.MULTILINE)
with open(f'{PACKAGE}/{filename}', 'x') as file:
file.write(contents)
# TODO(junyer): Populate as per https://github.com/google/re2/issues/496.
# with open(f'{PACKAGE}/py.typed', 'x') as file:
# pass

setuptools.setup(
name='google-re2',
version='1.1.20240601',
description='RE2 Python bindings',
long_description=long_description,
long_description_content_type='text/plain',
author='The RE2 Authors',
author_email='[email protected]',
url='https://github.com/google/re2',
packages=[PACKAGE],
ext_package=PACKAGE,
ext_modules=[ext_module],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Programming Language :: C++',
'Programming Language :: Python :: 3.8',
],
options=options(),
cmdclass={'build_ext': BuildExt},
python_requires='~=3.8',
)
except:
raise
else:
shutil.rmtree(PACKAGE)

0 comments on commit 0d992b4

Please sign in to comment.