From 11f6146e24fccbc2c836390624733e29078408c5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 4 Apr 2023 09:33:41 -0600 Subject: [PATCH 1/3] [pre-commit.ci] pre-commit autoupdate (#103) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3828cce..0a587b2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ ci: repos: - repo: https://github.com/psf/black - rev: 23.1.0 + rev: 23.3.0 hooks: - id: black name: Running black in all files. From 92b90b4af2a95162dc15d10dd2dd7310bc643900 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 11 Jul 2023 23:53:07 -0600 Subject: [PATCH 2/3] [pre-commit.ci] pre-commit autoupdate (#107) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0a587b2..9cea686 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ ci: repos: - repo: https://github.com/psf/black - rev: 23.3.0 + rev: 23.7.0 hooks: - id: black name: Running black in all files. From c4ef7192f2a2e3f604c25ba1897b0551267c92b9 Mon Sep 17 00:00:00 2001 From: Jonah Lawrence Date: Tue, 29 Aug 2023 06:47:50 -0600 Subject: [PATCH 3/3] fix: Add name and version to setup.py for older version of pip (#109) --- pyproject.toml | 2 +- setup.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 49 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index fd814c1..e7343bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta" [project] name = "table2ascii" -version = "1.1.1" +version = "1.1.2" authors = [{name = "Jonah Lawrence", email = "jonah@freshidea.com"}] description = "Convert 2D Python lists into Unicode/ASCII tables" readme = "README.md" diff --git a/setup.py b/setup.py index b21e3f6..9467adb 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,51 @@ # /usr/bin/env python +import re + from setuptools import setup -setup( - packages=["table2ascii"], - package_data={"table2ascii": ["py.typed"]}, -) + +def get_name(): + name = "" + with open("pyproject.toml") as f: + name = re.search(r'^name = ["\']([^"\']*)["\']', f.read(), re.M) + if not name: + raise RuntimeError("name is not set") + return name.group(1) + + +def get_version(): + version = "" + with open("pyproject.toml") as f: + version = re.search(r'^version = ["\']([^"\']*)["\']', f.read(), re.M) + if not version: + raise RuntimeError("version is not set") + return version.group(1) + + +def get_dependencies(): + with open("pyproject.toml") as f: + dependency_match = re.search(r"^dependencies = \[([\s\S]*?)\]", f.read(), re.M) + if not dependency_match or not dependency_match.group(1): + return [] + return [ + dependency.strip().strip(",").strip('"') + for dependency in dependency_match.group(1).split("\n") + if dependency + ] + + +try: + # check if pyproject.toml can be used to install dependencies and set the version + setup( + packages=[get_name()], + package_data={get_name(): ["py.typed"]}, + ) +except Exception: + # fallback for old versions of pip/setuptools + setup( + name=get_name(), + packages=[get_name()], + package_data={get_name(): ["py.typed"]}, + version=get_version(), + install_requires=get_dependencies(), + )