Tooling: use poetry

This commit is contained in:
olliemath 2021-07-27 22:28:50 +01:00
parent 3627e384bc
commit 7e78582e74
5 changed files with 63 additions and 62 deletions

3
.gitignore vendored
View File

@ -119,3 +119,6 @@ venv
.hypothesis/
.mypy_cache/
**/__pycache__/
# poetry
poetry.lock

42
pyproject.toml Normal file
View File

@ -0,0 +1,42 @@
[tool.isort]
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true
line_length = 120
[tool.poetry]
name = "clickhouse_orm"
version = "0.2.1"
description = "A simple ORM for working with the Clickhouse database"
authors = ["olliemath <oliver.margetts@gmail.com>"]
license = "BSD"
homepage = "https://github.com/SuadeLabs/clickhouse_orm"
repository = "https://github.com/SuadeLabs/clickhouse_orm"
classifiers = [
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Database"
]
[tool.poetry.dependencies]
python = "^3.7"
[tool.poetry.dev-dependencies]
flake8 = "^3.9.2"
flake8-bugbear = "^21.4.3"
pep8-naming = "^0.12.0"
pytest = "^6.2.4"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

18
setup.cfg Normal file
View File

@ -0,0 +1,18 @@
[flake8]
max-line-length = 120
select =
# pycodestyle
E, W
# pyflakes
F
# flake8-bugbear
B, B9
# pydocstyle
D
# isort
I
ignore =
E203 # Whitespace after ':'
W503 # Operator after new line
B950 # We use E501
B008 # Using callable in function defintion, required for FastAPI

View File

@ -1,50 +0,0 @@
SETUP_INFO = dict(
name = '${project:name}',
version = '${infi.recipe.template.version:version}',
author = '${infi.recipe.template.version:author}',
author_email = '${infi.recipe.template.version:author_email}',
url = ${infi.recipe.template.version:homepage},
license = 'BSD',
description = """${project:description}""",
# http://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers = [
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.4",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Database"
],
install_requires = ${project:install_requires},
namespace_packages = ${project:namespace_packages},
package_dir = {'': 'src'},
package_data = {'': ${project:package_data}},
include_package_data = True,
zip_safe = False,
entry_points = dict(
console_scripts = ${project:console_scripts},
gui_scripts = ${project:gui_scripts},
),
)
if SETUP_INFO['url'] is None:
_ = SETUP_INFO.pop('url')
def setup():
from setuptools import setup as _setup
from setuptools import find_packages
SETUP_INFO['packages'] = find_packages('src')
_setup(**SETUP_INFO)
if __name__ == '__main__':
setup()

12
tox.ini
View File

@ -1,12 +0,0 @@
[tox]
envlist = py27, py35, pypy
[testenv]
deps =
nose
flake8
commands =
{envpython} -m compileall -q src/ tests/
# {envbindir}/flake8 src/ tests/ --max-line-length=120
nosetests -v {posargs}