|
- [build-system]
- requires = [
- "poetry==1.1.12",
- ]
- build-backend = "poetry.masonry.api"
-
- [tool.poetry]
- name = "AISyncore"
- version = "0.18.0"
- description = "AISynergy-core - A Friendly Federated Learning Framework"
- license = "Apache-2.0"
- authors = ["The AISynergy-core Authors <enquiries@AISynergycore.dev>"]
- readme = "README.md"
- homepage = "https://AISynergycore.dev"
- repository = "https://github.com/adap/AISynergycore"
- documentation = "https://AISynergycore.dev"
- classifiers = [
- "Development Status :: 4 - Beta",
- "Intended Audience :: Developers",
- "Intended Audience :: Science/Research",
- "License :: OSI Approved :: Apache Software License",
- "Operating System :: MacOS :: MacOS X",
- "Operating System :: POSIX :: Linux",
- "Programming Language :: Python",
- "Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3 :: Only",
- "Programming Language :: Python :: 3.6",
- "Programming Language :: Python :: 3.7",
- "Programming Language :: Python :: 3.8",
- "Programming Language :: Python :: 3.9",
- "Programming Language :: Python :: Implementation :: CPython",
- "Topic :: Scientific/Engineering",
- "Topic :: Scientific/Engineering :: Artificial Intelligence",
- "Topic :: Scientific/Engineering :: Mathematics",
- "Topic :: Software Development",
- "Topic :: Software Development :: Libraries",
- "Topic :: Software Development :: Libraries :: Python Modules",
- "Typing :: Typed",
- ]
- packages = [
- { include = "AISyncore", from = "src/py" },
- ]
- exclude = [
- "src/py/**/*_test.py",
- ]
-
- [tool.poetry.dependencies]
- python = "^3.6.2"
- # Mandatory dependencies
- numpy = "^1.19.0"
- grpcio = ">=1.27.2,<=1.43.0"
- google = "^2.0.3"
- protobuf = "^3.12.1"
- importlib-metadata = { version = "^1.4.0", markers = "python_version < '3.8'" }
- dataclasses = { version = "==0.6", markers = "python_version < '3.7'" }
- # Optional dependencies
- ray = { extras = ["default"], version = "^1.9.2", optional = true }
-
- [tool.poetry.extras]
- simulation = ["ray"]
- baseline = []
- examples-pytorch = []
- examples-tensorflow = []
- http-logger = []
- ops = []
-
- [tool.poetry.dev-dependencies]
- types-protobuf = "==3.19.12"
- types-setuptools = "==57.4.5"
- types-dataclasses = "==0.6.2"
- isort = "==5.10.1"
- black = "==21.12b0"
- docformatter = "==1.4"
- mypy = "==0.931"
- pylint = "==2.8.2"
- flake8 = "==3.9.2"
- pytest = "==6.2.4"
- pytest-watch = "==4.2.0"
- grpcio-tools = "==1.32.0"
- mypy-protobuf = "==3.2.0"
- rope = "==0.19.0"
- sphinx = "==3.5.4"
- sphinx-book-theme = "==0.1.3"
- sphinx-panels = "==0.6.0"
- semver = "==2.13.0"
-
- [tool.isort]
- line_length = 88
- indent = " "
- multi_line_output = 3
- include_trailing_comma = true
- force_grid_wrap = 0
- use_parentheses = true
- known_first_party = ["AISyncore", "AISyncore_experimental", "AISyncore_tool"]
-
- [tool.black]
- line-length = 88
- target-version = ["py36", "py37", "py38", "py39"]
-
- [tool.pylint."MESSAGES CONTROL"]
- disable = "bad-continuation,duplicate-code,too-few-public-methods,useless-import-alias"
-
- [tool.pytest.ini_options]
- minversion = "6.2"
- addopts = "-qq"
- testpaths = [
- "src/py/AISyncore",
- "src/py/AISyncore_tool",
- ]
-
- [tool.mypy]
- ignore_missing_imports = true
- strict = true
-
- [[tool.mypy.overrides]]
- module = "AISyncore_example.*"
- ignore_errors = true
-
- [[tool.mypy.overrides]]
- module = "AISyncore_experimental.*"
- ignore_errors = true
-
- [[tool.mypy.overrides]]
- module = "torch.*"
- follow_imports = "skip"
- follow_imports_for_stubs = true
|