https://github.com/galaxyproject/galaxy
Raw File
Tip revision: bab7a6a132455756a491fda92e6df56418582334 authored by Martin Cech on 04 April 2024, 22:15:25 UTC
Merge pull request #17905 from galaxyproject/dependabot/npm_and_yarn/client/undici-5.28.4
Tip revision: bab7a6a
pyproject.toml
[tool.black]
line-length = 120
target-version = ['py38']
include = '\.pyi?$'
extend-exclude = '''
^/(
  | packages
  | lib/tool_shed/test/test_data/repos
)/
'''

[tool.darker]
isort = true

[tool.poetry]
package-mode = false
name = "galaxy"
description = "Galaxy is an open, web-based platform for accessible, reproducible, and transparent computational research."
authors = ["Galaxy Contributors"]
license = "AFL-3.0"
readme = "README.rst"
homepage = "https://galaxyproject.org/"
repository = "https://github.com/galaxyproject/galaxy/"
documentation = "https://docs.galaxyproject.org/"

[[tool.poetry.source]]
name = "galaxyproject"
url = "https://wheels.galaxyproject.org/simple"
priority = "primary"

[[tool.poetry.source]]
name = "PyPI"
priority = "primary"

[tool.poetry.dependencies]
a2wsgi = "*"
aiofiles = "*"
alembic = "*"
apispec = "*"
Babel = "*"
bdbag = ">=1.6.3"
Beaker = "*"
bioblend = "*"
bleach = "*"
boltons = "*"
boto = "*"
bx-python = "*"
celery = "*"
Cheetah3 = "*"
cloudauthz = "==0.6.0"
cloudbridge = "*"
circus = "*"
cwltool = ">=3.1.20230624081518"  # save time, minimum needed by cwl-1.0 branch
conda-package-streaming = "*"
dictobj = "*"
dnspython = "*"
docutils = "!=0.17, !=0.17.1"
dparse = "*"
edam-ontology = "*"
fastapi = ">=0.108"
fs = "*"
future = ">=1.0.0"  # Python 3.12 support
galaxy_sequence_utils = "*"
graphene-sqlalchemy = "3.0.0rc1"  # need a beta release to be compat. with starlette plugin
gravity = ">=1.0.4"
gunicorn = "*"
gxformat2 = "*"
h5grove = ">=1.2.1"
h5py = "*"
importlib-resources = { version = "*", python = "<3.9" }  # for importlib.{abc.Traversable,resources.{files, Package}}
isa-rwval = ">=0.10.10"
kombu = ">=5.3"  # for importlib-metadata fix
isal = "*"
lagom = "*"
Mako = "*"
Markdown = "*"
MarkupSafe = "*"
Mercurial = "*"
mrcfile = "*"
msal = "*"
nodeenv = "*"
numpy = "*"
packaging = "*"
paramiko = "!=2.9.0, !=2.9.1"  # https://github.com/paramiko/paramiko/issues/1961
Parsley = "*"
Paste = "*"
pebble = "*"
pillow = "*"
psutil = "*"
pulsar-galaxy-lib = ">=0.15.0.dev0"
pycryptodome = "*"
pydantic = {version = ">=2, !=2.6.0, !=2.6.1, !=2.6.2, !=2.6.3, !=2.6.4", extras = ["email"]}  # https://github.com/pydantic/pydantic/issues/8760
PyJWT = "*"
pykwalify = "*"
pylibmagic = "*"
pyparsing = "*"
pysam = ">=0.21"  # for Python 3.11 support on macOS
python = ">=3.8,<3.13"  # Keep maximum version strict to appease numpy and scipy
python-dateutil = "*"
python-magic = "*"
python-multipart = "*"  # required to support form parsing in FastAPI/Starlette
PyYAML = "*"
refgenconf = ">=0.12.0"
regex = "*"
requests = "*"
rocrate = "*"
Routes = "*"
schema-salad = "!=8.3.20220721194857"  # https://github.com/common-workflow-language/schema_salad/issues/575
social-auth-core = ">=4.5.0"  # to drop dependency on abandoned python-jose
sortedcontainers = "*"
SQLAlchemy = "^2.0"
sqlitedict = "*"
sqlparse = "*"
starlette = "*"
starlette-context = "*"
starlette-graphene3 = "*"
svgwrite = "*"
tifffile = "*"
tuswsgi = "*"
typing-extensions = "*"
uvicorn = "!=0.28.0"  # https://github.com/galaxyproject/galaxy/issues/17669
uvloop = "*"
WebOb = "*"
Whoosh = "*"
zipstream-new = "*"
s3fs = "^2023.1.0"

