Skip to content

Commit

Permalink
Automate release to PyPI, remove Python 3.8 testing
Browse files Browse the repository at this point in the history
  • Loading branch information
pjkundert committed Nov 20, 2024
1 parent cab3a79 commit bdc0c76
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 17 deletions.
29 changes: 29 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Release

on:
push:
tags:
- '*'

jobs:
pypi-publish:
if: startsWith(github.ref, 'refs/tags')
name: Upload release to PyPI
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/tabulate-slip39
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
- name: Build
run: |
python -m pip install --upgrade pip
python -m pip install setuptools build
python -m build -s
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
6 changes: 3 additions & 3 deletions HOWTOPUBLISH
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# update contributors and CHANGELOG in README
python -m pip install pre-commit
python -m pre_commit run -a # and then commit changes
tox -e py39-extra,py310-extra,py311-extra,py312-extra,py313-extra
# tag version release
python -m build -s # this will update tabulate/version.py
python -m pip install . # install tabulate in the current venv
python -m pip install -r benchmark/requirements.txt
python benchmark/benchmark.py # then update README
# move tag to the last commit
# move tag to the last commit: eg.
git tag v0.10.4
python -m build -s # update tabulate/version.py
python -m build -nswx .
git push # wait for all CI builds to succeed
git push --tags # if CI builds succeed
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
twine upload dist/*
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
python-tabulate
===============

> This is a temporary upgrade shim for https://github.com/astanin/python-tabulate
> Install `tabulate` via `python -m pip install tabulate-slip39`,
> until the upstream https://pypi.org/project/tabulate is upgraded

Pretty-print tabular data in Python, a library and a command-line
utility.

Expand Down Expand Up @@ -503,10 +509,10 @@ format:
>>> print(tabulate(table, headers, tablefmt="asciidoc"))
[cols="8<,7>",options="header"]
|====
| item | qty
| spam | 42
| eggs | 451
| bacon | 0
| item | qty
| spam | 42
| eggs | 451
| bacon | 0
|====

```
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ requires = ["setuptools>=61.2.0", "setuptools_scm[toml]>=3.4.3"]
build-backend = "setuptools.build_meta"

[project]
name = "tabulate"
name = "tabulate-slip39"
authors = [{name = "Sergey Astanin", email = "s.astanin@gmail.com"}]
license = {text = "MIT"}
description = "Pretty-print tabular data"
Expand Down
10 changes: 8 additions & 2 deletions tabulate/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1623,7 +1623,9 @@ def _normalize_tabular_data(tabular_data, headers, showindex="default"):
return rows, headers, headers_pad


def _wrap_text_to_colwidths(list_of_lists, colwidths, numparses=True, missingval=_DEFAULT_MISSINGVAL):
def _wrap_text_to_colwidths(
list_of_lists, colwidths, numparses=True, missingval=_DEFAULT_MISSINGVAL
):
if len(list_of_lists):
num_cols = len(list_of_lists[0])
else:
Expand All @@ -1646,7 +1648,11 @@ def _wrap_text_to_colwidths(list_of_lists, colwidths, numparses=True, missingval
# explicit than just `str` of the object. Also doesn't work for
# custom floatfmt/intfmt, nor with any missing/blank cells.
casted_cell = (
missingval if cell is None else str(cell) if _isnumber(cell) else _type(cell, numparse)(cell)
missingval
if cell is None
else str(cell)
if _isnumber(cell)
else _type(cell, numparse)(cell)
)
wrapped = [
"\n".join(wrapper.wrap(line))
Expand Down
8 changes: 1 addition & 7 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# for testing and it is disabled by default.

[tox]
envlist = lint, py{38, 39, 310, 311, 312, 313}
envlist = lint, py{39, 310, 311, 312, 313}
isolated_build = True

[gh]
Expand All @@ -33,12 +33,6 @@ commands = python -m pre_commit run -a
deps =
pre-commit

[testenv:py38]
basepython = python3.8
commands = pytest -v --doctest-modules --ignore benchmark {posargs}
deps =
pytest

[testenv:py38-extra]
basepython = python3.8
commands = pytest -v --doctest-modules --ignore benchmark {posargs}
Expand Down

0 comments on commit bdc0c76

Please sign in to comment.