diff options
| author | Scott Shawcroft <scott@adafruit.com> | 2019-06-04 11:39:03 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-04 11:39:03 -0700 |
| commit | c5a4e19d6f76a09cba73149d5e3d4548da320899 (patch) | |
| tree | 42d4d2d202fb156b7f6f59b9489464cc28800e0f | |
| parent | bcda5e133d0f4c13265cc927a4e9de9a77b187c6 (diff) | |
| parent | e8521c83797f0e54dca4ebc4750224c84a31457e (diff) | |
Merge pull request #1915 from jreese/rst2pyi
Use rst2pyi to generate type stubs and package
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | Makefile | 14 | ||||
| -rw-r--r-- | requirements-dev.txt | 1 | ||||
| -rw-r--r-- | setup.py | 22 |
4 files changed, 39 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore index 69f71847b..3e5bd2830 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,8 @@ # Packages ############ +dist/ +*.egg-info # Logs and Databases ###################### @@ -25,6 +27,7 @@ ###################### build/ bin/ +circuitpython-stubs/ # Test failure outputs ###################### @@ -17,6 +17,13 @@ CONFDIR = . FORCE = -E VERBOSE = -v +# path to generated type stubs +STUBDIR = circuitpython-stubs +# Run "make VALIDATE= stubs" to avoid validating generated stub files +VALIDATE = -v +# path to pypi source distributions +DISTDIR = dist + # Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the # full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the # executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) @@ -31,7 +38,7 @@ I18NSPHINXOPTS = $(BASEOPTS) TRANSLATE_SOURCES = extmod lib main.c ports/atmel-samd ports/nrf py shared-bindings shared-module supervisor -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext stubs help: @echo "Please use \`make <target>' where <target> is one of" @@ -60,6 +67,7 @@ help: clean: rm -rf $(BUILDDIR)/* + rm -rf $(STUBDIR) $(DISTDIR) *.egg-info html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @@ -203,3 +211,7 @@ translate: locale/circuitpython.pot check-translate: locale/circuitpython.pot $(wildcard locale/*.po) $(PYTHON) tools/check_translations.py $^ + +stubs: + rst2pyi $(VALIDATE) shared-bindings/ $(STUBDIR) + python setup.py sdist diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 000000000..7cd491ade --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1 @@ +rst2pyi>=0.3.0 diff --git a/setup.py b/setup.py new file mode 100644 index 000000000..1e0d81da3 --- /dev/null +++ b/setup.py @@ -0,0 +1,22 @@ +from datetime import datetime +from setuptools import setup +from pathlib import Path + +stub_root = Path("circuitpython-stubs") +stubs = [p.relative_to(stub_root).as_posix() for p in stub_root.glob("*.pyi")] + +now = datetime.utcnow() +version = now.strftime("%Y.%m.%d") + +setup( + name="circuitpython-stubs", + description="PEP 561 type stubs for CircuitPython", + url="https://github.com/adafruit/circuitpython", + maintainer="CircuitPythonistas", + author_email="circuitpython@adafruit.com", + version=version, + license="MIT", + package_data={"circuitpython-stubs": stubs}, + packages=["circuitpython-stubs"], + setup_requires=["setuptools>=38.6.0"], +) |
