84 lines
2.6 KiB
TOML
84 lines
2.6 KiB
TOML
[tool.poetry]
|
|
name = "betterproto"
|
|
version = "2.0.0b2"
|
|
description = "A better Protobuf / gRPC generator & library"
|
|
authors = ["Daniel G. Taylor <danielgtaylor@gmail.com>"]
|
|
readme = "README.md"
|
|
repository = "https://github.com/danielgtaylor/python-betterproto"
|
|
keywords = ["protobuf", "gRPC"]
|
|
license = "MIT"
|
|
packages = [
|
|
{ include = "betterproto", from = "src" }
|
|
]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.6"
|
|
black = { version = ">=19.3b0", optional = true }
|
|
dataclasses = { version = "^0.7", python = ">=3.6, <3.7" }
|
|
grpclib = "^0.4.1"
|
|
jinja2 = { version = "^2.11.2", optional = true }
|
|
protobuf = { version = "^3.12.2", optional = true }
|
|
python-dateutil = "^2.8"
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
black = "^20.8b1"
|
|
bpython = "^0.19"
|
|
grpcio-tools = "^1.30.0"
|
|
jinja2 = "^2.11.2"
|
|
mypy = "^0.770"
|
|
poethepoet = "^0.5.0"
|
|
protobuf = "^3.12.2"
|
|
pytest = "^5.4.2"
|
|
pytest-asyncio = "^0.12.0"
|
|
pytest-cov = "^2.9.0"
|
|
pytest-mock = "^3.1.1"
|
|
toml = "^0.10.1"
|
|
tox = "^3.15.1"
|
|
sphinx = "3.1.2"
|
|
sphinx-rtd-theme = "0.5.0"
|
|
asv = "^0.4.2"
|
|
|
|
|
|
[tool.poetry.scripts]
|
|
protoc-gen-python_betterproto = "betterproto.plugin:main"
|
|
|
|
[tool.poetry.extras]
|
|
compiler = ["black", "jinja2", "protobuf"]
|
|
|
|
[tool.poe.tasks]
|
|
# Dev workflow tasks
|
|
generate = { script = "tests.generate:main", help = "Generate test cases (do this once before running test)" }
|
|
test = { cmd = "pytest --cov src", help = "Run tests" }
|
|
types = { cmd = "mypy src --ignore-missing-imports", help = "Check types with mypy" }
|
|
format = { cmd = "black . --exclude tests/output_", help = "Apply black formatting to source code" }
|
|
docs = { cmd = "sphinx-build docs docs/build", help = "Build the sphinx docs"}
|
|
bench = { shell = "asv run master^! && asv run HEAD^! && asv compare master HEAD", help = "Benchmark current commit vs. master branch"}
|
|
clean = { cmd = "rm -rf .asv .coverage .mypy_cache .pytest_cache dist betterproto.egg-info **/__pycache__ tests/output_*", help = "Clean out generated files from the workspace" }
|
|
|
|
# CI tasks
|
|
full-test = { shell = "poe generate && tox", help = "Run tests with multiple pythons" }
|
|
check-style = { cmd = "black . --check --diff --exclude tests/output_", help = "Check if code style is correct"}
|
|
|
|
[tool.black]
|
|
target-version = ['py36']
|
|
|
|
[tool.coverage.run]
|
|
omit = ["betterproto/tests/*"]
|
|
|
|
[tool.tox]
|
|
legacy_tox_ini = """
|
|
[tox]
|
|
isolated_build = true
|
|
envlist = py36, py37, py38
|
|
|
|
[testenv]
|
|
whitelist_externals = poetry
|
|
commands =
|
|
poetry install -v --extras compiler
|
|
poetry run pytest --cov betterproto
|
|
"""
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0,<2"]
|
|
build-backend = "poetry.core.masonry.api"
|