Skip to content

Commit

Permalink
Use rst2pyi to generate type stubs and package
Browse files Browse the repository at this point in the history
  • Loading branch information
amyreese committed May 26, 2019
1 parent 63b253c commit 7f7665c
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 1 deletion.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

# Packages
############
dist/
*.egg-info

# Logs and Databases
######################
Expand All @@ -25,6 +27,7 @@
######################
build/
bin/
circuitpython-stubs/

# Test failure outputs
######################
Expand Down
14 changes: 13 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Expand All @@ -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"
Expand Down Expand Up @@ -60,6 +67,7 @@ help:

clean:
rm -rf $(BUILDDIR)/*
rm -rf $(STUBDIR) $(DISTDIR)

html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
Expand Down Expand Up @@ -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
1 change: 1 addition & 0 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
rst2pyi=0.1.0
22 changes: 22 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -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",
author="John Reese",
author_email="[email protected]",
version=version,
license="MIT",
package_data={"circuitpython-stubs": stubs},
packages=["circuitpython-stubs"],
setup_requires=["setuptools>=38.6.0"],
)

0 comments on commit 7f7665c

Please sign in to comment.