diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml new file mode 100644 index 0000000..797fa9c --- /dev/null +++ b/.github/workflows/publish-to-pypi.yml @@ -0,0 +1,23 @@ +name: publish-to-pypi + +on: + release: + types: [published] + +jobs: + build-and-publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.x + uses: actions/setup-python@v2 + with: + python-version: "3.x" + - uses: snok/install-poetry@v1.1.2 + with: + virtualenvs-create: true + - name: Build the package + run: poetry build -vvv + - name: Publish to PyPI + run: poetry publish --username __token__ --password ${{ secrets.pypi_token }} + working-directory: ${{ github.workspace }} diff --git a/.github/workflows/quality-check.yml b/.github/workflows/quality-check.yml index b22937c..85a03ff 100644 --- a/.github/workflows/quality-check.yml +++ b/.github/workflows/quality-check.yml @@ -43,7 +43,7 @@ jobs: - name: Install package run: poetry install --no-interaction - name: Make sure we can build the package - run: poetry build + run: poetry build -vvv - name: Run tests run: poetry run pytest --cov --cov-report=xml - name: Upload coverage diff --git a/README.md b/README.md index 0117fb8..b02adf3 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,19 @@ -# spiel +# Spiel + +![PyPI](https://img.shields.io/pypi/v/spiel) +[![Documentation Status](https://readthedocs.org/projects/spiel/badge/?version=latest)](https://spiel.readthedocs.io/en/latest/?badge=latest) +![PyPI - License](https://img.shields.io/pypi/l/spiel) [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/JoshKarpel/spiel/main.svg)](https://results.pre-commit.ci/latest/github/JoshKarpel/spiel/main) +[![codecov](https://codecov.io/gh/JoshKarpel/spiel/branch/main/graph/badge.svg?token=2sjP4V0AfY)](https://codecov.io/gh/JoshKarpel/spiel) +[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) + +![GitHub issues](https://img.shields.io/github/issues/JoshKarpel/spiel) +![GitHub pull requests](https://img.shields.io/github/issues-pr/JoshKarpel/spiel) + +Spiel is a framework for building and presenting richly-styled presentations in your terminal using Python. + +To see what Spiel can do, install it (`pip install spiel`), then run this command to view the demonstration deck: +```bash +$ spiel demo present +``` diff --git a/poetry.lock b/poetry.lock index b365d1f..0cae491 100644 --- a/poetry.lock +++ b/poetry.lock @@ -98,7 +98,7 @@ python-versions = "*" [[package]] name = "hypothesis" -version = "6.8.3" +version = "6.8.5" description = "A library for property-based testing" category = "dev" optional = false @@ -224,7 +224,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] name = "pytest" -version = "6.2.2" +version = "6.2.3" description = "pytest: simple powerful testing with Python" category = "dev" optional = false @@ -350,7 +350,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "rich" -version = "10.0.1" +version = "10.1.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" category = "main" optional = false @@ -529,8 +529,8 @@ filelock = [ {file = "filelock-3.0.12.tar.gz", hash = "sha256:18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59"}, ] hypothesis = [ - {file = "hypothesis-6.8.3-py3-none-any.whl", hash = "sha256:b7abb537a211a8ec8a3f9416ea645fc7c47f606f08678d4755086933755852d7"}, - {file = "hypothesis-6.8.3.tar.gz", hash = "sha256:c6dfff27150552a9156b0afaca4b96ad7ee4b669d947bab8185612e228eb0139"}, + {file = "hypothesis-6.8.5-py3-none-any.whl", hash = "sha256:618787066d1267f421d1dea1ebaedb1648a91f5dcbe3a7755be395f229558c9f"}, + {file = "hypothesis-6.8.5.tar.gz", hash = "sha256:fcf6763a6d92f4fe2c83a70666f1af89fc299a876c5f11bb3da96e0ba666aa2f"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -643,8 +643,8 @@ pyparsing = [ {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, ] pytest = [ - {file = "pytest-6.2.2-py3-none-any.whl", hash = "sha256:b574b57423e818210672e07ca1fa90aaf194a4f63f3ab909a2c67ebb22913839"}, - {file = "pytest-6.2.2.tar.gz", hash = "sha256:9d1edf9e7d0b84d72ea3dbcdfd22b35fb543a5e8f2a60092dd578936bf63d7f9"}, + {file = "pytest-6.2.3-py3-none-any.whl", hash = "sha256:6ad9c7bdf517a808242b998ac20063c41532a570d088d77eec1ee12b0b5574bc"}, + {file = "pytest-6.2.3.tar.gz", hash = "sha256:671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634"}, ] pytest-cov = [ {file = "pytest-cov-2.11.1.tar.gz", hash = "sha256:359952d9d39b9f822d9d29324483e7ba04a3a17dd7d05aa6beb7ea01e359e5f7"}, @@ -678,8 +678,8 @@ pytzdata = [ {file = "pytzdata-2020.1.tar.gz", hash = "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540"}, ] rich = [ - {file = "rich-10.0.1-py3-none-any.whl", hash = "sha256:bd13f71c32692d08489f1dd90993308f6ab10d24b1cd28a71db8af771d8ee9f9"}, - {file = "rich-10.0.1.tar.gz", hash = "sha256:d5f620a067e5d5f9c6e8039d9b09d8bb7b730bca5c696ca7e32788b37c0b9fa5"}, + {file = "rich-10.1.0-py3-none-any.whl", hash = "sha256:60cd6d6ea697a1704f2057e791e3062b506b5c74a6e2ad2ced71eccb37557259"}, + {file = "rich-10.1.0.tar.gz", hash = "sha256:8f05431091601888c50341697cfc421dc398ce37b12bca0237388ef9c7e2c9e9"}, ] six = [ {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, diff --git a/pyproject.toml b/pyproject.toml index db491e1..22a3410 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,11 +13,25 @@ line_length = 100 [tool.poetry] name = "spiel" -version = "0.1.0" -description = "Present slides in your terminal." +version = "0.1.1" +description = "A framework for building and presenting richly-styled presentations in your terminal using Python." +readme="README.md" +homepage="https://github.com/JoshKarpel/spiel" +documentation="https://spiel.readthedocs.io/en/latest/" +classifiers = [ + "Development Status :: 3 - Alpha", + "Environment :: Console", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS", + "Operating System :: Unix", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Topic :: Multimedia :: Graphics :: Presentation", + "Typing :: Typed", +] authors = ["JoshKarpel "] license = "MIT" -include = ["demo/*"] +include = ["py.typed", "demo/*"] [tool.poetry.dependencies] python = "^3.9" diff --git a/spiel/py.typed b/spiel/py.typed new file mode 100644 index 0000000..e69de29