[tool.poetry.group.dev.dependencies]
ase = ">=3.18.1"
axe-selenium-python = "*"
black = "*"
codespell = "*"
cwltest = "*"
darker = "*"
fluent-logger = "*"
galaxy-release-util = "*"
httpx = "*"
isort = "*"
lxml = "!=4.2.2"
markdown-it-reporter = "*"
myst-parser = "*"
pkce = "*"
playwright = "*"
pytest = "*"
pytest-asyncio = "*"
pytest-celery = "*"
pytest-cov = "*"
pytest-html = "*"
pytest-httpserver = "*"
python-irodsclient = "!=1.1.2"  # https://github.com/irods/python-irodsclient/issues/356
pytest-json-report = "*"
pytest-mock = "*"
pytest-playwright = "*"
pytest-postgresql = "!=3.0.0"  # https://github.com/ClearcodeHQ/pytest-postgresql/issues/426
pytest-shard = "*"
responses = "*"
selenium = "*"
urllib3 = "<2"  # Necessary for poetry for resolve deps for Python 3.8+
seletools = "*"
Sphinx = ">=4.0"  # support docutils 0.17
sphinx-rtd-theme = ">=1.0.0,<2"  # https://github.com/python-poetry/poetry/issues/8194
statsd = "*"
testfixtures = "*"
tuspy = "*"
twill = ">=3.2.1"  # https://github.com/twill-tools/twill/issues/18
watchdog = "*"
Werkzeug = "*"

[tool.poetry.group.typecheck.dependencies]
mypy = "*"
lxml-stubs = "*"
pydantic = ">=2, !=2.6.0, !=2.6.1"  # for pydantic.mypy plugin
types-bleach = "*"
types-boto = "*"
types-contextvars = "*"
types-dataclasses = "*"
types-docutils = "*"
types-Markdown = "*"
types-paramiko = "*"
types-pkg-resources = "*"
types-python-dateutil = "*"
types-PyYAML = "*"
types-requests = "*"
types-six = "*"

[tool.ruff]
target-version = "py38"
exclude = [
  "lib/tool_shed/test/test_data/repos"
]

[tool.ruff.lint]
# Enable: pycodestyle errors (E), Pyflakes (F), flake8-bugbear (B),
# flake8-comprehensions (C4), flake8-logging-format (G) and pyupgrade (UP)
select = ["E", "F", "B", "C4", "G", "UP"]
# Exceptions:
# B008 Do not perform function calls in argument defaults (for FastAPI Depends and Body)
# B9 flake8-bugbear opinionated warnings
# E402 module level import not at top of file # TODO, we would like to improve this.
# E501 is line length (delegated to black)
# G* are TODOs
ignore = ["B008", "B9", "E402", "E501", "G001", "G002", "G004"]

[tool.ruff.lint.flake8-comprehensions]
allow-dict-calls-with-keyword-arguments = true

[tool.ruff.lint.isort]
# We are not selecting "I" rules in ruff yet because support for all the isort
# options we need is not complete, but these are the one currently implemented.
combine-as-imports = true
relative-imports-order = "closest-to-furthest"

[tool.ruff.lint.per-file-ignores]
# Don't check pyupgrade rules on tool scripts, which may use different Python versions
"test/functional/tools/*" = ["UP"]
"tools/*" = ["UP"]
# Don't check some pyupgrade rules on generated files
"lib/galaxy/schema/bco/*" = ["UP006", "UP007"]
"lib/galaxy/schema/drs/*" = ["UP006", "UP007"]
"lib/tool_shed_client/schema/trs.py" = ["UP006", "UP007"]
"lib/tool_shed_client/schema/trs_service_info.py" = ["UP006", "UP007"]
back to top