Files
galaxy/pyproject.toml
2024-02-07 22:48:53 +00:00

183 lines
4.5 KiB
TOML

[tool.black]
line-length = 120
target-version = ['py37']
include = '\.pyi?$'
extend-exclude = '''
^/(
| packages
)/
'''
[tool.darker]
isort = true
[tool.poetry]
name = "galaxy"
version = "22.01.dev0"
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"
[tool.poetry.dependencies]
a2wsgi = "*"
aiofiles = "*"
alembic = "*"
apispec = "*"
Babel = "*"
bdbag = ">=1.6.3"
Beaker = "*"
bioblend = "*"
bleach = "*"
boltons = "*"
boto = "*"
bx-python = "*"
celery = "*"
Cheetah3 = "!=3.2.6.post2" # yanked release, https://github.com/python-poetry/poetry/issues/2453
cloudauthz = "==0.6.0"
cloudbridge = "*"
circus = "*"
cwltool = "==3.1.20221109155812"
conda-package-streaming = "*"
dictobj = "*"
dnspython = "*"
docutils = "!=0.17, !=0.17.1"
edam-ontology = "*"
fastapi = ">=0.71.0, !=0.89.0, <0.99" # https://github.com/tiangolo/fastapi/issues/4041 https://github.com/tiangolo/fastapi/issues/5861
fastapi-utils = "*"
fs = "*"
future = "*"
galaxy_sequence_utils = "*"
gravity = ">=1.0"
gunicorn = "*"
gxformat2 = "*"
h5grove = ">=1.2.1"
h5py = "*"
importlib-metadata = "<5" # Work around https://github.com/celery/kombu/issues/1600
importlib-resources = "*"
isa-rwval = "*"
kombu = "*"
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 = "*"
psutil = "*"
pulsar-galaxy-lib = ">=0.15.0.dev0"
pycryptodome = "*"
pydantic = {version = "<2", extras = ["email"]}
PyJWT = "*"
pykwalify = "*"
pylibmagic = "*"
pyparsing = "*"
pysam = ">=0.21" # for Python 3.11 support on macOS
python = ">=3.7,<3.12" # 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 = {version = "==4.0.3", extras = ["openidconnect"]}
sortedcontainers = "*"
SQLAlchemy = ">=1.4.25,<2"
sqlitedict = "*"
sqlparse = "*"
starlette = "*"
starlette-context = "*"
svgwrite = "*"
tifffile = "*"
tuswsgi = "*"
typing-extensions = "*"
uvicorn = "*"
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 = "*"
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-postgresql = "!=3.0.0" # https://github.com/ClearcodeHQ/pytest-postgresql/issues/426
pytest-shard = "*"
responses = "*"
selenium = "*"
seletools = "*"
Sphinx = ">=4.0" # support docutils 0.17
sphinx_rtd_theme = ">=1.0.0"
statsd = "*"
testfixtures = "*"
tuspy = "*"
twill = "*"
watchdog = "*"
Werkzeug = "*"
[tool.ruff]
select = ["E", "F", "B", "UP"]
target-version = "py37"
# 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)
ignore = ["B008", "B9", "E402", "E501"]
exclude = [
"lib/tool_shed/test/test_data/repos"
]
[tool.ruff.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.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"]