From 78c11c4b19a86cb48e78179223343b2bd61cef72 Mon Sep 17 00:00:00 2001 From: KKlochko Date: Sat, 17 Jun 2023 18:56:18 +0300 Subject: [PATCH] Initial commit --- .drone.yml | 13 ++++ README.md | 6 ++ poetry.lock | 128 ++++++++++++++++++++++++++++++++++++ poetry_template/__init__.py | 0 poetry_template/main.py | 7 ++ pyproject.toml | 18 +++++ tests/__init__.py | 0 tests/test_main.py | 24 +++++++ 8 files changed, 196 insertions(+) create mode 100644 .drone.yml create mode 100644 README.md create mode 100644 poetry.lock create mode 100644 poetry_template/__init__.py create mode 100644 poetry_template/main.py create mode 100644 pyproject.toml create mode 100644 tests/__init__.py create mode 100644 tests/test_main.py diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..6911bfa --- /dev/null +++ b/.drone.yml @@ -0,0 +1,13 @@ +kind: pipeline +type: docker +name: default + +steps: +- name: installing deps and test + image: python:3.10-alpine + commands: + - export POETRY_HOME=/opt/poetry + - python3 -m venv $POETRY_HOME + - $POETRY_HOME/bin/pip install poetry==1.3.2 + - $POETRY_HOME/bin/poetry install + - $POETRY_HOME/bin/poetry run pytest -s diff --git a/README.md b/README.md new file mode 100644 index 0000000..3489d70 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# poetry-template + +[![Build Status](https://drone.kklochko.pp.ua/api/badges/KKlochko/poetry-template/status.svg)](https://drone.kklochko.pp.ua/KKlochko/poetry-template) + +poetry-template is a simple template for python project that using poetry. + diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..a262922 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,128 @@ +# This file is automatically @generated by Poetry and should not be changed by hand. + +[[package]] +name = "attrs" +version = "22.2.0" +description = "Classes Without Boilerplate" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "attrs-22.2.0-py3-none-any.whl", hash = "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836"}, + {file = "attrs-22.2.0.tar.gz", hash = "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] +dev = ["attrs[docs,tests]"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope.interface"] +tests = ["attrs[tests-no-zope]", "zope.interface"] +tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "exceptiongroup" +version = "1.1.1" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"}, + {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "iniconfig" +version = "2.0.0" +description = "brain-dead simple config-ini parsing" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "packaging" +version = "23.0" +description = "Core utilities for Python packages" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.0-py3-none-any.whl", hash = "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2"}, + {file = "packaging-23.0.tar.gz", hash = "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97"}, +] + +[[package]] +name = "pluggy" +version = "1.0.0" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=3.6" +files = [ + {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, + {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, +] + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + +[[package]] +name = "pytest" +version = "7.2.2" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest-7.2.2-py3-none-any.whl", hash = "sha256:130328f552dcfac0b1cec75c12e3f005619dc5f874f0a06e8ff7263f0ee6225e"}, + {file = "pytest-7.2.2.tar.gz", hash = "sha256:c99ab0c73aceb050f68929bc93af19ab6db0558791c6a0715723abe9d0ade9d4"}, +] + +[package.dependencies] +attrs = ">=19.2.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} +iniconfig = "*" +packaging = "*" +pluggy = ">=0.12,<2.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} + +[package.extras] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "dev" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[metadata] +lock-version = "2.0" +python-versions = "^3.10" +content-hash = "95d71ca029b4920ac3367a633f4bfe533444becae74cba94d31aafa09b4a61a7" diff --git a/poetry_template/__init__.py b/poetry_template/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/poetry_template/main.py b/poetry_template/main.py new file mode 100644 index 0000000..a965416 --- /dev/null +++ b/poetry_template/main.py @@ -0,0 +1,7 @@ + +def sum(a, b): + return a+b + +def mul(a, b): + return a*b + diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..9b8ed4c --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,18 @@ +[tool.poetry] +name = "poetry-template" +version = "0.1.0" +description = "" +authors = ["Your Name "] +readme = "README.md" +packages = [{include = "poetry_template"}] + +[tool.poetry.dependencies] +python = "^3.10" + + +[tool.poetry.group.dev.dependencies] +pytest = "^7.2.2" + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_main.py b/tests/test_main.py new file mode 100644 index 0000000..59d6446 --- /dev/null +++ b/tests/test_main.py @@ -0,0 +1,24 @@ +import pytest +from poetry_template.main import sum, mul + +def test_sum(): + a = 1 + b = 2 + s = 3 + + assert s == sum(a, b) + + +def test_sum_wrong(): + a = 1 + b = 2 + s_wrong = 4 + + assert s_wrong != sum(a, b) + +def test_mul(): + a = 1 + b = 2 + m = 2 + + assert m == mul(a, b)