electionguard-python/pyproject.toml

110 строки
2.8 KiB
TOML
Исходник Обычный вид История

[tool.poetry]
name = "electionguard"
2021-10-13 17:22:16 +03:00
version = "1.4.0"
description = "ElectionGuard: Support for e2e verified elections."
license = "MIT"
authors = ["Microsoft <electionguard@microsoft.com>"]
maintainers = []
readme = "README.md"
homepage = "https://microsoft.github.io/electionguard-python"
repository = "https://github.com/microsoft/electionguard-python"
documentation = "https://microsoft.github.io/electionguard-python"
keywords = []
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: Unix",
"Operating System :: POSIX",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python",
"Topic :: Utilities"]
packages = [{ include = "electionguard", from = "src" }]
[tool.poetry.urls]
"GitHub Pages" = "https://microsoft.github.io/electionguard-python"
"Read the Docs" = "https://electionguard-python.readthedocs.io"
"Releases" = "https://github.com/microsoft/electionguard-python/releases"
"Milestones" = "https://github.com/microsoft/electionguard-python/milestones"
"Issue Tracker" = "https://github.com/microsoft/electionguard-python/issues"
[tool.poetry.dependencies]
python = "^3.9.5"
gmpy2 = ">=2.0.8"
# For Windows Builds
# gmpy2 = { path = "./packages/gmpy2-2.0.8-cp39-cp39-win_amd64.whl" } # 64 bit
# gmpy2 = { path = "./packages/gmpy2-2.0.8-cp39-cp39-win32.whl" } # 32 bit
cryptography = ">=3.2"
psutil = ">=5.7.2"
[tool.poetry.dev-dependencies]
atomicwrites = "*"
black = "21.7b0"
coverage = "*"
docutils = "*"
hypothesis = ">=5.15.1"
ipython = "^7.28.0"
ipykernel = "^6.4.1"
jeepney = "*"
mkdocs = "^1.2.1"
mkdocs-jupyter = "^0.18.0"
mkinit = "^0.3.3"
mypy = "^0.910"
pydeps = "*"
pylint = "*"
♻️ Simplify Serialization (#394) * 📄 Design and Architecture Shifts - Remove focus on NamedTuple's in favor of dataclasses since serializers tend to handle these better - Change name of section to * ♻️. Prefer dataclass to NamedTuple Using the built in constructor for dataclasses helps focus on plain constructable objects that are easy to serialize as opposed to immutable objects. * 🚧 Remove Serializable Squishy squash * 📄. Update publish and verify documentation - Publish and verify should be moved to spec documentation. Simplify wording for the python documentation. * 📦 Remove jsons + Update dependencies * 🔥. Remove publish Publish functionally creates this idea that this method should be used when in reality the files should be handled individually by the system using it. This gives more flexibility on the output and less scaling problems with large ballot amounts. It also forces the use of serialization in the base electionguard. * 🔥 Remove serialization test * 🔨 Fix incorrect JSON data format * 🐛 Fix nonce test bug This doesn't happen all the time but is frustrating. Due to the setup of this test, it is possible for it to fail randomly. With a lower value of Q, it is more likely to happen more frequently. The issue arises due to sequencing. The separate random sequence CAN include the same number. It is random so sometimes there is a chance they align. Once this happens hypothesis keeps checking the case. * 📦 Add pydantic to dev dependencies * ♻️ Rename enum numbers to string - This assists with typical serialization without specifying the output. This can also be accomplished with a dictionary in other languages Revert "Squish thing" This reverts commit e97efb6435520148328d757c0460a1ad68657df8. * 🔥 Remove unnecessary prints in test_encrypt * 🔨Have strategies rely on enum Strategy can actual rely on the enum itself instead of a number * 🐛 Fix extended data changes * ♻️ Convert EncryptionDevice to dataclass * ✨ Implement serialize Add construct path to serialize * ✅ Modify End to End Test * ⚠️ Massive changes to group and q and p * ✅ Documentation and Cleanup as per review
2021-08-04 22:29:25 +03:00
pydantic = "^1.8.2"
pytest = "*"
secretstorage = "*"
twine = "*"
typish = '*'
[tool.black]
target-version = ['py39']
♻️ Simplify Serialization (#394) * 📄 Design and Architecture Shifts - Remove focus on NamedTuple's in favor of dataclasses since serializers tend to handle these better - Change name of section to * ♻️. Prefer dataclass to NamedTuple Using the built in constructor for dataclasses helps focus on plain constructable objects that are easy to serialize as opposed to immutable objects. * 🚧 Remove Serializable Squishy squash * 📄. Update publish and verify documentation - Publish and verify should be moved to spec documentation. Simplify wording for the python documentation. * 📦 Remove jsons + Update dependencies * 🔥. Remove publish Publish functionally creates this idea that this method should be used when in reality the files should be handled individually by the system using it. This gives more flexibility on the output and less scaling problems with large ballot amounts. It also forces the use of serialization in the base electionguard. * 🔥 Remove serialization test * 🔨 Fix incorrect JSON data format * 🐛 Fix nonce test bug This doesn't happen all the time but is frustrating. Due to the setup of this test, it is possible for it to fail randomly. With a lower value of Q, it is more likely to happen more frequently. The issue arises due to sequencing. The separate random sequence CAN include the same number. It is random so sometimes there is a chance they align. Once this happens hypothesis keeps checking the case. * 📦 Add pydantic to dev dependencies * ♻️ Rename enum numbers to string - This assists with typical serialization without specifying the output. This can also be accomplished with a dictionary in other languages Revert "Squish thing" This reverts commit e97efb6435520148328d757c0460a1ad68657df8. * 🔥 Remove unnecessary prints in test_encrypt * 🔨Have strategies rely on enum Strategy can actual rely on the enum itself instead of a number * 🐛 Fix extended data changes * ♻️ Convert EncryptionDevice to dataclass * ✨ Implement serialize Add construct path to serialize * ✅ Modify End to End Test * ⚠️ Massive changes to group and q and p * ✅ Documentation and Cleanup as per review
2021-08-04 22:29:25 +03:00
[tool.pylint.basic]
extension-pkg-whitelist = "pydantic"
[tool.pylint.format]
max-line-length = 120
# FIXME: Pylint should not require this many exceptions
[tool.pylint.messages_control]
disable = '''
duplicate-code,
fixme,
invalid-name,
missing-module-docstring,
missing-function-docstring,
no-value-for-parameter,
redefined-builtin,
too-few-public-methods,
too-many-arguments,
too-many-branches,
too-many-function-args,
too-many-lines,
too-many-locals,
too-many-nested-blocks,
unnecessary-lambda,
'''
[tool.coverage.run]
branch = true
source = ["src/electionguard"]
[tool.coverage.html]
directory = "coverage_html_report"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.mypy]
python_version = 3.9
♻️ Simplify Serialization (#394) * 📄 Design and Architecture Shifts - Remove focus on NamedTuple's in favor of dataclasses since serializers tend to handle these better - Change name of section to * ♻️. Prefer dataclass to NamedTuple Using the built in constructor for dataclasses helps focus on plain constructable objects that are easy to serialize as opposed to immutable objects. * 🚧 Remove Serializable Squishy squash * 📄. Update publish and verify documentation - Publish and verify should be moved to spec documentation. Simplify wording for the python documentation. * 📦 Remove jsons + Update dependencies * 🔥. Remove publish Publish functionally creates this idea that this method should be used when in reality the files should be handled individually by the system using it. This gives more flexibility on the output and less scaling problems with large ballot amounts. It also forces the use of serialization in the base electionguard. * 🔥 Remove serialization test * 🔨 Fix incorrect JSON data format * 🐛 Fix nonce test bug This doesn't happen all the time but is frustrating. Due to the setup of this test, it is possible for it to fail randomly. With a lower value of Q, it is more likely to happen more frequently. The issue arises due to sequencing. The separate random sequence CAN include the same number. It is random so sometimes there is a chance they align. Once this happens hypothesis keeps checking the case. * 📦 Add pydantic to dev dependencies * ♻️ Rename enum numbers to string - This assists with typical serialization without specifying the output. This can also be accomplished with a dictionary in other languages Revert "Squish thing" This reverts commit e97efb6435520148328d757c0460a1ad68657df8. * 🔥 Remove unnecessary prints in test_encrypt * 🔨Have strategies rely on enum Strategy can actual rely on the enum itself instead of a number * 🐛 Fix extended data changes * ♻️ Convert EncryptionDevice to dataclass * ✨ Implement serialize Add construct path to serialize * ✅ Modify End to End Test * ⚠️ Massive changes to group and q and p * ✅ Documentation and Cleanup as per review
2021-08-04 22:29:25 +03:00
plugins = ["pydantic.mypy"]
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
ignore_missing_imports = true
show_column_numbers = true