mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-08-31 01:02:04 +08:00
229 lines
6.1 KiB
TOML
229 lines
6.1 KiB
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-slim = ">=0.111.0"
|
|
fs = "*"
|
|
future = ">=1.0.0" # Python 3.12 support
|
|
galaxy_sequence_utils = "*"
|
|
graphene = "*"
|
|
graphene-sqlalchemy = ">=3.0.0rc1" # need a beta release to be compat. with starlette plugin
|
|
graphql-core = "*"
|
|
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"
|
|
jinja2 = "*"
|
|
kombu = ">=5.3" # for importlib-metadata fix
|
|
isal = "*"
|
|
lagom = "*"
|
|
Mako = "*"
|
|
Markdown = "*"
|
|
MarkupSafe = "*"
|
|
mercurial = ">=6.8.1" # Python 3.12 support
|
|
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.7.4", extras = ["email"]} # https://github.com/pydantic/pydantic/pull/9639
|
|
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 = "*"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
ase = ">=3.18.1"
|
|
axe-selenium-python = "*"
|
|
black = "*"
|
|
boto3 = "*"
|
|
codespell = "*"
|
|
cwltest = "*"
|
|
darker = "*"
|
|
fluent-logger = "*"
|
|
galaxy-release-util = "*"
|
|
httpx = "*"
|
|
isort = "*"
|
|
lxml = "!=4.2.2"
|
|
markdown-it-reporter = "*"
|
|
myst-parser = "*"
|
|
onedatafilerestclient = "==21.2.5.1"
|
|
pkce = "*"
|
|
playwright = "*"
|
|
pytest = "*"
|
|
pytest-asyncio = "*"
|
|
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 = "*"
|
|
rucio-clients = {version = ">=33.6.0", python = ">=3.9"} # https://github.com/galaxyproject/galaxy/pull/17156
|
|
selenium = "*"
|
|
urllib3 = "<2" # Necessary for poetry for resolve deps for Python 3.8+
|
|
seletools = "*"
|
|
Sphinx = ">=4.0" # support docutils 0.17
|
|
sphinx-rtd-theme = "*"
|
|
statsd = "*"
|
|
testfixtures = "*"
|
|
tuspy = "*"
|
|
twill = ">=3.2.1" # https://github.com/twill-tools/twill/issues/18
|
|
watchdog = "*"
|
|
Werkzeug = "*"
|
|
|
|
[tool.poetry.group.typecheck.dependencies]
|
|
mypy = "*"
|
|
boto3-stubs = {version = "*", extras = ["s3"]}
|
|
lxml-stubs = "*"
|
|
pydantic = ">=2.7.4" # 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),
|
|
# flake8-implicit-str-concat (ISC) and pyupgrade (UP)
|
|
select = ["E", "F", "B", "C4", "G", "ISC", "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"]
|