From f19335ef789ac4a4c1c822e1f8d0040164cbae9e Mon Sep 17 00:00:00 2001 From: ryneeverett Date: Sat, 18 Sep 2021 21:31:26 -0400 Subject: [PATCH] Publish to pypi with poetry. Resolve #14. --- README.md | 5 ++--- poetry.lock | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 25 +++++++++++++++++++++++++ setup.py | 10 ---------- shell.nix | 25 +++++++++---------------- 5 files changed, 87 insertions(+), 29 deletions(-) create mode 100644 poetry.lock create mode 100644 pyproject.toml delete mode 100644 setup.py diff --git a/README.md b/README.md index 2cac607..21354be 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ A command-line utility for pulling code blocks out of markdown files. ```sh -$ pip install -e git+https://github.com/ryneeverett/mkcodes.git#egg=mkcodes +$ pip install mkcodes # For traditional markdown code-block support. -$ pip install markdown +$ pip install mkcodes[markdown] $ mkcodes --help Usage: mkcodes [OPTIONS] INPUTS... @@ -33,6 +33,5 @@ Running Tests ------------- ```sh -python setup.py develop ./test ``` diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..6803140 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,51 @@ +[[package]] +name = "click" +version = "8.0.1" +description = "Composable command line interface toolkit" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "markdown" +version = "3.3.4" +description = "Python implementation of Markdown." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +testing = ["coverage", "pyyaml"] + +[extras] +markdown = ["Markdown"] + +[metadata] +lock-version = "1.1" +python-versions = "^3.8" +content-hash = "8e2389daf92d57d5b894b001cf1289480617fca8ae6804df1cf576fb88ae02ba" + +[metadata.files] +click = [ + {file = "click-8.0.1-py3-none-any.whl", hash = "sha256:fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6"}, + {file = "click-8.0.1.tar.gz", hash = "sha256:8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, +] +markdown = [ + {file = "Markdown-3.3.4-py3-none-any.whl", hash = "sha256:96c3ba1261de2f7547b46a00ea8463832c921d3f9d6aba3f255a6f71386db20c"}, + {file = "Markdown-3.3.4.tar.gz", hash = "sha256:31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49"}, +] diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..46125c7 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,25 @@ +[tool.poetry] +name = "mkcodes" +version = "0.1.0" +description = "A command-line utility for pulling code blocks out of markdown files." +authors = ["ryneeverett "] +license = "Apache-2.0" + +[tool.poetry.dependencies] +python = "^3.8" +click = "*" + +Markdown = { version = "*", optional = true } + +[tool.poetry.extras] +markdown = ["Markdown"] + +[tool.poetry.dev-dependencies] +Markdown = "*" + +[tool.poetry.scripts] +"mkcodes" = "mkcodes:main" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/setup.py b/setup.py deleted file mode 100644 index 4b20b0f..0000000 --- a/setup.py +++ /dev/null @@ -1,10 +0,0 @@ -import setuptools - -setuptools.setup( - name='mkcodes', - install_requires=['click'], - tests_require=['markdown'], - extras_require={'markdown': ['markdown']}, - py_modules=['mkcodes'], - entry_points={'console_scripts': ['mkcodes=mkcodes:main']} -) diff --git a/shell.nix b/shell.nix index b0fb5e4..b82678f 100644 --- a/shell.nix +++ b/shell.nix @@ -1,22 +1,15 @@ +with import {}; let - pkgs = import {}; - testDependencies = [ - pkgs.python3Packages.setuptools - pkgs.python3Packages.markdown - ]; - mkcodes = pkgs.python3Packages.buildPythonPackage { - pname = "mkcodes"; - version = "master"; - src = ./.; - - propagatedBuildInputs = [ - pkgs.python3Packages.click - ]; - checkInputs = testDependencies; + mkcodesEnv = poetry2nix.mkPoetryEnv { + projectDir = ./.; + # editablePackageSources = { + # mkcodes = ./mkcodes; + # }; }; in pkgs.mkShell { buildInputs = [ - mkcodes - ] ++ testDependencies; + pkgs.poetry + mkcodesEnv + ]; }