[tool.poetry] name = "teddy" version = "0.1.0" description = "A module for fine-tuning and preprocessing foundational models." authors = ["Olga Kotova "] license = "MIT" readme = "README.md" [tool.poetry.dependencies] python = "3.11.10" accelerate = "0.30.1" aiohttp = "3.9.5" aiosignal = "1.3.1" alembic = "1.13.2" aniso8601 = "9.0.1" anndata = "0.10.7" attrs = "23.2.0" azure-common = "1.1.28" azure-core = "1.30.1" azure-mgmt-core = "1.4.0" azure-mgmt-storage = "21.1.0" azure-storage-blob = "12.20.0" beautifulsoup4 = "4.12.3" blinker = "1.8.2" boto3 = "1.34.112" botocore = "1.34.112" cachetools = "5.3.3" certifi = "2024.7.4" cffi = "1.16.0" charset-normalizer = "3.3.2" click = "8.1.7" cloudpickle = "3.0.0" contourpy = "1.2.1" cryptography = "44.0.0" cycler = "0.12.1" datasets = "2.19.1" deprecated = "1.2.14" dill = "0.3.8" docker = "7.1.0" docker-pycreds = "0.4.0" fabric = "3.2.2" filelock = "3.14.0" flask = "3.0.3" fonttools = "4.51.0" frozenlist = "1.4.1" fsspec = "2024.3.1" gdown = "5.2.0" gitdb = "4.0.11" gitpython = "3.1.43" graphene = "3.3" graphql-core = "3.2.3" graphql-relay = "3.2.0" greenlet = "3.0.3" gunicorn = "22.0.0" h5py = "3.11.0" huggingface-hub = "0.23.1" hyperopt = "0.1.2" idna = "3.7" igraph = "0.11.5" isodate = "0.6.1" itsdangerous = "2.2.0" jinja2 = "3.1.4" jmespath = "1.0.1" joblib = "1.4.2" kiwisolver = "1.4.5" legacy-api-wrap = "1.4" leidenalg = "0.10.2" llvmlite = "0.42.0" mako = "1.3.5" markdown = "3.6" markupsafe = "2.1.5" matplotlib = "3.9.0" mlflow = "2.16.0" mpmath = "1.3.0" multidict = "6.0.5" multiprocess = "0.70.16" natsort = "8.4.0" networkx = "3.3" numba = "0.59.1" numpy = "1.26.4" opentelemetry-api = "1.25.0" opentelemetry-sdk = "1.25.0" opentelemetry-semantic-conventions = "0.46b0" pandas = "2.2.2" patsy = "0.5.6" pillow = "10.3.0" protobuf = "4.25.3" psutil = "5.9.8" pyarrow = "15.0.2" pycparser = "2.22" pydot = "2.0.0" pymongo = "4.7.2" pynndescent = "0.5.12" pyparsing = "3.1.2" pysocks = "1.7.1" python-box = "7.1.1" python-dateutil = "2.9.0.post0" pytz = "2024.1" pyyaml = "6.0.1" regex = "2024.5.15" requests = "2.32.2" s3transfer = "0.10.1" safetensors = "0.4.3" scanpy = "1.10.1" scib = "1.1.5" scikit-learn = "1.5.0" scikit-misc = "0.3.1" scipy = "1.13.0" scvi = "0.6.8" seaborn = "0.13.2" sentry-sdk = "2.8.0" session-info = "1.0.0" setproctitle = "1.3.3" smmap = "5.0.1" soupsieve = "2.5" sqlalchemy = "2.0.31" sqlparse = "0.5.0" statsmodels = "0.14.2" sympy = "1.12" texttable = "1.7.0" threadpoolctl = "3.5.0" tokenizers = "0.19.1" torch = "^2.3.0 || >=2.0.1" torchtext = "^0.18.0 || >=0.15.2" torchvision = "^0.18.0 || >=0.15.2" tqdm = "4.66.4" transformers = "4.41.0" tzdata = "2024.1" umap-learn = "0.5.6" urllib3 = "2.2.2" wandb = "0.17.0" werkzeug = "3.0.6" wrapt = "1.16.0" xxhash = "3.4.1" yarl = "1.9.4" jupyter = "^1.1.1" ipykernel = "^6.29.5" tensorboard = "^2.19.0" pydantic = "^2.10.6" [tool.poetry.group.dev.dependencies] pytest = "^7.0" black = "^24.3" isort = "^5.0" ruff = "^0.0.286" pre-commit = "^4.0.1" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.black] skip-string-normalization = true line-length = 120 [tool.ruff] # Same as Black. line-length = 120 exclude = ["jupyter_notebook_config.py"] select = [ "E", # pycodestyle errors (settings from FastAPI, thanks, @tiangolo!) "W", # pycodestyle warnings "F", # pyflakes "I", # isort "C", # flake8-comprehensions "B", # flake8-bugbear ] ignore = [ "E501", # line too long, handled by black "C901", # too complex ] [tool.ruff.isort] order-by-type = true relative-imports-order = "closest-to-furthest" extra-standard-library = ["typing"] section-order = ["future", "standard-library", "third-party", "first-party", "local-folder"] known-first-party = []