├── .github └── images │ └── pytorch-template.001.png ├── .gitignore ├── README.md ├── configs ├── config.yaml ├── logger │ └── mlflow.yaml ├── optimizer │ ├── adadelta.yaml │ ├── adagrad.yaml │ ├── adam.yaml │ ├── adamax.yaml │ ├── adamw.yaml │ ├── asgd.yaml │ ├── lbfgs.yaml │ ├── rmsprop.yaml │ ├── rprop.yaml │ ├── sgd.yaml │ └── sparse_adam.yaml ├── scheduler │ ├── cosine_annealing.yaml │ ├── cosine_annealing_warm_restarts.yaml │ ├── cyclic.yaml │ ├── exponential.yaml │ ├── lambda.yaml │ ├── multi_step.yaml │ ├── multipricative.yaml │ ├── oncyclic.yaml │ ├── plateau.yaml │ └── step.yaml └── trainer │ └── default.yaml ├── main.py ├── poetry.lock ├── pyproject.toml └── src ├── data_module.py ├── dataset.py ├── experiment.py └── model.py /.github/images/pytorch-template.001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hppRC/template-pytorch-lightning-hydra-mlflow-poetry/9d12264fb3e8e78b64558c0cc8324c6d750f4909/.github/images/pytorch-template.001.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Project specific paths 2 | logs 3 | mlruns 4 | 5 | 6 | # Byte-compiled / optimized / DLL files 7 | __pycache__/ 8 | *.py[cod] 9 | *$py.class 10 | 11 | # C extensions 12 | *.so 13 | 14 | # Distribution / packaging 15 | .Python 16 | build/ 17 | develop-eggs/ 18 | dist/ 19 | downloads/ 20 | eggs/ 21 | .eggs/ 22 | lib/ 23 | lib64/ 24 | parts/ 25 | sdist/ 26 | var/ 27 | wheels/ 28 | share/python-wheels/ 29 | *.egg-info/ 30 | .installed.cfg 31 | *.egg 32 | MANIFEST 33 | 34 | # PyInstaller 35 | # Usually these files are written by a python script from a template 36 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 37 | *.manifest 38 | *.spec 39 | 40 | # Installer logs 41 | pip-log.txt 42 | pip-delete-this-directory.txt 43 | 44 | # Unit test / coverage reports 45 | htmlcov/ 46 | .tox/ 47 | .nox/ 48 | .coverage 49 | .coverage.* 50 | .cache 51 | nosetests.xml 52 | coverage.xml 53 | *.cover 54 | *.py,cover 55 | .hypothesis/ 56 | .pytest_cache/ 57 | cover/ 58 | 59 | # Translations 60 | *.mo 61 | *.pot 62 | 63 | # Django stuff: 64 | *.log 65 | local_settings.py 66 | db.sqlite3 67 | db.sqlite3-journal 68 | 69 | # Flask stuff: 70 | instance/ 71 | .webassets-cache 72 | 73 | # Scrapy stuff: 74 | .scrapy 75 | 76 | # Sphinx documentation 77 | docs/_build/ 78 | 79 | # PyBuilder 80 | .pybuilder/ 81 | target/ 82 | 83 | # Jupyter Notebook 84 | .ipynb_checkpoints 85 | 86 | # IPython 87 | profile_default/ 88 | ipython_config.py 89 | 90 | # pyenv 91 | # For a library or package, you might want to ignore these files since the code is 92 | # intended to run in multiple environments; otherwise, check them in: 93 | # .python-version 94 | 95 | # pipenv 96 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 97 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 98 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 99 | # install all needed dependencies. 100 | #Pipfile.lock 101 | 102 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 103 | __pypackages__/ 104 | 105 | # Celery stuff 106 | celerybeat-schedule 107 | celerybeat.pid 108 | 109 | # SageMath parsed files 110 | *.sage.py 111 | 112 | # Environments 113 | .env 114 | .venv 115 | env/ 116 | venv/ 117 | ENV/ 118 | env.bak/ 119 | venv.bak/ 120 | 121 | # Spyder project settings 122 | .spyderproject 123 | .spyproject 124 | 125 | # Rope project settings 126 | .ropeproject 127 | 128 | # mkdocs documentation 129 | /site 130 | 131 | # mypy 132 | .mypy_cache/ 133 | .dmypy.json 134 | dmypy.json 135 | 136 | # Pyre type checker 137 | .pyre/ 138 | 139 | # pytype static type analyzer 140 | .pytype/ 141 | 142 | # Cython debug symbols 143 | cython_debug/ 144 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Template Pytorch-Lightning Hydra Mlflow Poetry 2 | 3 | 4 | The code in this repository is based on [pytorch/examples](https://github.com/pytorch/examples/blob/2639cf050493df9d3cbf065d45e6025733add0f4/vae/main.py). 5 | 6 | 7 | ## Template Design 8 | 9 | ![An overview of this template](./.github/images/pytorch-template.001.png) 10 | 11 | Configurations written in `yaml` are in `configs` directory. 12 | You can easily overwrite these configurations through command line arguments. 13 | 14 | 15 | ## Instllation 16 | 17 | ```bash 18 | poetry install 19 | ``` 20 | 21 | ## Run Training 22 | 23 | ```bash 24 | # single run with default settings 25 | poetry run python main.py 26 | # single run 27 | poetry run python main.py gpus=[0,1,2,3] batch_size=128 trainer.accelerator=ddp trainer.precision=16 optimizer=sgd scheduler.step_size=1 28 | # multi runs 29 | poetry run python main.py -m optimizer=adam,rmsprop,sgd trainer.precision=16,32 scheduler.step_size=1 30 | ``` 31 | 32 | ## Start Mlflow Server 33 | 34 | ```bash 35 | poetry run mlflow ui 36 | # access http://127.0.0.1:5000 37 | ``` 38 | 39 | 40 | ## Run Formatter 41 | 42 | ```bash 43 | poetry run pysen run format 44 | ``` -------------------------------------------------------------------------------- /configs/config.yaml: -------------------------------------------------------------------------------- 1 | # @package _global_ 2 | 3 | # specify here default training configuration 4 | defaults: 5 | - trainer: default 6 | - optimizer: adam 7 | - scheduler: step 8 | - logger: mlflow 9 | 10 | # enable color logging 11 | - override hydra/job_logging: colorlog 12 | - override hydra/hydra_logging: colorlog 13 | 14 | # global configurations 15 | experiment_name: default 16 | gpus: [0] 17 | lr: 1e-5 18 | epochs: 5 19 | batch_size: 16 20 | latent_dim: 20 21 | 22 | 23 | # path to original working directory (that `run.py` was executed from in command line) 24 | # hydra hijacks working directory by changing it to the current log directory, 25 | # so it's useful to have path to original work dir as a special variable 26 | # read more here: https://hydra.cc/docs/next/tutorials/basic/running_your_app/working_directory 27 | work_dir: ${hydra:runtime.cwd} 28 | 29 | 30 | hydra: 31 | # output paths for hydra logs 32 | run: 33 | dir: logs/runs/${now:%Y-%m-%d}/${now:%H:%M:%S}/${hydra.job.override_dirname} 34 | sweep: 35 | dir: logs/multiruns/${now:%Y-%m-%d}/${now:%H:%M:%S}/ 36 | subdir: ${hydra.job.override_dirname} 37 | 38 | job: 39 | # you can set here environment variables that are universal for all users 40 | # for system specific variables (like data paths) it's better to use .env file! 41 | # env_set: 42 | config: 43 | # configuration for the ${hydra.job.override_dirname} runtime variable 44 | override_dirname: 45 | kv_sep: '=' 46 | item_sep: '/' -------------------------------------------------------------------------------- /configs/logger/mlflow.yaml: -------------------------------------------------------------------------------- 1 | # https://pytorch-lightning.readthedocs.io/en/stable/extensions/generated/pytorch_lightning.loggers.MLFlowLogger.html 2 | _target_: pytorch_lightning.loggers.MLFlowLogger 3 | 4 | experiment_name: ${experiment_name} 5 | tracking_uri: file://${work_dir}/mlruns 6 | tags: 7 | save_dir: ./mlruns 8 | prefix: '' 9 | artifact_location: -------------------------------------------------------------------------------- /configs/optimizer/adadelta.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.Adadelta.html 3 | 4 | _target_: torch.optim.Adadelta 5 | 6 | params: ??? 7 | lr: ${lr} # default: 1.0 8 | rho: 0.9 9 | eps: 1e-06 10 | weight_decay: 0 -------------------------------------------------------------------------------- /configs/optimizer/adagrad.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.Adagrad.html 3 | 4 | _target_: torch.optim.Adagrad 5 | 6 | params: ??? 7 | lr: ${lr} # default: 0.01 8 | lr_decay: 0 9 | weight_decay: 0 10 | initial_accumulator_value: 0 11 | eps: 1e-10 -------------------------------------------------------------------------------- /configs/optimizer/adam.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.Adam.html 3 | 4 | _target_: torch.optim.Adam 5 | params: ??? 6 | lr: ${lr} # default: 0.001 7 | betas: [0.9, 0.999] 8 | eps: 1e-08 9 | weight_decay: 0 10 | amsgrad: False -------------------------------------------------------------------------------- /configs/optimizer/adamax.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.Adamax.html 3 | 4 | _target_: torch.optim.Adamax 5 | 6 | params: ??? 7 | lr: ${lr} # default: 0.002 8 | betas: [0.9, 0.999] 9 | eps: 1e-08 10 | weight_decay: 0 -------------------------------------------------------------------------------- /configs/optimizer/adamw.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.AdamW.html 3 | 4 | _target_: torch.optim.AdamW 5 | 6 | params: ??? 7 | lr: ${lr} # default: 0.001 8 | betas: [0.9, 0.999] 9 | eps: 1e-08 10 | weight_decay: 0.01 11 | amsgrad: False -------------------------------------------------------------------------------- /configs/optimizer/asgd.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.ASGD.html 3 | 4 | _target_: torch.optim.ASGD 5 | 6 | params: ??? 7 | lr: ${lr} # default: 0.01 8 | lambd: 0.0001 9 | alpha: 0.75 10 | t0: 1000000.0 11 | weight_decay: 0 -------------------------------------------------------------------------------- /configs/optimizer/lbfgs.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.LBFGS.html 3 | 4 | _target_: torch.optim.LBFGS 5 | 6 | params: ??? 7 | lr: ${lr} # default: 1.0 8 | max_iter: 20 9 | max_eval: 10 | tolerance_grad: 1e-07 11 | tolerance_change: 1e-09 12 | history_size: 100 13 | line_search_fn: -------------------------------------------------------------------------------- /configs/optimizer/rmsprop.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.RMSprop.html 3 | 4 | _target_: torch.optim.RMSprop 5 | 6 | params: ??? 7 | lr: ${lr} # 0.01 8 | alpha: 0.99 9 | eps: 1e-08 10 | weight_decay: 0 11 | momentum: 0 12 | centered: False -------------------------------------------------------------------------------- /configs/optimizer/rprop.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.Rprop.html 3 | 4 | _target_: torch.optim.Rprop 5 | 6 | params: ??? 7 | lr: ${lr} # 0.01 8 | etas: [0.5, 1.2] 9 | step_sizes: [1e-06, 50] -------------------------------------------------------------------------------- /configs/optimizer/sgd.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.SGD.html 3 | 4 | _target_: torch.optim.SGD 5 | 6 | params: ??? 7 | lr: ${lr} 8 | momentum: 0 9 | dampening: 0 10 | weight_decay: 0 11 | nesterov: False -------------------------------------------------------------------------------- /configs/optimizer/sparse_adam.yaml: -------------------------------------------------------------------------------- 1 | # @package optimizer 2 | # https://pytorch.org/docs/stable/generated/torch.optim.SparseAdam.html 3 | 4 | _target_: torch.optim.SparseAdam 5 | 6 | params: ??? 7 | lr: ${lr} # default: 0.001 8 | betas: [0.9, 0.999] 9 | eps: 1e-08 -------------------------------------------------------------------------------- /configs/scheduler/cosine_annealing.yaml: -------------------------------------------------------------------------------- 1 | # @package scheduler 2 | # https://pytorch.org/docs/stable/generated/torch.optim.lr_scheduler.CosineAnnealingLR.html 3 | 4 | _target_: torch.optim.lr_scheduler.CosineAnnealingLR 5 | 6 | optimizer: ??? 7 | T_max: ??? 8 | 9 | eta_min: 0 10 | last_epoch: -1 11 | verbose: False -------------------------------------------------------------------------------- /configs/scheduler/cosine_annealing_warm_restarts.yaml: -------------------------------------------------------------------------------- 1 | # @package scheduler 2 | # https://pytorch.org/docs/stable/generated/torch.optim.lr_scheduler.CosineAnnealingWarmRestarts.html 3 | 4 | _target_: torch.optim.lr_scheduler.CosineAnnealingWarmRestarts 5 | 6 | optimizer: ??? 7 | T_0: ??? 8 | 9 | T_mult: 1 10 | eta_min: 0 11 | last_epoch: -1 12 | verbose: False -------------------------------------------------------------------------------- /configs/scheduler/cyclic.yaml: -------------------------------------------------------------------------------- 1 | # @package scheduler 2 | # https://pytorch.org/docs/stable/generated/torch.optim.lr_scheduler.CyclicLR.html 3 | 4 | _target_: torch.optim.lr_scheduler.CyclicLR 5 | 6 | optimizer: ??? 7 | base_lr: ??? 8 | max_lr: ??? 9 | 10 | step_size_up: 2000 11 | step_size_down: 12 | mode: triangular 13 | gamma: 1.0 14 | scale_fn: 15 | scale_mode: cycle 16 | cycle_momentum: True 17 | base_momentum: 0.8 18 | max_momentum: 0.9 19 | last_epoch: -1 20 | verbose: False -------------------------------------------------------------------------------- /configs/scheduler/exponential.yaml: -------------------------------------------------------------------------------- 1 | # @package scheduler 2 | # https://pytorch.org/docs/stable/generated/torch.optim.lr_scheduler.ExponentialLR.html 3 | 4 | _target_: torch.optim.lr_scheduler.ExponentialLR 5 | 6 | optimizer: ??? 7 | gamma: ??? 8 | 9 | last_epoch: -1 10 | verbose: False -------------------------------------------------------------------------------- /configs/scheduler/lambda.yaml: -------------------------------------------------------------------------------- 1 | # @package scheduler 2 | # https://pytorch.org/docs/stable/generated/torch.optim.lr_scheduler.LambdaLR.html 3 | 4 | _target_: torch.optim.lr_scheduler.LambdaLR 5 | 6 | optimizer: ??? 7 | lr_lambda: ??? 8 | 9 | last_epoch: -1 10 | verbose: False -------------------------------------------------------------------------------- /configs/scheduler/multi_step.yaml: -------------------------------------------------------------------------------- 1 | # @package scheduler 2 | # https://pytorch.org/docs/stable/generated/torch.optim.lr_scheduler.MultiStepLR.html 3 | 4 | _target_: torch.optim.lr_scheduler.MultiStepLR 5 | 6 | optimizer: ??? 7 | milestones: ??? 8 | 9 | gamma: 0.1 10 | last_epoch: -1 11 | verbose: False -------------------------------------------------------------------------------- /configs/scheduler/multipricative.yaml: -------------------------------------------------------------------------------- 1 | # @package scheduler 2 | # https://pytorch.org/docs/stable/generated/torch.optim.lr_scheduler.MultiplicativeLR.html 3 | 4 | _target_: torch.optim.lr_scheduler.MultiplicativeLR 5 | 6 | optimizer: ??? 7 | lr_lambda: ??? 8 | 9 | last_epoch: -1 10 | verbose: False -------------------------------------------------------------------------------- /configs/scheduler/oncyclic.yaml: -------------------------------------------------------------------------------- 1 | # @package scheduler 2 | # https://pytorch.org/docs/stable/generated/torch.optim.lr_scheduler.OneCycleLR.html 3 | 4 | _target_: torch.optim.lr_scheduler.OneCycleLR 5 | 6 | optimizer: ??? 7 | max_lr: ??? 8 | 9 | total_steps: 10 | epochs: 11 | steps_per_epoch: 12 | pct_start: 0.3 13 | anneal_strategy: cos 14 | cycle_momentum: True 15 | base_momentum: 0.85 16 | max_momentum: 0.95 17 | div_factor: 25.0 18 | final_div_factor: 10000.0 19 | three_phase: False 20 | last_epoch: -1 21 | verbose: False -------------------------------------------------------------------------------- /configs/scheduler/plateau.yaml: -------------------------------------------------------------------------------- 1 | # @package scheduler 2 | # https://pytorch.org/docs/stable/generated/torch.optim.lr_scheduler.ReduceLROnPlateau.html 3 | 4 | _target_: torch.optim.lr_scheduler.ReduceLROnPlateau 5 | 6 | optimizer: ??? 7 | 8 | mode: min 9 | factor: 0.1 10 | patience: 10 11 | threshold: 0.0001 12 | threshold_mode: rel 13 | cooldown: 0 14 | min_lr: 0 15 | eps: 1e-08 16 | verbose: False -------------------------------------------------------------------------------- /configs/scheduler/step.yaml: -------------------------------------------------------------------------------- 1 | # @package scheduler 2 | # https://pytorch.org/docs/stable/generated/torch.optim.lr_scheduler.StepLR.html 3 | 4 | _target_: torch.optim.lr_scheduler.StepLR 5 | 6 | optimizer: ??? 7 | step_size: 3 8 | 9 | gamma: 0.1 10 | last_epoch: -1 11 | verbose: False -------------------------------------------------------------------------------- /configs/trainer/default.yaml: -------------------------------------------------------------------------------- 1 | # @package trainer 2 | _target_: pytorch_lightning.Trainer 3 | 4 | # default parameters of `pytorch_lightning.Trainer` 5 | logger: True 6 | checkpoint_callback: False # default: True 7 | callbacks: 8 | default_root_dir: 9 | gradient_clip_val: 0.0 10 | gradient_clip_algorithm: norm 11 | process_position: 0 12 | num_nodes: 1 13 | num_processes: 1 14 | gpus: ${gpus} 15 | auto_select_gpus: False 16 | tpu_cores: 17 | log_gpu_memory: 18 | progress_bar_refresh_rate: 19 | overfit_batches: 0.0 20 | track_grad_norm: -1 21 | check_val_every_n_epoch: 1 22 | fast_dev_run: False 23 | accumulate_grad_batches: 1 24 | max_epochs: ${epochs} 25 | min_epochs: 26 | max_steps: 27 | min_steps: 28 | max_time: 29 | limit_train_batches: 1.0 30 | limit_val_batches: 1.0 31 | limit_test_batches: 1.0 32 | limit_predict_batches: 1.0 33 | val_check_interval: 1.0 34 | flush_logs_every_n_steps: 100 35 | log_every_n_steps: 50 36 | accelerator: 37 | sync_batchnorm: False 38 | precision: 32 39 | weights_summary: top 40 | weights_save_path: 41 | num_sanity_val_steps: 2 42 | truncated_bptt_steps: 43 | resume_from_checkpoint: 44 | profiler: 45 | benchmark: False 46 | deterministic: False 47 | reload_dataloaders_every_epoch: False 48 | auto_lr_find: False 49 | replace_sampler_ddp: True 50 | terminate_on_nan: False 51 | auto_scale_batch_size: False 52 | prepare_data_per_node: True 53 | plugins: 54 | amp_backend: native 55 | amp_level: O2 56 | distributed_backend: 57 | move_metrics_to_cpu: False 58 | multiple_trainloader_mode: max_size_cycle 59 | stochastic_weight_avg: False -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import hydra 2 | from omegaconf import DictConfig 3 | from src.experiment import Experiment 4 | 5 | 6 | @hydra.main(config_path="configs/", config_name="config.yaml") 7 | def main(config: DictConfig) -> None: 8 | exp = Experiment(config) 9 | exp.run() 10 | 11 | 12 | if __name__ == "__main__": 13 | main() 14 | -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "absl-py" 3 | version = "0.13.0" 4 | description = "Abseil Python Common Libraries, see https://github.com/abseil/abseil-py." 5 | category = "main" 6 | optional = false 7 | python-versions = "*" 8 | 9 | [package.dependencies] 10 | six = "*" 11 | 12 | [[package]] 13 | name = "aiohttp" 14 | version = "3.7.4.post0" 15 | description = "Async http client/server framework (asyncio)" 16 | category = "main" 17 | optional = false 18 | python-versions = ">=3.6" 19 | 20 | [package.dependencies] 21 | async-timeout = ">=3.0,<4.0" 22 | attrs = ">=17.3.0" 23 | chardet = ">=2.0,<5.0" 24 | multidict = ">=4.5,<7.0" 25 | typing-extensions = ">=3.6.5" 26 | yarl = ">=1.0,<2.0" 27 | 28 | [package.extras] 29 | speedups = ["aiodns", "brotlipy", "cchardet"] 30 | 31 | [[package]] 32 | name = "alembic" 33 | version = "1.4.1" 34 | description = "A database migration tool for SQLAlchemy." 35 | category = "main" 36 | optional = false 37 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 38 | 39 | [package.dependencies] 40 | Mako = "*" 41 | python-dateutil = "*" 42 | python-editor = ">=0.3" 43 | SQLAlchemy = ">=1.1.0" 44 | 45 | [[package]] 46 | name = "antlr4-python3-runtime" 47 | version = "4.8" 48 | description = "ANTLR 4.8 runtime for Python 3.7" 49 | category = "main" 50 | optional = false 51 | python-versions = "*" 52 | 53 | [[package]] 54 | name = "appdirs" 55 | version = "1.4.4" 56 | description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." 57 | category = "dev" 58 | optional = false 59 | python-versions = "*" 60 | 61 | [[package]] 62 | name = "async-timeout" 63 | version = "3.0.1" 64 | description = "Timeout context manager for asyncio programs" 65 | category = "main" 66 | optional = false 67 | python-versions = ">=3.5.3" 68 | 69 | [[package]] 70 | name = "atomicwrites" 71 | version = "1.4.0" 72 | description = "Atomic file writes." 73 | category = "dev" 74 | optional = false 75 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 76 | 77 | [[package]] 78 | name = "attrs" 79 | version = "21.2.0" 80 | description = "Classes Without Boilerplate" 81 | category = "main" 82 | optional = false 83 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 84 | 85 | [package.extras] 86 | dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"] 87 | docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] 88 | tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"] 89 | tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"] 90 | 91 | [[package]] 92 | name = "black" 93 | version = "20.8b1" 94 | description = "The uncompromising code formatter." 95 | category = "dev" 96 | optional = false 97 | python-versions = ">=3.6" 98 | 99 | [package.dependencies] 100 | appdirs = "*" 101 | click = ">=7.1.2" 102 | mypy-extensions = ">=0.4.3" 103 | pathspec = ">=0.6,<1" 104 | regex = ">=2020.1.8" 105 | toml = ">=0.10.1" 106 | typed-ast = ">=1.4.0" 107 | typing-extensions = ">=3.7.4" 108 | 109 | [package.extras] 110 | colorama = ["colorama (>=0.4.3)"] 111 | d = ["aiohttp (>=3.3.2)", "aiohttp-cors"] 112 | 113 | [[package]] 114 | name = "cachetools" 115 | version = "4.2.2" 116 | description = "Extensible memoizing collections and decorators" 117 | category = "main" 118 | optional = false 119 | python-versions = "~=3.5" 120 | 121 | [[package]] 122 | name = "certifi" 123 | version = "2021.5.30" 124 | description = "Python package for providing Mozilla's CA Bundle." 125 | category = "main" 126 | optional = false 127 | python-versions = "*" 128 | 129 | [[package]] 130 | name = "chardet" 131 | version = "4.0.0" 132 | description = "Universal encoding detector for Python 2 and 3" 133 | category = "main" 134 | optional = false 135 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 136 | 137 | [[package]] 138 | name = "charset-normalizer" 139 | version = "2.0.3" 140 | description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." 141 | category = "main" 142 | optional = false 143 | python-versions = ">=3.5.0" 144 | 145 | [package.extras] 146 | unicode_backport = ["unicodedata2"] 147 | 148 | [[package]] 149 | name = "click" 150 | version = "8.0.1" 151 | description = "Composable command line interface toolkit" 152 | category = "main" 153 | optional = false 154 | python-versions = ">=3.6" 155 | 156 | [package.dependencies] 157 | colorama = {version = "*", markers = "platform_system == \"Windows\""} 158 | importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} 159 | 160 | [[package]] 161 | name = "cloudpickle" 162 | version = "1.6.0" 163 | description = "Extended pickling support for Python objects" 164 | category = "main" 165 | optional = false 166 | python-versions = ">=3.5" 167 | 168 | [[package]] 169 | name = "colorama" 170 | version = "0.4.4" 171 | description = "Cross-platform colored terminal text." 172 | category = "main" 173 | optional = false 174 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 175 | 176 | [[package]] 177 | name = "colorlog" 178 | version = "4.8.0" 179 | description = "Log formatting with colors!" 180 | category = "main" 181 | optional = false 182 | python-versions = "*" 183 | 184 | [package.dependencies] 185 | colorama = {version = "*", markers = "sys_platform == \"win32\""} 186 | 187 | [[package]] 188 | name = "dacite" 189 | version = "1.6.0" 190 | description = "Simple creation of data classes from dictionaries." 191 | category = "dev" 192 | optional = false 193 | python-versions = ">=3.6" 194 | 195 | [package.extras] 196 | dev = ["pytest (>=5)", "pytest-cov", "coveralls", "black", "mypy", "pylint"] 197 | 198 | [[package]] 199 | name = "databricks-cli" 200 | version = "0.14.3" 201 | description = "A command line interface for Databricks" 202 | category = "main" 203 | optional = false 204 | python-versions = "*" 205 | 206 | [package.dependencies] 207 | click = ">=6.7" 208 | requests = ">=2.17.3" 209 | six = ">=1.10.0" 210 | tabulate = ">=0.7.7" 211 | 212 | [[package]] 213 | name = "docker" 214 | version = "5.0.0" 215 | description = "A Python library for the Docker Engine API." 216 | category = "main" 217 | optional = false 218 | python-versions = ">=3.6" 219 | 220 | [package.dependencies] 221 | pywin32 = {version = "227", markers = "sys_platform == \"win32\""} 222 | requests = ">=2.14.2,<2.18.0 || >2.18.0" 223 | websocket-client = ">=0.32.0" 224 | 225 | [package.extras] 226 | ssh = ["paramiko (>=2.4.2)"] 227 | tls = ["pyOpenSSL (>=17.5.0)", "cryptography (>=3.4.7)", "idna (>=2.0.0)"] 228 | 229 | [[package]] 230 | name = "entrypoints" 231 | version = "0.3" 232 | description = "Discover and load entry points from installed packages." 233 | category = "main" 234 | optional = false 235 | python-versions = ">=2.7" 236 | 237 | [[package]] 238 | name = "flake8" 239 | version = "3.9.2" 240 | description = "the modular source code checker: pep8 pyflakes and co" 241 | category = "dev" 242 | optional = false 243 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" 244 | 245 | [package.dependencies] 246 | importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} 247 | mccabe = ">=0.6.0,<0.7.0" 248 | pycodestyle = ">=2.7.0,<2.8.0" 249 | pyflakes = ">=2.3.0,<2.4.0" 250 | 251 | [[package]] 252 | name = "flake8-bugbear" 253 | version = "21.4.3" 254 | description = "A plugin for flake8 finding likely bugs and design problems in your program. Contains warnings that don't belong in pyflakes and pycodestyle." 255 | category = "dev" 256 | optional = false 257 | python-versions = ">=3.6" 258 | 259 | [package.dependencies] 260 | attrs = ">=19.2.0" 261 | flake8 = ">=3.0.0" 262 | 263 | [package.extras] 264 | dev = ["coverage", "black", "hypothesis", "hypothesmith"] 265 | 266 | [[package]] 267 | name = "flask" 268 | version = "2.0.1" 269 | description = "A simple framework for building complex web applications." 270 | category = "main" 271 | optional = false 272 | python-versions = ">=3.6" 273 | 274 | [package.dependencies] 275 | click = ">=7.1.2" 276 | itsdangerous = ">=2.0" 277 | Jinja2 = ">=3.0" 278 | Werkzeug = ">=2.0" 279 | 280 | [package.extras] 281 | async = ["asgiref (>=3.2)"] 282 | dotenv = ["python-dotenv"] 283 | 284 | [[package]] 285 | name = "fsspec" 286 | version = "2021.7.0" 287 | description = "File-system specification" 288 | category = "main" 289 | optional = false 290 | python-versions = ">=3.6" 291 | 292 | [package.dependencies] 293 | aiohttp = {version = "*", optional = true, markers = "extra == \"http\""} 294 | requests = {version = "*", optional = true, markers = "extra == \"http\""} 295 | 296 | [package.extras] 297 | abfs = ["adlfs"] 298 | adl = ["adlfs"] 299 | dask = ["dask", "distributed"] 300 | dropbox = ["dropboxdrivefs", "requests", "dropbox"] 301 | entrypoints = ["importlib-metadata"] 302 | gcs = ["gcsfs"] 303 | git = ["pygit2"] 304 | github = ["requests"] 305 | gs = ["gcsfs"] 306 | hdfs = ["pyarrow (>=1)"] 307 | http = ["requests", "aiohttp"] 308 | s3 = ["s3fs"] 309 | sftp = ["paramiko"] 310 | smb = ["smbprotocol"] 311 | ssh = ["paramiko"] 312 | 313 | [[package]] 314 | name = "future" 315 | version = "0.18.2" 316 | description = "Clean single-source support for Python 3 and 2" 317 | category = "main" 318 | optional = false 319 | python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" 320 | 321 | [[package]] 322 | name = "gitdb" 323 | version = "4.0.7" 324 | description = "Git Object Database" 325 | category = "main" 326 | optional = false 327 | python-versions = ">=3.4" 328 | 329 | [package.dependencies] 330 | smmap = ">=3.0.1,<5" 331 | 332 | [[package]] 333 | name = "gitpython" 334 | version = "3.1.19" 335 | description = "Python Git Library" 336 | category = "main" 337 | optional = false 338 | python-versions = ">=3.6" 339 | 340 | [package.dependencies] 341 | gitdb = ">=4.0.1,<5" 342 | typing-extensions = {version = ">=3.7.4.3", markers = "python_version < \"3.10\""} 343 | 344 | [[package]] 345 | name = "google-auth" 346 | version = "1.33.1" 347 | description = "Google Authentication Library" 348 | category = "main" 349 | optional = false 350 | python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" 351 | 352 | [package.dependencies] 353 | cachetools = ">=2.0.0,<5.0" 354 | pyasn1-modules = ">=0.2.1" 355 | rsa = {version = ">=3.1.4,<5", markers = "python_version >= \"3.6\""} 356 | six = ">=1.9.0" 357 | 358 | [package.extras] 359 | aiohttp = ["requests (>=2.20.0,<3.0.0dev)", "aiohttp (>=3.6.2,<4.0.0dev)"] 360 | pyopenssl = ["pyopenssl (>=20.0.0)"] 361 | reauth = ["pyu2f (>=0.1.5)"] 362 | 363 | [[package]] 364 | name = "google-auth-oauthlib" 365 | version = "0.4.4" 366 | description = "Google Authentication Library" 367 | category = "main" 368 | optional = false 369 | python-versions = ">=3.6" 370 | 371 | [package.dependencies] 372 | google-auth = ">=1.0.0" 373 | requests-oauthlib = ">=0.7.0" 374 | 375 | [package.extras] 376 | tool = ["click (>=6.0.0)"] 377 | 378 | [[package]] 379 | name = "greenlet" 380 | version = "1.1.0" 381 | description = "Lightweight in-process concurrent programming" 382 | category = "main" 383 | optional = false 384 | python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" 385 | 386 | [package.extras] 387 | docs = ["sphinx"] 388 | 389 | [[package]] 390 | name = "grpcio" 391 | version = "1.39.0" 392 | description = "HTTP/2-based RPC framework" 393 | category = "main" 394 | optional = false 395 | python-versions = "*" 396 | 397 | [package.dependencies] 398 | six = ">=1.5.2" 399 | 400 | [package.extras] 401 | protobuf = ["grpcio-tools (>=1.39.0)"] 402 | 403 | [[package]] 404 | name = "gunicorn" 405 | version = "20.1.0" 406 | description = "WSGI HTTP Server for UNIX" 407 | category = "main" 408 | optional = false 409 | python-versions = ">=3.5" 410 | 411 | [package.extras] 412 | eventlet = ["eventlet (>=0.24.1)"] 413 | gevent = ["gevent (>=1.4.0)"] 414 | setproctitle = ["setproctitle"] 415 | tornado = ["tornado (>=0.2)"] 416 | 417 | [[package]] 418 | name = "hydra-colorlog" 419 | version = "1.1.0" 420 | description = "Enables colorlog for Hydra apps" 421 | category = "main" 422 | optional = false 423 | python-versions = "*" 424 | 425 | [package.dependencies] 426 | colorlog = "*" 427 | hydra-core = ">=1.0.0" 428 | 429 | [[package]] 430 | name = "hydra-core" 431 | version = "1.1.0" 432 | description = "A framework for elegantly configuring complex applications" 433 | category = "main" 434 | optional = false 435 | python-versions = "*" 436 | 437 | [package.dependencies] 438 | antlr4-python3-runtime = "4.8" 439 | importlib-resources = {version = "*", markers = "python_version < \"3.9\""} 440 | omegaconf = ">=2.1.0,<2.2.0" 441 | 442 | [[package]] 443 | name = "idna" 444 | version = "3.2" 445 | description = "Internationalized Domain Names in Applications (IDNA)" 446 | category = "main" 447 | optional = false 448 | python-versions = ">=3.5" 449 | 450 | [[package]] 451 | name = "importlib-metadata" 452 | version = "4.6.1" 453 | description = "Read metadata from Python packages" 454 | category = "main" 455 | optional = false 456 | python-versions = ">=3.6" 457 | 458 | [package.dependencies] 459 | typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} 460 | zipp = ">=0.5" 461 | 462 | [package.extras] 463 | docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] 464 | perf = ["ipython"] 465 | testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] 466 | 467 | [[package]] 468 | name = "importlib-resources" 469 | version = "5.2.0" 470 | description = "Read resources from Python packages" 471 | category = "main" 472 | optional = false 473 | python-versions = ">=3.6" 474 | 475 | [package.dependencies] 476 | zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} 477 | 478 | [package.extras] 479 | docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] 480 | testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-black (>=0.3.7)", "pytest-mypy"] 481 | 482 | [[package]] 483 | name = "isort" 484 | version = "5.1.4" 485 | description = "A Python utility / library to sort Python imports." 486 | category = "dev" 487 | optional = false 488 | python-versions = ">=3.6,<4.0" 489 | 490 | [package.extras] 491 | pipfile_deprecated_finder = ["pipreqs", "requirementslib", "tomlkit (>=0.5.3)"] 492 | requirements_deprecated_finder = ["pipreqs", "pip-api"] 493 | 494 | [[package]] 495 | name = "itsdangerous" 496 | version = "2.0.1" 497 | description = "Safely pass data to untrusted environments and back." 498 | category = "main" 499 | optional = false 500 | python-versions = ">=3.6" 501 | 502 | [[package]] 503 | name = "jinja2" 504 | version = "3.0.1" 505 | description = "A very fast and expressive template engine." 506 | category = "main" 507 | optional = false 508 | python-versions = ">=3.6" 509 | 510 | [package.dependencies] 511 | MarkupSafe = ">=2.0" 512 | 513 | [package.extras] 514 | i18n = ["Babel (>=2.7)"] 515 | 516 | [[package]] 517 | name = "mako" 518 | version = "1.1.4" 519 | description = "A super-fast templating language that borrows the best ideas from the existing templating languages." 520 | category = "main" 521 | optional = false 522 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 523 | 524 | [package.dependencies] 525 | MarkupSafe = ">=0.9.2" 526 | 527 | [package.extras] 528 | babel = ["babel"] 529 | lingua = ["lingua"] 530 | 531 | [[package]] 532 | name = "markdown" 533 | version = "3.3.4" 534 | description = "Python implementation of Markdown." 535 | category = "main" 536 | optional = false 537 | python-versions = ">=3.6" 538 | 539 | [package.dependencies] 540 | importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} 541 | 542 | [package.extras] 543 | testing = ["coverage", "pyyaml"] 544 | 545 | [[package]] 546 | name = "markupsafe" 547 | version = "2.0.1" 548 | description = "Safely add untrusted strings to HTML/XML markup." 549 | category = "main" 550 | optional = false 551 | python-versions = ">=3.6" 552 | 553 | [[package]] 554 | name = "mccabe" 555 | version = "0.6.1" 556 | description = "McCabe checker, plugin for flake8" 557 | category = "dev" 558 | optional = false 559 | python-versions = "*" 560 | 561 | [[package]] 562 | name = "mlflow" 563 | version = "1.19.0" 564 | description = "MLflow: A Platform for ML Development and Productionization" 565 | category = "main" 566 | optional = false 567 | python-versions = ">=3.6" 568 | 569 | [package.dependencies] 570 | alembic = "<=1.4.1" 571 | click = ">=7.0" 572 | cloudpickle = "*" 573 | databricks-cli = ">=0.8.7" 574 | docker = ">=4.0.0" 575 | entrypoints = "*" 576 | Flask = "*" 577 | gitpython = ">=2.1.0" 578 | gunicorn = {version = "*", markers = "platform_system != \"Windows\""} 579 | numpy = "*" 580 | packaging = "*" 581 | pandas = "*" 582 | prometheus-flask-exporter = "*" 583 | protobuf = ">=3.7.0" 584 | pytz = "*" 585 | pyyaml = ">=5.1" 586 | querystring-parser = "*" 587 | requests = ">=2.17.3" 588 | sqlalchemy = "*" 589 | sqlparse = ">=0.3.1" 590 | waitress = {version = "*", markers = "platform_system == \"Windows\""} 591 | 592 | [package.extras] 593 | aliyun_oss = ["aliyunstoreplugin"] 594 | extras = ["scikit-learn", "pyarrow", "boto3", "mleap", "google-cloud-storage", "azureml-core (>=1.2.0)", "pysftp", "kubernetes"] 595 | sqlserver = ["mlflow-dbstore"] 596 | 597 | [[package]] 598 | name = "more-itertools" 599 | version = "8.8.0" 600 | description = "More routines for operating on iterables, beyond itertools" 601 | category = "dev" 602 | optional = false 603 | python-versions = ">=3.5" 604 | 605 | [[package]] 606 | name = "multidict" 607 | version = "5.1.0" 608 | description = "multidict implementation" 609 | category = "main" 610 | optional = false 611 | python-versions = ">=3.6" 612 | 613 | [[package]] 614 | name = "mypy" 615 | version = "0.790" 616 | description = "Optional static typing for Python" 617 | category = "dev" 618 | optional = false 619 | python-versions = ">=3.5" 620 | 621 | [package.dependencies] 622 | mypy-extensions = ">=0.4.3,<0.5.0" 623 | typed-ast = ">=1.4.0,<1.5.0" 624 | typing-extensions = ">=3.7.4" 625 | 626 | [package.extras] 627 | dmypy = ["psutil (>=4.0)"] 628 | 629 | [[package]] 630 | name = "mypy-extensions" 631 | version = "0.4.3" 632 | description = "Experimental type system extensions for programs checked with the mypy typechecker." 633 | category = "dev" 634 | optional = false 635 | python-versions = "*" 636 | 637 | [[package]] 638 | name = "numpy" 639 | version = "1.21.1" 640 | description = "NumPy is the fundamental package for array computing with Python." 641 | category = "main" 642 | optional = false 643 | python-versions = ">=3.7" 644 | 645 | [[package]] 646 | name = "oauthlib" 647 | version = "3.1.1" 648 | description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" 649 | category = "main" 650 | optional = false 651 | python-versions = ">=3.6" 652 | 653 | [package.extras] 654 | rsa = ["cryptography (>=3.0.0,<4)"] 655 | signals = ["blinker (>=1.4.0)"] 656 | signedtoken = ["cryptography (>=3.0.0,<4)", "pyjwt (>=2.0.0,<3)"] 657 | 658 | [[package]] 659 | name = "omegaconf" 660 | version = "2.1.0" 661 | description = "A flexible configuration library" 662 | category = "main" 663 | optional = false 664 | python-versions = ">=3.6" 665 | 666 | [package.dependencies] 667 | antlr4-python3-runtime = "4.8" 668 | PyYAML = ">=5.1" 669 | 670 | [[package]] 671 | name = "packaging" 672 | version = "21.0" 673 | description = "Core utilities for Python packages" 674 | category = "main" 675 | optional = false 676 | python-versions = ">=3.6" 677 | 678 | [package.dependencies] 679 | pyparsing = ">=2.0.2" 680 | 681 | [[package]] 682 | name = "pandas" 683 | version = "1.1.5" 684 | description = "Powerful data structures for data analysis, time series, and statistics" 685 | category = "main" 686 | optional = false 687 | python-versions = ">=3.6.1" 688 | 689 | [package.dependencies] 690 | numpy = ">=1.15.4" 691 | python-dateutil = ">=2.7.3" 692 | pytz = ">=2017.2" 693 | 694 | [package.extras] 695 | test = ["pytest (>=4.0.2)", "pytest-xdist", "hypothesis (>=3.58)"] 696 | 697 | [[package]] 698 | name = "pathspec" 699 | version = "0.9.0" 700 | description = "Utility library for gitignore style pattern matching of file paths." 701 | category = "dev" 702 | optional = false 703 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" 704 | 705 | [[package]] 706 | name = "pillow" 707 | version = "8.3.1" 708 | description = "Python Imaging Library (Fork)" 709 | category = "main" 710 | optional = false 711 | python-versions = ">=3.6" 712 | 713 | [[package]] 714 | name = "pluggy" 715 | version = "0.13.1" 716 | description = "plugin and hook calling mechanisms for python" 717 | category = "dev" 718 | optional = false 719 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 720 | 721 | [package.dependencies] 722 | importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} 723 | 724 | [package.extras] 725 | dev = ["pre-commit", "tox"] 726 | 727 | [[package]] 728 | name = "prometheus-client" 729 | version = "0.11.0" 730 | description = "Python client for the Prometheus monitoring system." 731 | category = "main" 732 | optional = false 733 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 734 | 735 | [package.extras] 736 | twisted = ["twisted"] 737 | 738 | [[package]] 739 | name = "prometheus-flask-exporter" 740 | version = "0.18.2" 741 | description = "Prometheus metrics exporter for Flask" 742 | category = "main" 743 | optional = false 744 | python-versions = "*" 745 | 746 | [package.dependencies] 747 | flask = "*" 748 | prometheus_client = "*" 749 | 750 | [[package]] 751 | name = "protobuf" 752 | version = "3.17.3" 753 | description = "Protocol Buffers" 754 | category = "main" 755 | optional = false 756 | python-versions = "*" 757 | 758 | [package.dependencies] 759 | six = ">=1.9" 760 | 761 | [[package]] 762 | name = "py" 763 | version = "1.10.0" 764 | description = "library with cross-python path, ini-parsing, io, code, log facilities" 765 | category = "dev" 766 | optional = false 767 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 768 | 769 | [[package]] 770 | name = "pyasn1" 771 | version = "0.4.8" 772 | description = "ASN.1 types and codecs" 773 | category = "main" 774 | optional = false 775 | python-versions = "*" 776 | 777 | [[package]] 778 | name = "pyasn1-modules" 779 | version = "0.2.8" 780 | description = "A collection of ASN.1-based protocols modules." 781 | category = "main" 782 | optional = false 783 | python-versions = "*" 784 | 785 | [package.dependencies] 786 | pyasn1 = ">=0.4.6,<0.5.0" 787 | 788 | [[package]] 789 | name = "pycodestyle" 790 | version = "2.7.0" 791 | description = "Python style guide checker" 792 | category = "dev" 793 | optional = false 794 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 795 | 796 | [[package]] 797 | name = "pydeprecate" 798 | version = "0.3.0" 799 | description = "Deprecation tooling" 800 | category = "main" 801 | optional = false 802 | python-versions = ">=3.6" 803 | 804 | [[package]] 805 | name = "pyflakes" 806 | version = "2.3.1" 807 | description = "passive checker of Python programs" 808 | category = "dev" 809 | optional = false 810 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 811 | 812 | [[package]] 813 | name = "pyparsing" 814 | version = "2.4.7" 815 | description = "Python parsing module" 816 | category = "main" 817 | optional = false 818 | python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" 819 | 820 | [[package]] 821 | name = "pysen" 822 | version = "0.9.1" 823 | description = "Python linting made easy. Also a casual yet honorific way to address individuals who have entered an organization prior to you." 824 | category = "dev" 825 | optional = false 826 | python-versions = "*" 827 | 828 | [package.dependencies] 829 | black = {version = ">=19.10b0,<=20.8", optional = true, markers = "extra == \"lint\""} 830 | colorlog = ">=4.0.0,<5.0.0" 831 | dacite = ">=1.1.0,<2.0.0" 832 | flake8 = {version = ">=3.7,<4", optional = true, markers = "extra == \"lint\""} 833 | flake8-bugbear = {version = "*", optional = true, markers = "extra == \"lint\""} 834 | GitPython = ">=3.0.0,<4.0.0" 835 | isort = {version = ">=4.3,<5.2.0", optional = true, markers = "extra == \"lint\""} 836 | mypy = {version = ">=0.770,<0.800", optional = true, markers = "extra == \"lint\""} 837 | tomlkit = ">=0.5.11,<1.0.0" 838 | unidiff = ">=0.6.0,<1.0.0" 839 | 840 | [package.extras] 841 | lint = ["black (>=19.10b0,<=20.8)", "flake8-bugbear", "flake8 (>=3.7,<4)", "isort (>=4.3,<5.2.0)", "mypy (>=0.770,<0.800)"] 842 | 843 | [[package]] 844 | name = "pytest" 845 | version = "5.4.3" 846 | description = "pytest: simple powerful testing with Python" 847 | category = "dev" 848 | optional = false 849 | python-versions = ">=3.5" 850 | 851 | [package.dependencies] 852 | atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} 853 | attrs = ">=17.4.0" 854 | colorama = {version = "*", markers = "sys_platform == \"win32\""} 855 | importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} 856 | more-itertools = ">=4.0.0" 857 | packaging = "*" 858 | pluggy = ">=0.12,<1.0" 859 | py = ">=1.5.0" 860 | wcwidth = "*" 861 | 862 | [package.extras] 863 | checkqa-mypy = ["mypy (==v0.761)"] 864 | testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] 865 | 866 | [[package]] 867 | name = "python-dateutil" 868 | version = "2.8.2" 869 | description = "Extensions to the standard Python datetime module" 870 | category = "main" 871 | optional = false 872 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" 873 | 874 | [package.dependencies] 875 | six = ">=1.5" 876 | 877 | [[package]] 878 | name = "python-editor" 879 | version = "1.0.4" 880 | description = "Programmatically open an editor, capture the result." 881 | category = "main" 882 | optional = false 883 | python-versions = "*" 884 | 885 | [[package]] 886 | name = "pytorch-lightning" 887 | version = "1.3.8" 888 | description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate." 889 | category = "main" 890 | optional = false 891 | python-versions = ">=3.6" 892 | 893 | [package.dependencies] 894 | fsspec = {version = ">=2021.05.0,<2021.06.0 || >2021.06.0", extras = ["http"]} 895 | future = ">=0.17.1" 896 | numpy = ">=1.17.2" 897 | packaging = ">=17.0" 898 | pillow = "!=8.3.0" 899 | pyDeprecate = "0.3.0" 900 | PyYAML = ">=5.1,<=5.4.1" 901 | tensorboard = ">=2.2.0,<2.5.0 || >2.5.0" 902 | torch = ">=1.4" 903 | torchmetrics = ">=0.2.0" 904 | tqdm = ">=4.41.0" 905 | 906 | [package.extras] 907 | all = ["matplotlib (>3.1)", "horovod (>=0.21.2)", "omegaconf (>=2.0.1)", "torchtext (>=0.5)", "onnxruntime (>=1.3.0)", "hydra-core (>=1.0)", "jsonargparse[signatures] (>=3.13.1)", "neptune-client (>=0.4.109)", "comet-ml (>=3.1.12)", "mlflow (>=1.0.0)", "test-tube (>=0.7.5)", "wandb (>=0.8.21)", "coverage (>5.2.0)", "codecov (>=2.1)", "pytest (>=6.0)", "flake8 (>=3.6)", "check-manifest", "twine (==3.2)", "isort (>=5.6.4)", "mypy (>=0.720,<0.800)", "pre-commit (>=1.0)", "cloudpickle (>=1.3)", "scikit-learn (>0.22.1)", "scikit-image (>0.17.1)", "nltk (>=3.3)", "pandas", "torchvision (>=0.5)", "gym (>=0.17.0)", "ipython"] 908 | cpu = ["matplotlib (>3.1)", "omegaconf (>=2.0.1)", "torchtext (>=0.5)", "onnxruntime (>=1.3.0)", "hydra-core (>=1.0)", "jsonargparse[signatures] (>=3.13.1)", "neptune-client (>=0.4.109)", "comet-ml (>=3.1.12)", "mlflow (>=1.0.0)", "test-tube (>=0.7.5)", "wandb (>=0.8.21)", "coverage (>5.2.0)", "codecov (>=2.1)", "pytest (>=6.0)", "flake8 (>=3.6)", "check-manifest", "twine (==3.2)", "isort (>=5.6.4)", "mypy (>=0.720,<0.800)", "pre-commit (>=1.0)", "cloudpickle (>=1.3)", "scikit-learn (>0.22.1)", "scikit-image (>0.17.1)", "nltk (>=3.3)", "pandas", "torchvision (>=0.5)", "gym (>=0.17.0)", "ipython"] 909 | cpu-extra = ["matplotlib (>3.1)", "omegaconf (>=2.0.1)", "torchtext (>=0.5)", "onnxruntime (>=1.3.0)", "hydra-core (>=1.0)", "jsonargparse[signatures] (>=3.13.1)"] 910 | dev = ["matplotlib (>3.1)", "horovod (>=0.21.2)", "omegaconf (>=2.0.1)", "torchtext (>=0.5)", "onnxruntime (>=1.3.0)", "hydra-core (>=1.0)", "jsonargparse[signatures] (>=3.13.1)", "neptune-client (>=0.4.109)", "comet-ml (>=3.1.12)", "mlflow (>=1.0.0)", "test-tube (>=0.7.5)", "wandb (>=0.8.21)", "coverage (>5.2.0)", "codecov (>=2.1)", "pytest (>=6.0)", "flake8 (>=3.6)", "check-manifest", "twine (==3.2)", "isort (>=5.6.4)", "mypy (>=0.720,<0.800)", "pre-commit (>=1.0)", "cloudpickle (>=1.3)", "scikit-learn (>0.22.1)", "scikit-image (>0.17.1)", "nltk (>=3.3)", "pandas"] 911 | examples = ["torchvision (>=0.5)", "gym (>=0.17.0)", "ipython"] 912 | extra = ["matplotlib (>3.1)", "horovod (>=0.21.2)", "omegaconf (>=2.0.1)", "torchtext (>=0.5)", "onnxruntime (>=1.3.0)", "hydra-core (>=1.0)", "jsonargparse[signatures] (>=3.13.1)"] 913 | loggers = ["neptune-client (>=0.4.109)", "comet-ml (>=3.1.12)", "mlflow (>=1.0.0)", "test-tube (>=0.7.5)", "wandb (>=0.8.21)"] 914 | test = ["coverage (>5.2.0)", "codecov (>=2.1)", "pytest (>=6.0)", "flake8 (>=3.6)", "check-manifest", "twine (==3.2)", "isort (>=5.6.4)", "mypy (>=0.720,<0.800)", "pre-commit (>=1.0)", "cloudpickle (>=1.3)", "scikit-learn (>0.22.1)", "scikit-image (>0.17.1)", "nltk (>=3.3)", "pandas"] 915 | 916 | [[package]] 917 | name = "pytz" 918 | version = "2021.1" 919 | description = "World timezone definitions, modern and historical" 920 | category = "main" 921 | optional = false 922 | python-versions = "*" 923 | 924 | [[package]] 925 | name = "pywin32" 926 | version = "227" 927 | description = "Python for Window Extensions" 928 | category = "main" 929 | optional = false 930 | python-versions = "*" 931 | 932 | [[package]] 933 | name = "pyyaml" 934 | version = "5.4.1" 935 | description = "YAML parser and emitter for Python" 936 | category = "main" 937 | optional = false 938 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" 939 | 940 | [[package]] 941 | name = "querystring-parser" 942 | version = "1.2.4" 943 | description = "QueryString parser for Python/Django that correctly handles nested dictionaries" 944 | category = "main" 945 | optional = false 946 | python-versions = "*" 947 | 948 | [package.dependencies] 949 | six = "*" 950 | 951 | [[package]] 952 | name = "regex" 953 | version = "2021.7.6" 954 | description = "Alternative regular expression module, to replace re." 955 | category = "dev" 956 | optional = false 957 | python-versions = "*" 958 | 959 | [[package]] 960 | name = "requests" 961 | version = "2.26.0" 962 | description = "Python HTTP for Humans." 963 | category = "main" 964 | optional = false 965 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" 966 | 967 | [package.dependencies] 968 | certifi = ">=2017.4.17" 969 | charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""} 970 | idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""} 971 | urllib3 = ">=1.21.1,<1.27" 972 | 973 | [package.extras] 974 | socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] 975 | use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"] 976 | 977 | [[package]] 978 | name = "requests-oauthlib" 979 | version = "1.3.0" 980 | description = "OAuthlib authentication support for Requests." 981 | category = "main" 982 | optional = false 983 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 984 | 985 | [package.dependencies] 986 | oauthlib = ">=3.0.0" 987 | requests = ">=2.0.0" 988 | 989 | [package.extras] 990 | rsa = ["oauthlib[signedtoken] (>=3.0.0)"] 991 | 992 | [[package]] 993 | name = "rsa" 994 | version = "4.7.2" 995 | description = "Pure-Python RSA implementation" 996 | category = "main" 997 | optional = false 998 | python-versions = ">=3.5, <4" 999 | 1000 | [package.dependencies] 1001 | pyasn1 = ">=0.1.3" 1002 | 1003 | [[package]] 1004 | name = "six" 1005 | version = "1.16.0" 1006 | description = "Python 2 and 3 compatibility utilities" 1007 | category = "main" 1008 | optional = false 1009 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" 1010 | 1011 | [[package]] 1012 | name = "smmap" 1013 | version = "4.0.0" 1014 | description = "A pure Python implementation of a sliding window memory map manager" 1015 | category = "main" 1016 | optional = false 1017 | python-versions = ">=3.5" 1018 | 1019 | [[package]] 1020 | name = "sqlalchemy" 1021 | version = "1.4.22" 1022 | description = "Database Abstraction Library" 1023 | category = "main" 1024 | optional = false 1025 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" 1026 | 1027 | [package.dependencies] 1028 | greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\""} 1029 | importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} 1030 | 1031 | [package.extras] 1032 | aiomysql = ["greenlet (!=0.4.17)", "aiomysql"] 1033 | aiosqlite = ["greenlet (!=0.4.17)", "aiosqlite"] 1034 | asyncio = ["greenlet (!=0.4.17)"] 1035 | mariadb_connector = ["mariadb (>=1.0.1)"] 1036 | mssql = ["pyodbc"] 1037 | mssql_pymssql = ["pymssql"] 1038 | mssql_pyodbc = ["pyodbc"] 1039 | mypy = ["sqlalchemy2-stubs", "mypy (>=0.800)"] 1040 | mysql = ["mysqlclient (>=1.4.0,<2)", "mysqlclient (>=1.4.0)"] 1041 | mysql_connector = ["mysqlconnector"] 1042 | oracle = ["cx_oracle (>=7,<8)", "cx_oracle (>=7)"] 1043 | postgresql = ["psycopg2 (>=2.7)"] 1044 | postgresql_asyncpg = ["greenlet (!=0.4.17)", "asyncpg"] 1045 | postgresql_pg8000 = ["pg8000 (>=1.16.6)"] 1046 | postgresql_psycopg2binary = ["psycopg2-binary"] 1047 | postgresql_psycopg2cffi = ["psycopg2cffi"] 1048 | pymysql = ["pymysql (<1)", "pymysql"] 1049 | sqlcipher = ["sqlcipher3-binary"] 1050 | 1051 | [[package]] 1052 | name = "sqlparse" 1053 | version = "0.4.1" 1054 | description = "A non-validating SQL parser." 1055 | category = "main" 1056 | optional = false 1057 | python-versions = ">=3.5" 1058 | 1059 | [[package]] 1060 | name = "tabulate" 1061 | version = "0.8.9" 1062 | description = "Pretty-print tabular data" 1063 | category = "main" 1064 | optional = false 1065 | python-versions = "*" 1066 | 1067 | [package.extras] 1068 | widechars = ["wcwidth"] 1069 | 1070 | [[package]] 1071 | name = "tensorboard" 1072 | version = "2.4.1" 1073 | description = "TensorBoard lets you watch Tensors Flow" 1074 | category = "main" 1075 | optional = false 1076 | python-versions = ">= 2.7, != 3.0.*, != 3.1.*" 1077 | 1078 | [package.dependencies] 1079 | absl-py = ">=0.4" 1080 | google-auth = ">=1.6.3,<2" 1081 | google-auth-oauthlib = ">=0.4.1,<0.5" 1082 | grpcio = ">=1.24.3" 1083 | markdown = ">=2.6.8" 1084 | numpy = ">=1.12.0" 1085 | protobuf = ">=3.6.0" 1086 | requests = ">=2.21.0,<3" 1087 | six = ">=1.10.0" 1088 | tensorboard-plugin-wit = ">=1.6.0" 1089 | werkzeug = ">=0.11.15" 1090 | 1091 | [[package]] 1092 | name = "tensorboard-plugin-wit" 1093 | version = "1.8.0" 1094 | description = "What-If Tool TensorBoard plugin." 1095 | category = "main" 1096 | optional = false 1097 | python-versions = "*" 1098 | 1099 | [[package]] 1100 | name = "toml" 1101 | version = "0.10.2" 1102 | description = "Python Library for Tom's Obvious, Minimal Language" 1103 | category = "dev" 1104 | optional = false 1105 | python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" 1106 | 1107 | [[package]] 1108 | name = "tomlkit" 1109 | version = "0.7.2" 1110 | description = "Style preserving TOML library" 1111 | category = "dev" 1112 | optional = false 1113 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 1114 | 1115 | [[package]] 1116 | name = "torch" 1117 | version = "1.9.0+cu111" 1118 | description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" 1119 | category = "main" 1120 | optional = false 1121 | python-versions = ">=3.6.2" 1122 | 1123 | [package.dependencies] 1124 | typing-extensions = "*" 1125 | 1126 | [package.source] 1127 | type = "url" 1128 | url = "https://download.pytorch.org/whl/cu111/torch-1.9.0%2Bcu111-cp37-cp37m-linux_x86_64.whl" 1129 | [[package]] 1130 | name = "torchmetrics" 1131 | version = "0.4.1" 1132 | description = "PyTorch native Metrics" 1133 | category = "main" 1134 | optional = false 1135 | python-versions = ">=3.6" 1136 | 1137 | [package.dependencies] 1138 | numpy = ">=1.17.2" 1139 | packaging = "*" 1140 | torch = ">=1.3.1" 1141 | 1142 | [package.extras] 1143 | image = ["scipy", "torchvision", "torch-fidelity"] 1144 | 1145 | [[package]] 1146 | name = "tqdm" 1147 | version = "4.61.2" 1148 | description = "Fast, Extensible Progress Meter" 1149 | category = "main" 1150 | optional = false 1151 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" 1152 | 1153 | [package.dependencies] 1154 | colorama = {version = "*", markers = "platform_system == \"Windows\""} 1155 | 1156 | [package.extras] 1157 | dev = ["py-make (>=0.1.0)", "twine", "wheel"] 1158 | notebook = ["ipywidgets (>=6)"] 1159 | telegram = ["requests"] 1160 | 1161 | [[package]] 1162 | name = "typed-ast" 1163 | version = "1.4.3" 1164 | description = "a fork of Python 2 and 3 ast modules with type comment support" 1165 | category = "dev" 1166 | optional = false 1167 | python-versions = "*" 1168 | 1169 | [[package]] 1170 | name = "typing-extensions" 1171 | version = "3.10.0.0" 1172 | description = "Backported and Experimental Type Hints for Python 3.5+" 1173 | category = "main" 1174 | optional = false 1175 | python-versions = "*" 1176 | 1177 | [[package]] 1178 | name = "unidiff" 1179 | version = "0.6.0" 1180 | description = "Unified diff parsing/metadata extraction library." 1181 | category = "dev" 1182 | optional = false 1183 | python-versions = "*" 1184 | 1185 | [[package]] 1186 | name = "urllib3" 1187 | version = "1.26.6" 1188 | description = "HTTP library with thread-safe connection pooling, file post, and more." 1189 | category = "main" 1190 | optional = false 1191 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" 1192 | 1193 | [package.extras] 1194 | brotli = ["brotlipy (>=0.6.0)"] 1195 | secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] 1196 | socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] 1197 | 1198 | [[package]] 1199 | name = "waitress" 1200 | version = "2.0.0" 1201 | description = "Waitress WSGI server" 1202 | category = "main" 1203 | optional = false 1204 | python-versions = ">=3.6.0" 1205 | 1206 | [package.extras] 1207 | docs = ["Sphinx (>=1.8.1)", "docutils", "pylons-sphinx-themes (>=1.0.9)"] 1208 | testing = ["pytest", "pytest-cover", "coverage (>=5.0)"] 1209 | 1210 | [[package]] 1211 | name = "wcwidth" 1212 | version = "0.2.5" 1213 | description = "Measures the displayed width of unicode strings in a terminal" 1214 | category = "dev" 1215 | optional = false 1216 | python-versions = "*" 1217 | 1218 | [[package]] 1219 | name = "websocket-client" 1220 | version = "1.1.0" 1221 | description = "WebSocket client for Python with low level API options" 1222 | category = "main" 1223 | optional = false 1224 | python-versions = ">=3.6" 1225 | 1226 | [[package]] 1227 | name = "werkzeug" 1228 | version = "2.0.1" 1229 | description = "The comprehensive WSGI web application library." 1230 | category = "main" 1231 | optional = false 1232 | python-versions = ">=3.6" 1233 | 1234 | [package.extras] 1235 | watchdog = ["watchdog"] 1236 | 1237 | [[package]] 1238 | name = "yarl" 1239 | version = "1.6.3" 1240 | description = "Yet another URL library" 1241 | category = "main" 1242 | optional = false 1243 | python-versions = ">=3.6" 1244 | 1245 | [package.dependencies] 1246 | idna = ">=2.0" 1247 | multidict = ">=4.0" 1248 | typing-extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} 1249 | 1250 | [[package]] 1251 | name = "zipp" 1252 | version = "3.5.0" 1253 | description = "Backport of pathlib-compatible object wrapper for zip files" 1254 | category = "main" 1255 | optional = false 1256 | python-versions = ">=3.6" 1257 | 1258 | [package.extras] 1259 | docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] 1260 | testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] 1261 | 1262 | [metadata] 1263 | lock-version = "1.1" 1264 | python-versions = "^3.7" 1265 | content-hash = "5898abbfbb20c8e7201bf26fdddfd71fd3809378a77e79976595880a254ebf46" 1266 | 1267 | [metadata.files] 1268 | absl-py = [ 1269 | {file = "absl-py-0.13.0.tar.gz", hash = "sha256:6953272383486044699fd0e9f00aad167a27e08ce19aae66c6c4b10e7e767793"}, 1270 | {file = "absl_py-0.13.0-py3-none-any.whl", hash = "sha256:62bd4e248ddb19d81aec8f9446b407ff37c8175c2ba88266a7afa9b4ce4a333b"}, 1271 | ] 1272 | aiohttp = [ 1273 | {file = "aiohttp-3.7.4.post0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:3cf75f7cdc2397ed4442594b935a11ed5569961333d49b7539ea741be2cc79d5"}, 1274 | {file = "aiohttp-3.7.4.post0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:4b302b45040890cea949ad092479e01ba25911a15e648429c7c5aae9650c67a8"}, 1275 | {file = "aiohttp-3.7.4.post0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:fe60131d21b31fd1a14bd43e6bb88256f69dfc3188b3a89d736d6c71ed43ec95"}, 1276 | {file = "aiohttp-3.7.4.post0-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:393f389841e8f2dfc86f774ad22f00923fdee66d238af89b70ea314c4aefd290"}, 1277 | {file = "aiohttp-3.7.4.post0-cp36-cp36m-manylinux2014_ppc64le.whl", hash = "sha256:c6e9dcb4cb338d91a73f178d866d051efe7c62a7166653a91e7d9fb18274058f"}, 1278 | {file = "aiohttp-3.7.4.post0-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:5df68496d19f849921f05f14f31bd6ef53ad4b00245da3195048c69934521809"}, 1279 | {file = "aiohttp-3.7.4.post0-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:0563c1b3826945eecd62186f3f5c7d31abb7391fedc893b7e2b26303b5a9f3fe"}, 1280 | {file = "aiohttp-3.7.4.post0-cp36-cp36m-win32.whl", hash = "sha256:3d78619672183be860b96ed96f533046ec97ca067fd46ac1f6a09cd9b7484287"}, 1281 | {file = "aiohttp-3.7.4.post0-cp36-cp36m-win_amd64.whl", hash = "sha256:f705e12750171c0ab4ef2a3c76b9a4024a62c4103e3a55dd6f99265b9bc6fcfc"}, 1282 | {file = "aiohttp-3.7.4.post0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:230a8f7e24298dea47659251abc0fd8b3c4e38a664c59d4b89cca7f6c09c9e87"}, 1283 | {file = "aiohttp-3.7.4.post0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:2e19413bf84934d651344783c9f5e22dee452e251cfd220ebadbed2d9931dbf0"}, 1284 | {file = "aiohttp-3.7.4.post0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:e4b2b334e68b18ac9817d828ba44d8fcb391f6acb398bcc5062b14b2cbeac970"}, 1285 | {file = "aiohttp-3.7.4.post0-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:d012ad7911653a906425d8473a1465caa9f8dea7fcf07b6d870397b774ea7c0f"}, 1286 | {file = "aiohttp-3.7.4.post0-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:40eced07f07a9e60e825554a31f923e8d3997cfc7fb31dbc1328c70826e04cde"}, 1287 | {file = "aiohttp-3.7.4.post0-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:209b4a8ee987eccc91e2bd3ac36adee0e53a5970b8ac52c273f7f8fd4872c94c"}, 1288 | {file = "aiohttp-3.7.4.post0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:14762875b22d0055f05d12abc7f7d61d5fd4fe4642ce1a249abdf8c700bf1fd8"}, 1289 | {file = "aiohttp-3.7.4.post0-cp37-cp37m-win32.whl", hash = "sha256:7615dab56bb07bff74bc865307aeb89a8bfd9941d2ef9d817b9436da3a0ea54f"}, 1290 | {file = "aiohttp-3.7.4.post0-cp37-cp37m-win_amd64.whl", hash = "sha256:d9e13b33afd39ddeb377eff2c1c4f00544e191e1d1dee5b6c51ddee8ea6f0cf5"}, 1291 | {file = "aiohttp-3.7.4.post0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:547da6cacac20666422d4882cfcd51298d45f7ccb60a04ec27424d2f36ba3eaf"}, 1292 | {file = "aiohttp-3.7.4.post0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:af9aa9ef5ba1fd5b8c948bb11f44891968ab30356d65fd0cc6707d989cd521df"}, 1293 | {file = "aiohttp-3.7.4.post0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:64322071e046020e8797117b3658b9c2f80e3267daec409b350b6a7a05041213"}, 1294 | {file = "aiohttp-3.7.4.post0-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:bb437315738aa441251214dad17428cafda9cdc9729499f1d6001748e1d432f4"}, 1295 | {file = "aiohttp-3.7.4.post0-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:e54962802d4b8b18b6207d4a927032826af39395a3bd9196a5af43fc4e60b009"}, 1296 | {file = "aiohttp-3.7.4.post0-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:a00bb73540af068ca7390e636c01cbc4f644961896fa9363154ff43fd37af2f5"}, 1297 | {file = "aiohttp-3.7.4.post0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:79ebfc238612123a713a457d92afb4096e2148be17df6c50fb9bf7a81c2f8013"}, 1298 | {file = "aiohttp-3.7.4.post0-cp38-cp38-win32.whl", hash = "sha256:515dfef7f869a0feb2afee66b957cc7bbe9ad0cdee45aec7fdc623f4ecd4fb16"}, 1299 | {file = "aiohttp-3.7.4.post0-cp38-cp38-win_amd64.whl", hash = "sha256:114b281e4d68302a324dd33abb04778e8557d88947875cbf4e842c2c01a030c5"}, 1300 | {file = "aiohttp-3.7.4.post0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:7b18b97cf8ee5452fa5f4e3af95d01d84d86d32c5e2bfa260cf041749d66360b"}, 1301 | {file = "aiohttp-3.7.4.post0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:15492a6368d985b76a2a5fdd2166cddfea5d24e69eefed4630cbaae5c81d89bd"}, 1302 | {file = "aiohttp-3.7.4.post0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bdb230b4943891321e06fc7def63c7aace16095be7d9cf3b1e01be2f10fba439"}, 1303 | {file = "aiohttp-3.7.4.post0-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:cffe3ab27871bc3ea47df5d8f7013945712c46a3cc5a95b6bee15887f1675c22"}, 1304 | {file = "aiohttp-3.7.4.post0-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:f881853d2643a29e643609da57b96d5f9c9b93f62429dcc1cbb413c7d07f0e1a"}, 1305 | {file = "aiohttp-3.7.4.post0-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:a5ca29ee66f8343ed336816c553e82d6cade48a3ad702b9ffa6125d187e2dedb"}, 1306 | {file = "aiohttp-3.7.4.post0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:17c073de315745a1510393a96e680d20af8e67e324f70b42accbd4cb3315c9fb"}, 1307 | {file = "aiohttp-3.7.4.post0-cp39-cp39-win32.whl", hash = "sha256:932bb1ea39a54e9ea27fc9232163059a0b8855256f4052e776357ad9add6f1c9"}, 1308 | {file = "aiohttp-3.7.4.post0-cp39-cp39-win_amd64.whl", hash = "sha256:02f46fc0e3c5ac58b80d4d56eb0a7c7d97fcef69ace9326289fb9f1955e65cfe"}, 1309 | {file = "aiohttp-3.7.4.post0.tar.gz", hash = "sha256:493d3299ebe5f5a7c66b9819eacdcfbbaaf1a8e84911ddffcdc48888497afecf"}, 1310 | ] 1311 | alembic = [ 1312 | {file = "alembic-1.4.1.tar.gz", hash = "sha256:791a5686953c4b366d3228c5377196db2f534475bb38d26f70eb69668efd9028"}, 1313 | ] 1314 | antlr4-python3-runtime = [ 1315 | {file = "antlr4-python3-runtime-4.8.tar.gz", hash = "sha256:15793f5d0512a372b4e7d2284058ad32ce7dd27126b105fb0b2245130445db33"}, 1316 | ] 1317 | appdirs = [ 1318 | {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, 1319 | {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, 1320 | ] 1321 | async-timeout = [ 1322 | {file = "async-timeout-3.0.1.tar.gz", hash = "sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f"}, 1323 | {file = "async_timeout-3.0.1-py3-none-any.whl", hash = "sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3"}, 1324 | ] 1325 | atomicwrites = [ 1326 | {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, 1327 | {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, 1328 | ] 1329 | attrs = [ 1330 | {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"}, 1331 | {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"}, 1332 | ] 1333 | black = [ 1334 | {file = "black-20.8b1.tar.gz", hash = "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"}, 1335 | ] 1336 | cachetools = [ 1337 | {file = "cachetools-4.2.2-py3-none-any.whl", hash = "sha256:2cc0b89715337ab6dbba85b5b50effe2b0c74e035d83ee8ed637cf52f12ae001"}, 1338 | {file = "cachetools-4.2.2.tar.gz", hash = "sha256:61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff"}, 1339 | ] 1340 | certifi = [ 1341 | {file = "certifi-2021.5.30-py2.py3-none-any.whl", hash = "sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8"}, 1342 | {file = "certifi-2021.5.30.tar.gz", hash = "sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee"}, 1343 | ] 1344 | chardet = [ 1345 | {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"}, 1346 | {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"}, 1347 | ] 1348 | charset-normalizer = [ 1349 | {file = "charset-normalizer-2.0.3.tar.gz", hash = "sha256:c46c3ace2d744cfbdebceaa3c19ae691f53ae621b39fd7570f59d14fb7f2fd12"}, 1350 | {file = "charset_normalizer-2.0.3-py3-none-any.whl", hash = "sha256:88fce3fa5b1a84fdcb3f603d889f723d1dd89b26059d0123ca435570e848d5e1"}, 1351 | ] 1352 | click = [ 1353 | {file = "click-8.0.1-py3-none-any.whl", hash = "sha256:fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6"}, 1354 | {file = "click-8.0.1.tar.gz", hash = "sha256:8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a"}, 1355 | ] 1356 | cloudpickle = [ 1357 | {file = "cloudpickle-1.6.0-py3-none-any.whl", hash = "sha256:3a32d0eb0bc6f4d0c57fbc4f3e3780f7a81e6fee0fa935072884d58ae8e1cc7c"}, 1358 | {file = "cloudpickle-1.6.0.tar.gz", hash = "sha256:9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32"}, 1359 | ] 1360 | colorama = [ 1361 | {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, 1362 | {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, 1363 | ] 1364 | colorlog = [ 1365 | {file = "colorlog-4.8.0-py2.py3-none-any.whl", hash = "sha256:3dd15cb27e8119a24c1a7b5c93f9f3b455855e0f73993b1c25921b2f646f1dcd"}, 1366 | {file = "colorlog-4.8.0.tar.gz", hash = "sha256:59b53160c60902c405cdec28d38356e09d40686659048893e026ecbd589516b1"}, 1367 | ] 1368 | dacite = [ 1369 | {file = "dacite-1.6.0-py3-none-any.whl", hash = "sha256:4331535f7aabb505c732fa4c3c094313fc0a1d5ea19907bf4726a7819a68b93f"}, 1370 | {file = "dacite-1.6.0.tar.gz", hash = "sha256:d48125ed0a0352d3de9f493bf980038088f45f3f9d7498f090b50a847daaa6df"}, 1371 | ] 1372 | databricks-cli = [ 1373 | {file = "databricks-cli-0.14.3.tar.gz", hash = "sha256:bdf89a3917a3f8f8b99163e38d40e66dc478c7408954747f145cd09816b05e2c"}, 1374 | {file = "databricks_cli-0.14.3-py2-none-any.whl", hash = "sha256:2c628fd9963f30e51646fceab16d64310e4d1f149028117de077259ee383e3ea"}, 1375 | ] 1376 | docker = [ 1377 | {file = "docker-5.0.0-py2.py3-none-any.whl", hash = "sha256:fc961d622160e8021c10d1bcabc388c57d55fb1f917175afbe24af442e6879bd"}, 1378 | {file = "docker-5.0.0.tar.gz", hash = "sha256:3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5"}, 1379 | ] 1380 | entrypoints = [ 1381 | {file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"}, 1382 | {file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"}, 1383 | ] 1384 | flake8 = [ 1385 | {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, 1386 | {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, 1387 | ] 1388 | flake8-bugbear = [ 1389 | {file = "flake8-bugbear-21.4.3.tar.gz", hash = "sha256:2346c81f889955b39e4a368eb7d508de723d9de05716c287dc860a4073dc57e7"}, 1390 | {file = "flake8_bugbear-21.4.3-py36.py37.py38-none-any.whl", hash = "sha256:4f305dca96be62bf732a218fe6f1825472a621d3452c5b994d8f89dae21dbafa"}, 1391 | ] 1392 | flask = [ 1393 | {file = "Flask-2.0.1-py3-none-any.whl", hash = "sha256:a6209ca15eb63fc9385f38e452704113d679511d9574d09b2cf9183ae7d20dc9"}, 1394 | {file = "Flask-2.0.1.tar.gz", hash = "sha256:1c4c257b1892aec1398784c63791cbaa43062f1f7aeb555c4da961b20ee68f55"}, 1395 | ] 1396 | fsspec = [ 1397 | {file = "fsspec-2021.7.0-py3-none-any.whl", hash = "sha256:86822ccf367da99957f49db64f7d5fd3d8d21444fac4dfdc8ebc38ee93d478c6"}, 1398 | {file = "fsspec-2021.7.0.tar.gz", hash = "sha256:792ebd3b54de0b30f1ce73f0ba0a8bcc864724f2d9f248cb8d0ece47db0cbde8"}, 1399 | ] 1400 | future = [ 1401 | {file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"}, 1402 | ] 1403 | gitdb = [ 1404 | {file = "gitdb-4.0.7-py3-none-any.whl", hash = "sha256:6c4cc71933456991da20917998acbe6cf4fb41eeaab7d6d67fbc05ecd4c865b0"}, 1405 | {file = "gitdb-4.0.7.tar.gz", hash = "sha256:96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005"}, 1406 | ] 1407 | gitpython = [ 1408 | {file = "GitPython-3.1.19-py3-none-any.whl", hash = "sha256:17690588e36bd0cee21921ce621fad1e8be45a37afa486ff846fb8efcf53c34c"}, 1409 | {file = "GitPython-3.1.19.tar.gz", hash = "sha256:18f4039b96b5567bc4745eb851737ce456a2d499cecd71e84f5c0950e92d0e53"}, 1410 | ] 1411 | google-auth = [ 1412 | {file = "google-auth-1.33.1.tar.gz", hash = "sha256:7665c04f2df13cc938dc7d9066cddb1f8af62b038bc8b2306848c1b23121865f"}, 1413 | {file = "google_auth-1.33.1-py2.py3-none-any.whl", hash = "sha256:036dd68c1e8baa422b6b61619b8e02793da2e20f55e69514612de6c080468755"}, 1414 | ] 1415 | google-auth-oauthlib = [ 1416 | {file = "google-auth-oauthlib-0.4.4.tar.gz", hash = "sha256:09832c6e75032f93818edf1affe4746121d640c625a5bef9b5c96af676e98eee"}, 1417 | {file = "google_auth_oauthlib-0.4.4-py2.py3-none-any.whl", hash = "sha256:0e92aacacfb94978de3b7972cf4b0f204c3cd206f74ddd0dc0b31e91164e6317"}, 1418 | ] 1419 | greenlet = [ 1420 | {file = "greenlet-1.1.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:60848099b76467ef09b62b0f4512e7e6f0a2c977357a036de602b653667f5f4c"}, 1421 | {file = "greenlet-1.1.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:f42ad188466d946f1b3afc0a9e1a266ac8926461ee0786c06baac6bd71f8a6f3"}, 1422 | {file = "greenlet-1.1.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:76ed710b4e953fc31c663b079d317c18f40235ba2e3d55f70ff80794f7b57922"}, 1423 | {file = "greenlet-1.1.0-cp27-cp27m-win32.whl", hash = "sha256:b33b51ab057f8a20b497ffafdb1e79256db0c03ef4f5e3d52e7497200e11f821"}, 1424 | {file = "greenlet-1.1.0-cp27-cp27m-win_amd64.whl", hash = "sha256:ed1377feed808c9c1139bdb6a61bcbf030c236dd288d6fca71ac26906ab03ba6"}, 1425 | {file = "greenlet-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:da862b8f7de577bc421323714f63276acb2f759ab8c5e33335509f0b89e06b8f"}, 1426 | {file = "greenlet-1.1.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:5f75e7f237428755d00e7460239a2482fa7e3970db56c8935bd60da3f0733e56"}, 1427 | {file = "greenlet-1.1.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:258f9612aba0d06785143ee1cbf2d7361801c95489c0bd10c69d163ec5254a16"}, 1428 | {file = "greenlet-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d928e2e3c3906e0a29b43dc26d9b3d6e36921eee276786c4e7ad9ff5665c78a"}, 1429 | {file = "greenlet-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cc407b68e0a874e7ece60f6639df46309376882152345508be94da608cc0b831"}, 1430 | {file = "greenlet-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c557c809eeee215b87e8a7cbfb2d783fb5598a78342c29ade561440abae7d22"}, 1431 | {file = "greenlet-1.1.0-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:3d13da093d44dee7535b91049e44dd2b5540c2a0e15df168404d3dd2626e0ec5"}, 1432 | {file = "greenlet-1.1.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:b3090631fecdf7e983d183d0fad7ea72cfb12fa9212461a9b708ff7907ffff47"}, 1433 | {file = "greenlet-1.1.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:06ecb43b04480e6bafc45cb1b4b67c785e183ce12c079473359e04a709333b08"}, 1434 | {file = "greenlet-1.1.0-cp35-cp35m-win32.whl", hash = "sha256:944fbdd540712d5377a8795c840a97ff71e7f3221d3fddc98769a15a87b36131"}, 1435 | {file = "greenlet-1.1.0-cp35-cp35m-win_amd64.whl", hash = "sha256:c767458511a59f6f597bfb0032a1c82a52c29ae228c2c0a6865cfeaeaac4c5f5"}, 1436 | {file = "greenlet-1.1.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:2325123ff3a8ecc10ca76f062445efef13b6cf5a23389e2df3c02a4a527b89bc"}, 1437 | {file = "greenlet-1.1.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:598bcfd841e0b1d88e32e6a5ea48348a2c726461b05ff057c1b8692be9443c6e"}, 1438 | {file = "greenlet-1.1.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:be9768e56f92d1d7cd94185bab5856f3c5589a50d221c166cc2ad5eb134bd1dc"}, 1439 | {file = "greenlet-1.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfe7eac0d253915116ed0cd160a15a88981a1d194c1ef151e862a5c7d2f853d3"}, 1440 | {file = "greenlet-1.1.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a6b035aa2c5fcf3dbbf0e3a8a5bc75286fc2d4e6f9cfa738788b433ec894919"}, 1441 | {file = "greenlet-1.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca1c4a569232c063615f9e70ff9a1e2fee8c66a6fb5caf0f5e8b21a396deec3e"}, 1442 | {file = "greenlet-1.1.0-cp36-cp36m-win32.whl", hash = "sha256:3096286a6072553b5dbd5efbefc22297e9d06a05ac14ba017233fedaed7584a8"}, 1443 | {file = "greenlet-1.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:c35872b2916ab5a240d52a94314c963476c989814ba9b519bc842e5b61b464bb"}, 1444 | {file = "greenlet-1.1.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:b97c9a144bbeec7039cca44df117efcbeed7209543f5695201cacf05ba3b5857"}, 1445 | {file = "greenlet-1.1.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:16183fa53bc1a037c38d75fdc59d6208181fa28024a12a7f64bb0884434c91ea"}, 1446 | {file = "greenlet-1.1.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6b1d08f2e7f2048d77343279c4d4faa7aef168b3e36039cba1917fffb781a8ed"}, 1447 | {file = "greenlet-1.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14927b15c953f8f2d2a8dffa224aa78d7759ef95284d4c39e1745cf36e8cdd2c"}, 1448 | {file = "greenlet-1.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bdcff4b9051fb1aa4bba4fceff6a5f770c6be436408efd99b76fc827f2a9319"}, 1449 | {file = "greenlet-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c70c7dd733a4c56838d1f1781e769081a25fade879510c5b5f0df76956abfa05"}, 1450 | {file = "greenlet-1.1.0-cp37-cp37m-win32.whl", hash = "sha256:0de64d419b1cb1bfd4ea544bedea4b535ef3ae1e150b0f2609da14bbf48a4a5f"}, 1451 | {file = "greenlet-1.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:8833e27949ea32d27f7e96930fa29404dd4f2feb13cce483daf52e8842ec246a"}, 1452 | {file = "greenlet-1.1.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:c1580087ab493c6b43e66f2bdd165d9e3c1e86ef83f6c2c44a29f2869d2c5bd5"}, 1453 | {file = "greenlet-1.1.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:ad80bb338cf9f8129c049837a42a43451fc7c8b57ad56f8e6d32e7697b115505"}, 1454 | {file = "greenlet-1.1.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:a9017ff5fc2522e45562882ff481128631bf35da444775bc2776ac5c61d8bcae"}, 1455 | {file = "greenlet-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7920e3eccd26b7f4c661b746002f5ec5f0928076bd738d38d894bb359ce51927"}, 1456 | {file = "greenlet-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:408071b64e52192869129a205e5b463abda36eff0cebb19d6e63369440e4dc99"}, 1457 | {file = "greenlet-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be13a18cec649ebaab835dff269e914679ef329204704869f2f167b2c163a9da"}, 1458 | {file = "greenlet-1.1.0-cp38-cp38-win32.whl", hash = "sha256:22002259e5b7828b05600a762579fa2f8b33373ad95a0ee57b4d6109d0e589ad"}, 1459 | {file = "greenlet-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:206295d270f702bc27dbdbd7651e8ebe42d319139e0d90217b2074309a200da8"}, 1460 | {file = "greenlet-1.1.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:096cb0217d1505826ba3d723e8981096f2622cde1eb91af9ed89a17c10aa1f3e"}, 1461 | {file = "greenlet-1.1.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:03f28a5ea20201e70ab70518d151116ce939b412961c33827519ce620957d44c"}, 1462 | {file = "greenlet-1.1.0-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:7db68f15486d412b8e2cfcd584bf3b3a000911d25779d081cbbae76d71bd1a7e"}, 1463 | {file = "greenlet-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70bd1bb271e9429e2793902dfd194b653221904a07cbf207c3139e2672d17959"}, 1464 | {file = "greenlet-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f92731609d6625e1cc26ff5757db4d32b6b810d2a3363b0ff94ff573e5901f6f"}, 1465 | {file = "greenlet-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06d7ac89e6094a0a8f8dc46aa61898e9e1aec79b0f8b47b2400dd51a44dbc832"}, 1466 | {file = "greenlet-1.1.0-cp39-cp39-win32.whl", hash = "sha256:adb94a28225005890d4cf73648b5131e885c7b4b17bc762779f061844aabcc11"}, 1467 | {file = "greenlet-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa4230234d02e6f32f189fd40b59d5a968fe77e80f59c9c933384fe8ba535535"}, 1468 | {file = "greenlet-1.1.0.tar.gz", hash = "sha256:c87df8ae3f01ffb4483c796fe1b15232ce2b219f0b18126948616224d3f658ee"}, 1469 | ] 1470 | grpcio = [ 1471 | {file = "grpcio-1.39.0-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:4163e022f365406be2da78db890035463371effea172300ce5af8a768142baf3"}, 1472 | {file = "grpcio-1.39.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:02e8a8b41db8e13df53078355b439363e4ac46d0ac9a8a461a39e42829e2bcf8"}, 1473 | {file = "grpcio-1.39.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:050901a5baa6c4ca445e1781ef4c32d864f965ccec70c46cd5ad92d15e282c6a"}, 1474 | {file = "grpcio-1.39.0-cp27-cp27m-win32.whl", hash = "sha256:1ab44dde4e1b225d3fc873535ca6e642444433131dd2891a601b75fb46c87c11"}, 1475 | {file = "grpcio-1.39.0-cp27-cp27m-win_amd64.whl", hash = "sha256:25731b2c20a4ed51bea7e3952d5e83d408a5df32d03c7553457b2e6eb8bcb16c"}, 1476 | {file = "grpcio-1.39.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:a2733994b05ee5382da1d0378f6312b72c5cb202930c7fa20c794a24e96a1a34"}, 1477 | {file = "grpcio-1.39.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:4039645b8b5d19064766f3a6fa535f1db52a61c4d4de97a6a8945331a354d527"}, 1478 | {file = "grpcio-1.39.0-cp35-cp35m-macosx_10_10_intel.whl", hash = "sha256:7b95b3329446408e2fe6db9b310d263303fa1a94649d08ec1e1cc12506743d26"}, 1479 | {file = "grpcio-1.39.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:2a4308875b9b986000513c6b04c2e7424f436a127f15547036c42d3cf8289374"}, 1480 | {file = "grpcio-1.39.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:4b3fcc1878a1a5b71e1ecdfe82c74f7cd9eadaa43e25be0d67676dcec0c9d39f"}, 1481 | {file = "grpcio-1.39.0-cp35-cp35m-manylinux2014_i686.whl", hash = "sha256:6d51be522b573cec14798d4742efaa69d234bedabce122fec2d5489abb3724d4"}, 1482 | {file = "grpcio-1.39.0-cp35-cp35m-manylinux2014_x86_64.whl", hash = "sha256:43c57987e526d1b893b85099424387b22de6e3eee4ea7188443de8d657d11cc0"}, 1483 | {file = "grpcio-1.39.0-cp35-cp35m-win32.whl", hash = "sha256:cd2e39a199bcbefb3f4b9fa6677c72b0e67332915550fed3bd7c28b454bf917d"}, 1484 | {file = "grpcio-1.39.0-cp35-cp35m-win_amd64.whl", hash = "sha256:5628e7cc69079159f9465388ff21fde1e1a780139f76dd99d319119d45156f45"}, 1485 | {file = "grpcio-1.39.0-cp36-cp36m-linux_armv7l.whl", hash = "sha256:3c14e2087f809973d5ee8ca64f772a089ead0167286f3f21fdda8b6029b50abb"}, 1486 | {file = "grpcio-1.39.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:d5a105f5a595b89a0e394e5b147430b115333d07c55efb0c0eddc96055f0d951"}, 1487 | {file = "grpcio-1.39.0-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:366b6b35b3719c5570588e21d866460c5666ae74e3509c2a5a73ca79997abdaf"}, 1488 | {file = "grpcio-1.39.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:544e1c1a133b43893e03e828c8325be5b82e20d3b0ef0ee3942d32553052a1b5"}, 1489 | {file = "grpcio-1.39.0-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:a659f7c634cacfcf14657687a9fa3265b0a1844b1c19d140f3b66aebfba1a66b"}, 1490 | {file = "grpcio-1.39.0-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:b0ff14dd872030e6b2fce8a6811642bd30d93833f794d3782c7e9eb2f01234cc"}, 1491 | {file = "grpcio-1.39.0-cp36-cp36m-manylinux_2_24_aarch64.whl", hash = "sha256:2a958ad794292e12d8738a06754ebaf71662e635a89098916c18715b27ca2b5b"}, 1492 | {file = "grpcio-1.39.0-cp36-cp36m-win32.whl", hash = "sha256:ed845ba6253c4032d5a01b7fb9db8fe80299e9a437e695a698751b0b191174be"}, 1493 | {file = "grpcio-1.39.0-cp36-cp36m-win_amd64.whl", hash = "sha256:b236eb4b50d83754184b248b8b1041bb1546287fff7618c4b7001b9f257bb903"}, 1494 | {file = "grpcio-1.39.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:27e2c6213fc04e71a862bacccb51f3c8e722255933f01736ace183e92d860ee6"}, 1495 | {file = "grpcio-1.39.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:5127f4ba1f52fda28037ae465cf4b0e5fabe89d5ac1d64d15b073b46b7db5e16"}, 1496 | {file = "grpcio-1.39.0-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:a6211150765cc2343e69879dfb856718b0f7477a4618b5f9a8f6c3ee84c047c0"}, 1497 | {file = "grpcio-1.39.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:691f5b3a75f072dfb7b093f46303f493b885b7a42f25a831868ffaa22ee85f9d"}, 1498 | {file = "grpcio-1.39.0-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:c8fe430add656b92419f6cd0680b64fbe6347c831d89a7788324f5037dfb3359"}, 1499 | {file = "grpcio-1.39.0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:3cccf470fcaab65a1b0a826ff34bd7c0861eb82ed957a83c6647a983459e4ecd"}, 1500 | {file = "grpcio-1.39.0-cp37-cp37m-manylinux_2_24_aarch64.whl", hash = "sha256:2bc7eebb405aac2d7eecfaa881fd73b489f99c01470d7193b4431a6ce199b9c3"}, 1501 | {file = "grpcio-1.39.0-cp37-cp37m-win32.whl", hash = "sha256:52100d800390d58492ed1093de6faccd957de6fc29b1a0e5948c84f275d9228f"}, 1502 | {file = "grpcio-1.39.0-cp37-cp37m-win_amd64.whl", hash = "sha256:20f57c5d09a36e0d0c8fe16ee1905f4307edb1d04f6034b56320f7fbc1a1071a"}, 1503 | {file = "grpcio-1.39.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:6ba6ad60009da2258cf15a72c51b7e0c2f58c8da517e97550881e488839e56c6"}, 1504 | {file = "grpcio-1.39.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a1fb9936b86b5efdea417fe159934bcad82a6f8c6ab7d1beec4bf3a78324d975"}, 1505 | {file = "grpcio-1.39.0-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:46cfb0f2b757673bfd36ab4b0e3d61988cc1a0d47e0597e91462dcbef7528f35"}, 1506 | {file = "grpcio-1.39.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:f2621c82fbbff1496993aa5fbf60e235583c7f970506e818671ad52000b6f310"}, 1507 | {file = "grpcio-1.39.0-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:e98aca5cfe05ca29950b3d99006b9ddb54fde6451cd12cb2db1443ae3b9fa076"}, 1508 | {file = "grpcio-1.39.0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:8ed1e52ad507a54d20e6aaedf4b3edcab18cc12031eafe6de898f97513d8997b"}, 1509 | {file = "grpcio-1.39.0-cp38-cp38-manylinux_2_24_aarch64.whl", hash = "sha256:3c57fa7fec932767bc553bfb956759f45026890255bd232b2f797c3bc4dfeba2"}, 1510 | {file = "grpcio-1.39.0-cp38-cp38-win32.whl", hash = "sha256:88dbef504b491b96e3238a6d5360b04508c34c62286080060c85fddd3caf7137"}, 1511 | {file = "grpcio-1.39.0-cp38-cp38-win_amd64.whl", hash = "sha256:cffdccc94e63710dd6ead01849443390632c8e0fec52dc26e4fddf9f28ac9280"}, 1512 | {file = "grpcio-1.39.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:43e0f5c49f985c94332794aa6c4f15f3a1ced336f0c6a6c8946c67b5ab111ae9"}, 1513 | {file = "grpcio-1.39.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:dc3a24022a90c1754e54315009da6f949b48862c1d06daa54f9a28f89a5efacb"}, 1514 | {file = "grpcio-1.39.0-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:476fa94ba8efb09213baabd757f6f93e839794d8ae0eaa371347d6899e8f57a0"}, 1515 | {file = "grpcio-1.39.0-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:46d510a7af777d2f38ef4c1d25491add37cad24143012f3eebe72dc5c6d0fc4c"}, 1516 | {file = "grpcio-1.39.0-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:5091b4a5ee8454a8f0c8ac45946ca25d6142c3be4b1fba141f1d62a6e0b5c696"}, 1517 | {file = "grpcio-1.39.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:de83a045005703e7b9e67b61c38bb72cd49f68d9d2780d2c675353a3a3f2816f"}, 1518 | {file = "grpcio-1.39.0-cp39-cp39-manylinux_2_24_aarch64.whl", hash = "sha256:4258b778ce09ffa3b7c9a26971c216a34369e786771afbf4f98afe223f27d248"}, 1519 | {file = "grpcio-1.39.0-cp39-cp39-win32.whl", hash = "sha256:c44958a24559f875d902d5c1acb0ae43faa5a84f6120d1d0d800acb52f96516e"}, 1520 | {file = "grpcio-1.39.0-cp39-cp39-win_amd64.whl", hash = "sha256:2068a2b896ac67103c4a5453d5435fafcbb1a2f41eaf25148d08780096935cee"}, 1521 | {file = "grpcio-1.39.0.tar.gz", hash = "sha256:57974361a459d6fe04c9ae0af1845974606612249f467bbd2062d963cb90f407"}, 1522 | ] 1523 | gunicorn = [ 1524 | {file = "gunicorn-20.1.0.tar.gz", hash = "sha256:e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8"}, 1525 | ] 1526 | hydra-colorlog = [ 1527 | {file = "hydra-colorlog-1.1.0.tar.gz", hash = "sha256:f575f90f2400d46b779b773b53a270df5371a9fff377b04f5665afc42e0c3f9d"}, 1528 | {file = "hydra_colorlog-1.1.0-py3-none-any.whl", hash = "sha256:177e8ee7046898e70bf4acfbed88c149c590c8bf7f9e57160ac4016b2addc8d1"}, 1529 | ] 1530 | hydra-core = [ 1531 | {file = "hydra-core-1.1.0.tar.gz", hash = "sha256:ef20f54c99d6061e1fffee33f43901eb7a09f23291f6bda56afe1c8f68033b2b"}, 1532 | {file = "hydra_core-1.1.0-py3-none-any.whl", hash = "sha256:22370397633af05db594d69d885ead0728039feaec1bb4f666643f811dc6d183"}, 1533 | ] 1534 | idna = [ 1535 | {file = "idna-3.2-py3-none-any.whl", hash = "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a"}, 1536 | {file = "idna-3.2.tar.gz", hash = "sha256:467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3"}, 1537 | ] 1538 | importlib-metadata = [ 1539 | {file = "importlib_metadata-4.6.1-py3-none-any.whl", hash = "sha256:9f55f560e116f8643ecf2922d9cd3e1c7e8d52e683178fecd9d08f6aa357e11e"}, 1540 | {file = "importlib_metadata-4.6.1.tar.gz", hash = "sha256:079ada16b7fc30dfbb5d13399a5113110dab1aa7c2bc62f66af75f0b717c8cac"}, 1541 | ] 1542 | importlib-resources = [ 1543 | {file = "importlib_resources-5.2.0-py3-none-any.whl", hash = "sha256:a0143290bef3cbc99de9e40176e4987780939a955b8632f02ce6c935f42e9bfc"}, 1544 | {file = "importlib_resources-5.2.0.tar.gz", hash = "sha256:22a2c42d8c6a1d30aa8a0e1f57293725bfd5c013d562585e46aff469e0ff78b3"}, 1545 | ] 1546 | isort = [ 1547 | {file = "isort-5.1.4-py3-none-any.whl", hash = "sha256:ae3007f72a2e9da36febd3454d8be4b175d6ca17eb765841d5fe3d038aede79d"}, 1548 | {file = "isort-5.1.4.tar.gz", hash = "sha256:145072eedc4927cc9c1f9478f2d83b2fc1e6469df4129c02ef4e8c742207a46c"}, 1549 | ] 1550 | itsdangerous = [ 1551 | {file = "itsdangerous-2.0.1-py3-none-any.whl", hash = "sha256:5174094b9637652bdb841a3029700391451bd092ba3db90600dea710ba28e97c"}, 1552 | {file = "itsdangerous-2.0.1.tar.gz", hash = "sha256:9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0"}, 1553 | ] 1554 | jinja2 = [ 1555 | {file = "Jinja2-3.0.1-py3-none-any.whl", hash = "sha256:1f06f2da51e7b56b8f238affdd6b4e2c61e39598a378cc49345bc1bd42a978a4"}, 1556 | {file = "Jinja2-3.0.1.tar.gz", hash = "sha256:703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4"}, 1557 | ] 1558 | mako = [ 1559 | {file = "Mako-1.1.4-py2.py3-none-any.whl", hash = "sha256:aea166356da44b9b830c8023cd9b557fa856bd8b4035d6de771ca027dfc5cc6e"}, 1560 | {file = "Mako-1.1.4.tar.gz", hash = "sha256:17831f0b7087c313c0ffae2bcbbd3c1d5ba9eeac9c38f2eb7b50e8c99fe9d5ab"}, 1561 | ] 1562 | markdown = [ 1563 | {file = "Markdown-3.3.4-py3-none-any.whl", hash = "sha256:96c3ba1261de2f7547b46a00ea8463832c921d3f9d6aba3f255a6f71386db20c"}, 1564 | {file = "Markdown-3.3.4.tar.gz", hash = "sha256:31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49"}, 1565 | ] 1566 | markupsafe = [ 1567 | {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"}, 1568 | {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"}, 1569 | {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"}, 1570 | {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"}, 1571 | {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"}, 1572 | {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"}, 1573 | {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"}, 1574 | {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"}, 1575 | {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"}, 1576 | {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"}, 1577 | {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"}, 1578 | {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"}, 1579 | {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"}, 1580 | {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"}, 1581 | {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"}, 1582 | {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"}, 1583 | {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"}, 1584 | {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"}, 1585 | {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"}, 1586 | {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"}, 1587 | {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"}, 1588 | {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"}, 1589 | {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"}, 1590 | {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"}, 1591 | {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"}, 1592 | {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"}, 1593 | {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"}, 1594 | {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"}, 1595 | {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"}, 1596 | {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"}, 1597 | {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"}, 1598 | {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"}, 1599 | {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"}, 1600 | {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"}, 1601 | ] 1602 | mccabe = [ 1603 | {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, 1604 | {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, 1605 | ] 1606 | mlflow = [ 1607 | {file = "mlflow-1.19.0-py3-none-any.whl", hash = "sha256:95ac0899ead161298a7319e1c08a7706af8c5ea0e80708be7c903ee14016c53f"}, 1608 | {file = "mlflow-1.19.0.tar.gz", hash = "sha256:17da5648f67985f2f9417de91dce96e31028afc2a09a1b39b20d7a5f192ef853"}, 1609 | ] 1610 | more-itertools = [ 1611 | {file = "more-itertools-8.8.0.tar.gz", hash = "sha256:83f0308e05477c68f56ea3a888172c78ed5d5b3c282addb67508e7ba6c8f813a"}, 1612 | {file = "more_itertools-8.8.0-py3-none-any.whl", hash = "sha256:2cf89ec599962f2ddc4d568a05defc40e0a587fbc10d5989713638864c36be4d"}, 1613 | ] 1614 | multidict = [ 1615 | {file = "multidict-5.1.0-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:b7993704f1a4b204e71debe6095150d43b2ee6150fa4f44d6d966ec356a8d61f"}, 1616 | {file = "multidict-5.1.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:9dd6e9b1a913d096ac95d0399bd737e00f2af1e1594a787e00f7975778c8b2bf"}, 1617 | {file = "multidict-5.1.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:f21756997ad8ef815d8ef3d34edd98804ab5ea337feedcd62fb52d22bf531281"}, 1618 | {file = "multidict-5.1.0-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:1ab820665e67373de5802acae069a6a05567ae234ddb129f31d290fc3d1aa56d"}, 1619 | {file = "multidict-5.1.0-cp36-cp36m-manylinux2014_ppc64le.whl", hash = "sha256:9436dc58c123f07b230383083855593550c4d301d2532045a17ccf6eca505f6d"}, 1620 | {file = "multidict-5.1.0-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:830f57206cc96ed0ccf68304141fec9481a096c4d2e2831f311bde1c404401da"}, 1621 | {file = "multidict-5.1.0-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:2e68965192c4ea61fff1b81c14ff712fc7dc15d2bd120602e4a3494ea6584224"}, 1622 | {file = "multidict-5.1.0-cp36-cp36m-win32.whl", hash = "sha256:2f1a132f1c88724674271d636e6b7351477c27722f2ed789f719f9e3545a3d26"}, 1623 | {file = "multidict-5.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:3a4f32116f8f72ecf2a29dabfb27b23ab7cdc0ba807e8459e59a93a9be9506f6"}, 1624 | {file = "multidict-5.1.0-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:46c73e09ad374a6d876c599f2328161bcd95e280f84d2060cf57991dec5cfe76"}, 1625 | {file = "multidict-5.1.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:018132dbd8688c7a69ad89c4a3f39ea2f9f33302ebe567a879da8f4ca73f0d0a"}, 1626 | {file = "multidict-5.1.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:4b186eb7d6ae7c06eb4392411189469e6a820da81447f46c0072a41c748ab73f"}, 1627 | {file = "multidict-5.1.0-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:3a041b76d13706b7fff23b9fc83117c7b8fe8d5fe9e6be45eee72b9baa75f348"}, 1628 | {file = "multidict-5.1.0-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:051012ccee979b2b06be928a6150d237aec75dd6bf2d1eeeb190baf2b05abc93"}, 1629 | {file = "multidict-5.1.0-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:6a4d5ce640e37b0efcc8441caeea8f43a06addace2335bd11151bc02d2ee31f9"}, 1630 | {file = "multidict-5.1.0-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:5cf3443199b83ed9e955f511b5b241fd3ae004e3cb81c58ec10f4fe47c7dce37"}, 1631 | {file = "multidict-5.1.0-cp37-cp37m-win32.whl", hash = "sha256:f200755768dc19c6f4e2b672421e0ebb3dd54c38d5a4f262b872d8cfcc9e93b5"}, 1632 | {file = "multidict-5.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:05c20b68e512166fddba59a918773ba002fdd77800cad9f55b59790030bab632"}, 1633 | {file = "multidict-5.1.0-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:54fd1e83a184e19c598d5e70ba508196fd0bbdd676ce159feb412a4a6664f952"}, 1634 | {file = "multidict-5.1.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:0e3c84e6c67eba89c2dbcee08504ba8644ab4284863452450520dad8f1e89b79"}, 1635 | {file = "multidict-5.1.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:dc862056f76443a0db4509116c5cd480fe1b6a2d45512a653f9a855cc0517456"}, 1636 | {file = "multidict-5.1.0-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:0e929169f9c090dae0646a011c8b058e5e5fb391466016b39d21745b48817fd7"}, 1637 | {file = "multidict-5.1.0-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:d81eddcb12d608cc08081fa88d046c78afb1bf8107e6feab5d43503fea74a635"}, 1638 | {file = "multidict-5.1.0-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:585fd452dd7782130d112f7ddf3473ffdd521414674c33876187e101b588738a"}, 1639 | {file = "multidict-5.1.0-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:37e5438e1c78931df5d3c0c78ae049092877e5e9c02dd1ff5abb9cf27a5914ea"}, 1640 | {file = "multidict-5.1.0-cp38-cp38-win32.whl", hash = "sha256:07b42215124aedecc6083f1ce6b7e5ec5b50047afa701f3442054373a6deb656"}, 1641 | {file = "multidict-5.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:929006d3c2d923788ba153ad0de8ed2e5ed39fdbe8e7be21e2f22ed06c6783d3"}, 1642 | {file = "multidict-5.1.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:b797515be8743b771aa868f83563f789bbd4b236659ba52243b735d80b29ed93"}, 1643 | {file = "multidict-5.1.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d5c65bdf4484872c4af3150aeebe101ba560dcfb34488d9a8ff8dbcd21079647"}, 1644 | {file = "multidict-5.1.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b47a43177a5e65b771b80db71e7be76c0ba23cc8aa73eeeb089ed5219cdbe27d"}, 1645 | {file = "multidict-5.1.0-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:806068d4f86cb06af37cd65821554f98240a19ce646d3cd24e1c33587f313eb8"}, 1646 | {file = "multidict-5.1.0-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:46dd362c2f045095c920162e9307de5ffd0a1bfbba0a6e990b344366f55a30c1"}, 1647 | {file = "multidict-5.1.0-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:ace010325c787c378afd7f7c1ac66b26313b3344628652eacd149bdd23c68841"}, 1648 | {file = "multidict-5.1.0-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:ecc771ab628ea281517e24fd2c52e8f31c41e66652d07599ad8818abaad38cda"}, 1649 | {file = "multidict-5.1.0-cp39-cp39-win32.whl", hash = "sha256:fc13a9524bc18b6fb6e0dbec3533ba0496bbed167c56d0aabefd965584557d80"}, 1650 | {file = "multidict-5.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:7df80d07818b385f3129180369079bd6934cf70469f99daaebfac89dca288359"}, 1651 | {file = "multidict-5.1.0.tar.gz", hash = "sha256:25b4e5f22d3a37ddf3effc0710ba692cfc792c2b9edfb9c05aefe823256e84d5"}, 1652 | ] 1653 | mypy = [ 1654 | {file = "mypy-0.790-cp35-cp35m-macosx_10_6_x86_64.whl", hash = "sha256:bd03b3cf666bff8d710d633d1c56ab7facbdc204d567715cb3b9f85c6e94f669"}, 1655 | {file = "mypy-0.790-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:2170492030f6faa537647d29945786d297e4862765f0b4ac5930ff62e300d802"}, 1656 | {file = "mypy-0.790-cp35-cp35m-win_amd64.whl", hash = "sha256:e86bdace26c5fe9cf8cb735e7cedfe7850ad92b327ac5d797c656717d2ca66de"}, 1657 | {file = "mypy-0.790-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e97e9c13d67fbe524be17e4d8025d51a7dca38f90de2e462243ab8ed8a9178d1"}, 1658 | {file = "mypy-0.790-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0d34d6b122597d48a36d6c59e35341f410d4abfa771d96d04ae2c468dd201abc"}, 1659 | {file = "mypy-0.790-cp36-cp36m-win_amd64.whl", hash = "sha256:72060bf64f290fb629bd4a67c707a66fd88ca26e413a91384b18db3876e57ed7"}, 1660 | {file = "mypy-0.790-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:eea260feb1830a627fb526d22fbb426b750d9f5a47b624e8d5e7e004359b219c"}, 1661 | {file = "mypy-0.790-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:c614194e01c85bb2e551c421397e49afb2872c88b5830e3554f0519f9fb1c178"}, 1662 | {file = "mypy-0.790-cp37-cp37m-win_amd64.whl", hash = "sha256:0a0d102247c16ce93c97066443d11e2d36e6cc2a32d8ccc1f705268970479324"}, 1663 | {file = "mypy-0.790-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf4e7bf7f1214826cf7333627cb2547c0db7e3078723227820d0a2490f117a01"}, 1664 | {file = "mypy-0.790-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:af4e9ff1834e565f1baa74ccf7ae2564ae38c8df2a85b057af1dbbc958eb6666"}, 1665 | {file = "mypy-0.790-cp38-cp38-win_amd64.whl", hash = "sha256:da56dedcd7cd502ccd3c5dddc656cb36113dd793ad466e894574125945653cea"}, 1666 | {file = "mypy-0.790-py3-none-any.whl", hash = "sha256:2842d4fbd1b12ab422346376aad03ff5d0805b706102e475e962370f874a5122"}, 1667 | {file = "mypy-0.790.tar.gz", hash = "sha256:2b21ba45ad9ef2e2eb88ce4aeadd0112d0f5026418324176fd494a6824b74975"}, 1668 | ] 1669 | mypy-extensions = [ 1670 | {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, 1671 | {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, 1672 | ] 1673 | numpy = [ 1674 | {file = "numpy-1.21.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:38e8648f9449a549a7dfe8d8755a5979b45b3538520d1e735637ef28e8c2dc50"}, 1675 | {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fd7d7409fa643a91d0a05c7554dd68aa9c9bb16e186f6ccfe40d6e003156e33a"}, 1676 | {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a75b4498b1e93d8b700282dc8e655b8bd559c0904b3910b144646dbbbc03e062"}, 1677 | {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1412aa0aec3e00bc23fbb8664d76552b4efde98fb71f60737c83efbac24112f1"}, 1678 | {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e46ceaff65609b5399163de5893d8f2a82d3c77d5e56d976c8b5fb01faa6b671"}, 1679 | {file = "numpy-1.21.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c6a2324085dd52f96498419ba95b5777e40b6bcbc20088fddb9e8cbb58885e8e"}, 1680 | {file = "numpy-1.21.1-cp37-cp37m-win32.whl", hash = "sha256:73101b2a1fef16602696d133db402a7e7586654682244344b8329cdcbbb82172"}, 1681 | {file = "numpy-1.21.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7a708a79c9a9d26904d1cca8d383bf869edf6f8e7650d85dbc77b041e8c5a0f8"}, 1682 | {file = "numpy-1.21.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95b995d0c413f5d0428b3f880e8fe1660ff9396dcd1f9eedbc311f37b5652e16"}, 1683 | {file = "numpy-1.21.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:635e6bd31c9fb3d475c8f44a089569070d10a9ef18ed13738b03049280281267"}, 1684 | {file = "numpy-1.21.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a3d5fb89bfe21be2ef47c0614b9c9c707b7362386c9a3ff1feae63e0267ccb6"}, 1685 | {file = "numpy-1.21.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8a326af80e86d0e9ce92bcc1e65c8ff88297de4fa14ee936cb2293d414c9ec63"}, 1686 | {file = "numpy-1.21.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:791492091744b0fe390a6ce85cc1bf5149968ac7d5f0477288f78c89b385d9af"}, 1687 | {file = "numpy-1.21.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0318c465786c1f63ac05d7c4dbcecd4d2d7e13f0959b01b534ea1e92202235c5"}, 1688 | {file = "numpy-1.21.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a513bd9c1551894ee3d31369f9b07460ef223694098cf27d399513415855b68"}, 1689 | {file = "numpy-1.21.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:91c6f5fc58df1e0a3cc0c3a717bb3308ff850abdaa6d2d802573ee2b11f674a8"}, 1690 | {file = "numpy-1.21.1-cp38-cp38-win32.whl", hash = "sha256:978010b68e17150db8765355d1ccdd450f9fc916824e8c4e35ee620590e234cd"}, 1691 | {file = "numpy-1.21.1-cp38-cp38-win_amd64.whl", hash = "sha256:9749a40a5b22333467f02fe11edc98f022133ee1bfa8ab99bda5e5437b831214"}, 1692 | {file = "numpy-1.21.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d7a4aeac3b94af92a9373d6e77b37691b86411f9745190d2c351f410ab3a791f"}, 1693 | {file = "numpy-1.21.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d9e7912a56108aba9b31df688a4c4f5cb0d9d3787386b87d504762b6754fbb1b"}, 1694 | {file = "numpy-1.21.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:25b40b98ebdd272bc3020935427a4530b7d60dfbe1ab9381a39147834e985eac"}, 1695 | {file = "numpy-1.21.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8a92c5aea763d14ba9d6475803fc7904bda7decc2a0a68153f587ad82941fec1"}, 1696 | {file = "numpy-1.21.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05a0f648eb28bae4bcb204e6fd14603de2908de982e761a2fc78efe0f19e96e1"}, 1697 | {file = "numpy-1.21.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f01f28075a92eede918b965e86e8f0ba7b7797a95aa8d35e1cc8821f5fc3ad6a"}, 1698 | {file = "numpy-1.21.1-cp39-cp39-win32.whl", hash = "sha256:88c0b89ad1cc24a5efbb99ff9ab5db0f9a86e9cc50240177a571fbe9c2860ac2"}, 1699 | {file = "numpy-1.21.1-cp39-cp39-win_amd64.whl", hash = "sha256:01721eefe70544d548425a07c80be8377096a54118070b8a62476866d5208e33"}, 1700 | {file = "numpy-1.21.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2d4d1de6e6fb3d28781c73fbde702ac97f03d79e4ffd6598b880b2d95d62ead4"}, 1701 | {file = "numpy-1.21.1.zip", hash = "sha256:dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd"}, 1702 | ] 1703 | oauthlib = [ 1704 | {file = "oauthlib-3.1.1-py2.py3-none-any.whl", hash = "sha256:42bf6354c2ed8c6acb54d971fce6f88193d97297e18602a3a886603f9d7730cc"}, 1705 | {file = "oauthlib-3.1.1.tar.gz", hash = "sha256:8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3"}, 1706 | ] 1707 | omegaconf = [ 1708 | {file = "omegaconf-2.1.0-py3-none-any.whl", hash = "sha256:a9c576639f66793c874e32d17138ecce7a57e132a4537d2b6dff899d6958f956"}, 1709 | {file = "omegaconf-2.1.0.tar.gz", hash = "sha256:a08aec03a63c66449b550b85d70238f4dee9c6c4a0541d6a98845dcfeb12439d"}, 1710 | ] 1711 | packaging = [ 1712 | {file = "packaging-21.0-py3-none-any.whl", hash = "sha256:c86254f9220d55e31cc94d69bade760f0847da8000def4dfe1c6b872fd14ff14"}, 1713 | {file = "packaging-21.0.tar.gz", hash = "sha256:7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7"}, 1714 | ] 1715 | pandas = [ 1716 | {file = "pandas-1.1.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:bf23a3b54d128b50f4f9d4675b3c1857a688cc6731a32f931837d72effb2698d"}, 1717 | {file = "pandas-1.1.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:5a780260afc88268a9d3ac3511d8f494fdcf637eece62fb9eb656a63d53eb7ca"}, 1718 | {file = "pandas-1.1.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:b61080750d19a0122469ab59b087380721d6b72a4e7d962e4d7e63e0c4504814"}, 1719 | {file = "pandas-1.1.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:0de3ddb414d30798cbf56e642d82cac30a80223ad6fe484d66c0ce01a84d6f2f"}, 1720 | {file = "pandas-1.1.5-cp36-cp36m-win32.whl", hash = "sha256:70865f96bb38fec46f7ebd66d4b5cfd0aa6b842073f298d621385ae3898d28b5"}, 1721 | {file = "pandas-1.1.5-cp36-cp36m-win_amd64.whl", hash = "sha256:19a2148a1d02791352e9fa637899a78e371a3516ac6da5c4edc718f60cbae648"}, 1722 | {file = "pandas-1.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:26fa92d3ac743a149a31b21d6f4337b0594b6302ea5575b37af9ca9611e8981a"}, 1723 | {file = "pandas-1.1.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c16d59c15d946111d2716856dd5479221c9e4f2f5c7bc2d617f39d870031e086"}, 1724 | {file = "pandas-1.1.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:3be7a7a0ca71a2640e81d9276f526bca63505850add10206d0da2e8a0a325dae"}, 1725 | {file = "pandas-1.1.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:573fba5b05bf2c69271a32e52399c8de599e4a15ab7cec47d3b9c904125ab788"}, 1726 | {file = "pandas-1.1.5-cp37-cp37m-win32.whl", hash = "sha256:21b5a2b033380adbdd36b3116faaf9a4663e375325831dac1b519a44f9e439bb"}, 1727 | {file = "pandas-1.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:24c7f8d4aee71bfa6401faeba367dd654f696a77151a8a28bc2013f7ced4af98"}, 1728 | {file = "pandas-1.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2860a97cbb25444ffc0088b457da0a79dc79f9c601238a3e0644312fcc14bf11"}, 1729 | {file = "pandas-1.1.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:5008374ebb990dad9ed48b0f5d0038124c73748f5384cc8c46904dace27082d9"}, 1730 | {file = "pandas-1.1.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2c2f7c670ea4e60318e4b7e474d56447cf0c7d83b3c2a5405a0dbb2600b9c48e"}, 1731 | {file = "pandas-1.1.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:0a643bae4283a37732ddfcecab3f62dd082996021b980f580903f4e8e01b3c5b"}, 1732 | {file = "pandas-1.1.5-cp38-cp38-win32.whl", hash = "sha256:5447ea7af4005b0daf695a316a423b96374c9c73ffbd4533209c5ddc369e644b"}, 1733 | {file = "pandas-1.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:4c62e94d5d49db116bef1bd5c2486723a292d79409fc9abd51adf9e05329101d"}, 1734 | {file = "pandas-1.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:731568be71fba1e13cae212c362f3d2ca8932e83cb1b85e3f1b4dd77d019254a"}, 1735 | {file = "pandas-1.1.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:c61c043aafb69329d0f961b19faa30b1dab709dd34c9388143fc55680059e55a"}, 1736 | {file = "pandas-1.1.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2b1c6cd28a0dfda75c7b5957363333f01d370936e4c6276b7b8e696dd500582a"}, 1737 | {file = "pandas-1.1.5-cp39-cp39-win32.whl", hash = "sha256:c94ff2780a1fd89f190390130d6d36173ca59fcfb3fe0ff596f9a56518191ccb"}, 1738 | {file = "pandas-1.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:edda9bacc3843dfbeebaf7a701763e68e741b08fccb889c003b0a52f0ee95782"}, 1739 | {file = "pandas-1.1.5.tar.gz", hash = "sha256:f10fc41ee3c75a474d3bdf68d396f10782d013d7f67db99c0efbfd0acb99701b"}, 1740 | ] 1741 | pathspec = [ 1742 | {file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"}, 1743 | {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"}, 1744 | ] 1745 | pillow = [ 1746 | {file = "Pillow-8.3.1-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:196560dba4da7a72c5e7085fccc5938ab4075fd37fe8b5468869724109812edd"}, 1747 | {file = "Pillow-8.3.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29c9569049d04aaacd690573a0398dbd8e0bf0255684fee512b413c2142ab723"}, 1748 | {file = "Pillow-8.3.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c088a000dfdd88c184cc7271bfac8c5b82d9efa8637cd2b68183771e3cf56f04"}, 1749 | {file = "Pillow-8.3.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:fc214a6b75d2e0ea7745488da7da3c381f41790812988c7a92345978414fad37"}, 1750 | {file = "Pillow-8.3.1-cp36-cp36m-win32.whl", hash = "sha256:a17ca41f45cf78c2216ebfab03add7cc350c305c38ff34ef4eef66b7d76c5229"}, 1751 | {file = "Pillow-8.3.1-cp36-cp36m-win_amd64.whl", hash = "sha256:67b3666b544b953a2777cb3f5a922e991be73ab32635666ee72e05876b8a92de"}, 1752 | {file = "Pillow-8.3.1-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:ff04c373477723430dce2e9d024c708a047d44cf17166bf16e604b379bf0ca14"}, 1753 | {file = "Pillow-8.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9364c81b252d8348e9cc0cb63e856b8f7c1b340caba6ee7a7a65c968312f7dab"}, 1754 | {file = "Pillow-8.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a2f381932dca2cf775811a008aa3027671ace723b7a38838045b1aee8669fdcf"}, 1755 | {file = "Pillow-8.3.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d0da39795049a9afcaadec532e7b669b5ebbb2a9134576ebcc15dd5bdae33cc0"}, 1756 | {file = "Pillow-8.3.1-cp37-cp37m-win32.whl", hash = "sha256:2b6dfa068a8b6137da34a4936f5a816aba0ecc967af2feeb32c4393ddd671cba"}, 1757 | {file = "Pillow-8.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a4eef1ff2d62676deabf076f963eda4da34b51bc0517c70239fafed1d5b51500"}, 1758 | {file = "Pillow-8.3.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:660a87085925c61a0dcc80efb967512ac34dbb256ff7dd2b9b4ee8dbdab58cf4"}, 1759 | {file = "Pillow-8.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:15a2808e269a1cf2131930183dcc0419bc77bb73eb54285dde2706ac9939fa8e"}, 1760 | {file = "Pillow-8.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:969cc558cca859cadf24f890fc009e1bce7d7d0386ba7c0478641a60199adf79"}, 1761 | {file = "Pillow-8.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2ee77c14a0299d0541d26f3d8500bb57e081233e3fa915fa35abd02c51fa7fae"}, 1762 | {file = "Pillow-8.3.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c11003197f908878164f0e6da15fce22373ac3fc320cda8c9d16e6bba105b844"}, 1763 | {file = "Pillow-8.3.1-cp38-cp38-win32.whl", hash = "sha256:3f08bd8d785204149b5b33e3b5f0ebbfe2190ea58d1a051c578e29e39bfd2367"}, 1764 | {file = "Pillow-8.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:70af7d222df0ff81a2da601fab42decb009dc721545ed78549cb96e3a1c5f0c8"}, 1765 | {file = "Pillow-8.3.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:37730f6e68bdc6a3f02d2079c34c532330d206429f3cee651aab6b66839a9f0e"}, 1766 | {file = "Pillow-8.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4bc3c7ef940eeb200ca65bd83005eb3aae8083d47e8fcbf5f0943baa50726856"}, 1767 | {file = "Pillow-8.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c35d09db702f4185ba22bb33ef1751ad49c266534339a5cebeb5159d364f6f82"}, 1768 | {file = "Pillow-8.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b2efa07f69dc395d95bb9ef3299f4ca29bcb2157dc615bae0b42c3c20668ffc"}, 1769 | {file = "Pillow-8.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cc866706d56bd3a7dbf8bac8660c6f6462f2f2b8a49add2ba617bc0c54473d83"}, 1770 | {file = "Pillow-8.3.1-cp39-cp39-win32.whl", hash = "sha256:9a211b663cf2314edbdb4cf897beeb5c9ee3810d1d53f0e423f06d6ebbf9cd5d"}, 1771 | {file = "Pillow-8.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:c2a5ff58751670292b406b9f06e07ed1446a4b13ffced6b6cab75b857485cbc8"}, 1772 | {file = "Pillow-8.3.1-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c379425c2707078dfb6bfad2430728831d399dc95a7deeb92015eb4c92345eaf"}, 1773 | {file = "Pillow-8.3.1-pp36-pypy36_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:114f816e4f73f9ec06997b2fde81a92cbf0777c9e8f462005550eed6bae57e63"}, 1774 | {file = "Pillow-8.3.1-pp36-pypy36_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8960a8a9f4598974e4c2aeb1bff9bdd5db03ee65fd1fce8adf3223721aa2a636"}, 1775 | {file = "Pillow-8.3.1-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:147bd9e71fb9dcf08357b4d530b5167941e222a6fd21f869c7911bac40b9994d"}, 1776 | {file = "Pillow-8.3.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1fd5066cd343b5db88c048d971994e56b296868766e461b82fa4e22498f34d77"}, 1777 | {file = "Pillow-8.3.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f4ebde71785f8bceb39dcd1e7f06bcc5d5c3cf48b9f69ab52636309387b097c8"}, 1778 | {file = "Pillow-8.3.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:1c03e24be975e2afe70dfc5da6f187eea0b49a68bb2b69db0f30a61b7031cee4"}, 1779 | {file = "Pillow-8.3.1.tar.gz", hash = "sha256:2cac53839bfc5cece8fdbe7f084d5e3ee61e1303cccc86511d351adcb9e2c792"}, 1780 | ] 1781 | pluggy = [ 1782 | {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, 1783 | {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, 1784 | ] 1785 | prometheus-client = [ 1786 | {file = "prometheus_client-0.11.0-py2.py3-none-any.whl", hash = "sha256:b014bc76815eb1399da8ce5fc84b7717a3e63652b0c0f8804092c9363acab1b2"}, 1787 | {file = "prometheus_client-0.11.0.tar.gz", hash = "sha256:3a8baade6cb80bcfe43297e33e7623f3118d660d41387593758e2fb1ea173a86"}, 1788 | ] 1789 | prometheus-flask-exporter = [ 1790 | {file = "prometheus_flask_exporter-0.18.2.tar.gz", hash = "sha256:fc487e385d95cb5efd045d6a315c4ecf68c42661e7bfde0526af75ed3c4f8c1b"}, 1791 | ] 1792 | protobuf = [ 1793 | {file = "protobuf-3.17.3-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ab6bb0e270c6c58e7ff4345b3a803cc59dbee19ddf77a4719c5b635f1d547aa8"}, 1794 | {file = "protobuf-3.17.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:13ee7be3c2d9a5d2b42a1030976f760f28755fcf5863c55b1460fd205e6cd637"}, 1795 | {file = "protobuf-3.17.3-cp35-cp35m-macosx_10_9_intel.whl", hash = "sha256:1556a1049ccec58c7855a78d27e5c6e70e95103b32de9142bae0576e9200a1b0"}, 1796 | {file = "protobuf-3.17.3-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:f0e59430ee953184a703a324b8ec52f571c6c4259d496a19d1cabcdc19dabc62"}, 1797 | {file = "protobuf-3.17.3-cp35-cp35m-win32.whl", hash = "sha256:a981222367fb4210a10a929ad5983ae93bd5a050a0824fc35d6371c07b78caf6"}, 1798 | {file = "protobuf-3.17.3-cp35-cp35m-win_amd64.whl", hash = "sha256:6d847c59963c03fd7a0cd7c488cadfa10cda4fff34d8bc8cba92935a91b7a037"}, 1799 | {file = "protobuf-3.17.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:145ce0af55c4259ca74993ddab3479c78af064002ec8227beb3d944405123c71"}, 1800 | {file = "protobuf-3.17.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6ce4d8bf0321e7b2d4395e253f8002a1a5ffbcfd7bcc0a6ba46712c07d47d0b4"}, 1801 | {file = "protobuf-3.17.3-cp36-cp36m-win32.whl", hash = "sha256:7a4c97961e9e5b03a56f9a6c82742ed55375c4a25f2692b625d4087d02ed31b9"}, 1802 | {file = "protobuf-3.17.3-cp36-cp36m-win_amd64.whl", hash = "sha256:a22b3a0dbac6544dacbafd4c5f6a29e389a50e3b193e2c70dae6bbf7930f651d"}, 1803 | {file = "protobuf-3.17.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ffea251f5cd3c0b9b43c7a7a912777e0bc86263436a87c2555242a348817221b"}, 1804 | {file = "protobuf-3.17.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:9b7a5c1022e0fa0dbde7fd03682d07d14624ad870ae52054849d8960f04bc764"}, 1805 | {file = "protobuf-3.17.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:8727ee027157516e2c311f218ebf2260a18088ffb2d29473e82add217d196b1c"}, 1806 | {file = "protobuf-3.17.3-cp37-cp37m-win32.whl", hash = "sha256:14c1c9377a7ffbeaccd4722ab0aa900091f52b516ad89c4b0c3bb0a4af903ba5"}, 1807 | {file = "protobuf-3.17.3-cp37-cp37m-win_amd64.whl", hash = "sha256:c56c050a947186ba51de4f94ab441d7f04fcd44c56df6e922369cc2e1a92d683"}, 1808 | {file = "protobuf-3.17.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2ae692bb6d1992afb6b74348e7bb648a75bb0d3565a3f5eea5bec8f62bd06d87"}, 1809 | {file = "protobuf-3.17.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:99938f2a2d7ca6563c0ade0c5ca8982264c484fdecf418bd68e880a7ab5730b1"}, 1810 | {file = "protobuf-3.17.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6902a1e4b7a319ec611a7345ff81b6b004b36b0d2196ce7a748b3493da3d226d"}, 1811 | {file = "protobuf-3.17.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ffbd23640bb7403574f7aff8368e2aeb2ec9a5c6306580be48ac59a6bac8bde"}, 1812 | {file = "protobuf-3.17.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:26010f693b675ff5a1d0e1bdb17689b8b716a18709113288fead438703d45539"}, 1813 | {file = "protobuf-3.17.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e76d9686e088fece2450dbc7ee905f9be904e427341d289acbe9ad00b78ebd47"}, 1814 | {file = "protobuf-3.17.3-py2.py3-none-any.whl", hash = "sha256:2bfb815216a9cd9faec52b16fd2bfa68437a44b67c56bee59bc3926522ecb04e"}, 1815 | {file = "protobuf-3.17.3.tar.gz", hash = "sha256:72804ea5eaa9c22a090d2803813e280fb273b62d5ae497aaf3553d141c4fdd7b"}, 1816 | ] 1817 | py = [ 1818 | {file = "py-1.10.0-py2.py3-none-any.whl", hash = "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"}, 1819 | {file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"}, 1820 | ] 1821 | pyasn1 = [ 1822 | {file = "pyasn1-0.4.8-py2.4.egg", hash = "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3"}, 1823 | {file = "pyasn1-0.4.8-py2.5.egg", hash = "sha256:0458773cfe65b153891ac249bcf1b5f8f320b7c2ce462151f8fa74de8934becf"}, 1824 | {file = "pyasn1-0.4.8-py2.6.egg", hash = "sha256:5c9414dcfede6e441f7e8f81b43b34e834731003427e5b09e4e00e3172a10f00"}, 1825 | {file = "pyasn1-0.4.8-py2.7.egg", hash = "sha256:6e7545f1a61025a4e58bb336952c5061697da694db1cae97b116e9c46abcf7c8"}, 1826 | {file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"}, 1827 | {file = "pyasn1-0.4.8-py3.1.egg", hash = "sha256:78fa6da68ed2727915c4767bb386ab32cdba863caa7dbe473eaae45f9959da86"}, 1828 | {file = "pyasn1-0.4.8-py3.2.egg", hash = "sha256:08c3c53b75eaa48d71cf8c710312316392ed40899cb34710d092e96745a358b7"}, 1829 | {file = "pyasn1-0.4.8-py3.3.egg", hash = "sha256:03840c999ba71680a131cfaee6fab142e1ed9bbd9c693e285cc6aca0d555e576"}, 1830 | {file = "pyasn1-0.4.8-py3.4.egg", hash = "sha256:7ab8a544af125fb704feadb008c99a88805126fb525280b2270bb25cc1d78a12"}, 1831 | {file = "pyasn1-0.4.8-py3.5.egg", hash = "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2"}, 1832 | {file = "pyasn1-0.4.8-py3.6.egg", hash = "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359"}, 1833 | {file = "pyasn1-0.4.8-py3.7.egg", hash = "sha256:99fcc3c8d804d1bc6d9a099921e39d827026409a58f2a720dcdb89374ea0c776"}, 1834 | {file = "pyasn1-0.4.8.tar.gz", hash = "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"}, 1835 | ] 1836 | pyasn1-modules = [ 1837 | {file = "pyasn1-modules-0.2.8.tar.gz", hash = "sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e"}, 1838 | {file = "pyasn1_modules-0.2.8-py2.4.egg", hash = "sha256:0fe1b68d1e486a1ed5473f1302bd991c1611d319bba158e98b106ff86e1d7199"}, 1839 | {file = "pyasn1_modules-0.2.8-py2.5.egg", hash = "sha256:fe0644d9ab041506b62782e92b06b8c68cca799e1a9636ec398675459e031405"}, 1840 | {file = "pyasn1_modules-0.2.8-py2.6.egg", hash = "sha256:a99324196732f53093a84c4369c996713eb8c89d360a496b599fb1a9c47fc3eb"}, 1841 | {file = "pyasn1_modules-0.2.8-py2.7.egg", hash = "sha256:0845a5582f6a02bb3e1bde9ecfc4bfcae6ec3210dd270522fee602365430c3f8"}, 1842 | {file = "pyasn1_modules-0.2.8-py2.py3-none-any.whl", hash = "sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74"}, 1843 | {file = "pyasn1_modules-0.2.8-py3.1.egg", hash = "sha256:f39edd8c4ecaa4556e989147ebf219227e2cd2e8a43c7e7fcb1f1c18c5fd6a3d"}, 1844 | {file = "pyasn1_modules-0.2.8-py3.2.egg", hash = "sha256:b80486a6c77252ea3a3e9b1e360bc9cf28eaac41263d173c032581ad2f20fe45"}, 1845 | {file = "pyasn1_modules-0.2.8-py3.3.egg", hash = "sha256:65cebbaffc913f4fe9e4808735c95ea22d7a7775646ab690518c056784bc21b4"}, 1846 | {file = "pyasn1_modules-0.2.8-py3.4.egg", hash = "sha256:15b7c67fabc7fc240d87fb9aabf999cf82311a6d6fb2c70d00d3d0604878c811"}, 1847 | {file = "pyasn1_modules-0.2.8-py3.5.egg", hash = "sha256:426edb7a5e8879f1ec54a1864f16b882c2837bfd06eee62f2c982315ee2473ed"}, 1848 | {file = "pyasn1_modules-0.2.8-py3.6.egg", hash = "sha256:cbac4bc38d117f2a49aeedec4407d23e8866ea4ac27ff2cf7fb3e5b570df19e0"}, 1849 | {file = "pyasn1_modules-0.2.8-py3.7.egg", hash = "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd"}, 1850 | ] 1851 | pycodestyle = [ 1852 | {file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"}, 1853 | {file = "pycodestyle-2.7.0.tar.gz", hash = "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"}, 1854 | ] 1855 | pydeprecate = [ 1856 | {file = "pyDeprecate-0.3.0-py3-none-any.whl", hash = "sha256:2497dd3a293eb62304ea28cacf5e4e58af8a773b4cefec8dc11a3121d06b8354"}, 1857 | {file = "pyDeprecate-0.3.0.tar.gz", hash = "sha256:335742ec53b9d22a0a9ff4f3470300c94935f6e169c74b08aee14d871ca40e00"}, 1858 | ] 1859 | pyflakes = [ 1860 | {file = "pyflakes-2.3.1-py2.py3-none-any.whl", hash = "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3"}, 1861 | {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, 1862 | ] 1863 | pyparsing = [ 1864 | {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, 1865 | {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, 1866 | ] 1867 | pysen = [ 1868 | {file = "pysen-0.9.1-py3-none-any.whl", hash = "sha256:706088b904a74b83a341cc7b19f213737412575bc74e851a57e7b6db80e437c9"}, 1869 | {file = "pysen-0.9.1.tar.gz", hash = "sha256:c84953b8eaec7a968e42a89f474ba177665abdf4e051352ec6931a3e96977a41"}, 1870 | ] 1871 | pytest = [ 1872 | {file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"}, 1873 | {file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"}, 1874 | ] 1875 | python-dateutil = [ 1876 | {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, 1877 | {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, 1878 | ] 1879 | python-editor = [ 1880 | {file = "python-editor-1.0.4.tar.gz", hash = "sha256:51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b"}, 1881 | {file = "python_editor-1.0.4-py2-none-any.whl", hash = "sha256:5f98b069316ea1c2ed3f67e7f5df6c0d8f10b689964a4a811ff64f0106819ec8"}, 1882 | {file = "python_editor-1.0.4-py2.7.egg", hash = "sha256:ea87e17f6ec459e780e4221f295411462e0d0810858e055fc514684350a2f522"}, 1883 | {file = "python_editor-1.0.4-py3-none-any.whl", hash = "sha256:1bf6e860a8ad52a14c3ee1252d5dc25b2030618ed80c022598f00176adc8367d"}, 1884 | {file = "python_editor-1.0.4-py3.5.egg", hash = "sha256:c3da2053dbab6b29c94e43c486ff67206eafbe7eb52dbec7390b5e2fb05aac77"}, 1885 | ] 1886 | pytorch-lightning = [ 1887 | {file = "pytorch-lightning-1.3.8.tar.gz", hash = "sha256:60b0a3e464d394864dae4c8d251afa7aa453644a19bb7672f5ee400343cdf7b0"}, 1888 | {file = "pytorch_lightning-1.3.8-py3-none-any.whl", hash = "sha256:f3ccd987d6df628e0339925239dcf20a787e2ce01310f3cab49a58218fe0357b"}, 1889 | ] 1890 | pytz = [ 1891 | {file = "pytz-2021.1-py2.py3-none-any.whl", hash = "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"}, 1892 | {file = "pytz-2021.1.tar.gz", hash = "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da"}, 1893 | ] 1894 | pywin32 = [ 1895 | {file = "pywin32-227-cp27-cp27m-win32.whl", hash = "sha256:371fcc39416d736401f0274dd64c2302728c9e034808e37381b5e1b22be4a6b0"}, 1896 | {file = "pywin32-227-cp27-cp27m-win_amd64.whl", hash = "sha256:4cdad3e84191194ea6d0dd1b1b9bdda574ff563177d2adf2b4efec2a244fa116"}, 1897 | {file = "pywin32-227-cp35-cp35m-win32.whl", hash = "sha256:f4c5be1a293bae0076d93c88f37ee8da68136744588bc5e2be2f299a34ceb7aa"}, 1898 | {file = "pywin32-227-cp35-cp35m-win_amd64.whl", hash = "sha256:a929a4af626e530383a579431b70e512e736e9588106715215bf685a3ea508d4"}, 1899 | {file = "pywin32-227-cp36-cp36m-win32.whl", hash = "sha256:300a2db938e98c3e7e2093e4491439e62287d0d493fe07cce110db070b54c0be"}, 1900 | {file = "pywin32-227-cp36-cp36m-win_amd64.whl", hash = "sha256:9b31e009564fb95db160f154e2aa195ed66bcc4c058ed72850d047141b36f3a2"}, 1901 | {file = "pywin32-227-cp37-cp37m-win32.whl", hash = "sha256:47a3c7551376a865dd8d095a98deba954a98f326c6fe3c72d8726ca6e6b15507"}, 1902 | {file = "pywin32-227-cp37-cp37m-win_amd64.whl", hash = "sha256:31f88a89139cb2adc40f8f0e65ee56a8c585f629974f9e07622ba80199057511"}, 1903 | {file = "pywin32-227-cp38-cp38-win32.whl", hash = "sha256:7f18199fbf29ca99dff10e1f09451582ae9e372a892ff03a28528a24d55875bc"}, 1904 | {file = "pywin32-227-cp38-cp38-win_amd64.whl", hash = "sha256:7c1ae32c489dc012930787f06244426f8356e129184a02c25aef163917ce158e"}, 1905 | {file = "pywin32-227-cp39-cp39-win32.whl", hash = "sha256:c054c52ba46e7eb6b7d7dfae4dbd987a1bb48ee86debe3f245a2884ece46e295"}, 1906 | {file = "pywin32-227-cp39-cp39-win_amd64.whl", hash = "sha256:f27cec5e7f588c3d1051651830ecc00294f90728d19c3bf6916e6dba93ea357c"}, 1907 | ] 1908 | pyyaml = [ 1909 | {file = "PyYAML-5.4.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922"}, 1910 | {file = "PyYAML-5.4.1-cp27-cp27m-win32.whl", hash = "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393"}, 1911 | {file = "PyYAML-5.4.1-cp27-cp27m-win_amd64.whl", hash = "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8"}, 1912 | {file = "PyYAML-5.4.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185"}, 1913 | {file = "PyYAML-5.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253"}, 1914 | {file = "PyYAML-5.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc"}, 1915 | {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347"}, 1916 | {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541"}, 1917 | {file = "PyYAML-5.4.1-cp36-cp36m-win32.whl", hash = "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5"}, 1918 | {file = "PyYAML-5.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df"}, 1919 | {file = "PyYAML-5.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018"}, 1920 | {file = "PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63"}, 1921 | {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa"}, 1922 | {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0"}, 1923 | {file = "PyYAML-5.4.1-cp37-cp37m-win32.whl", hash = "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b"}, 1924 | {file = "PyYAML-5.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf"}, 1925 | {file = "PyYAML-5.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46"}, 1926 | {file = "PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb"}, 1927 | {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247"}, 1928 | {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc"}, 1929 | {file = "PyYAML-5.4.1-cp38-cp38-win32.whl", hash = "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc"}, 1930 | {file = "PyYAML-5.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696"}, 1931 | {file = "PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77"}, 1932 | {file = "PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183"}, 1933 | {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122"}, 1934 | {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6"}, 1935 | {file = "PyYAML-5.4.1-cp39-cp39-win32.whl", hash = "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10"}, 1936 | {file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"}, 1937 | {file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"}, 1938 | ] 1939 | querystring-parser = [ 1940 | {file = "querystring_parser-1.2.4-py2.py3-none-any.whl", hash = "sha256:d2fa90765eaf0de96c8b087872991a10238e89ba015ae59fedfed6bd61c242a0"}, 1941 | {file = "querystring_parser-1.2.4.tar.gz", hash = "sha256:644fce1cffe0530453b43a83a38094dbe422ccba8c9b2f2a1c00280e14ca8a62"}, 1942 | ] 1943 | regex = [ 1944 | {file = "regex-2021.7.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e6a1e5ca97d411a461041d057348e578dc344ecd2add3555aedba3b408c9f874"}, 1945 | {file = "regex-2021.7.6-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:6afe6a627888c9a6cfbb603d1d017ce204cebd589d66e0703309b8048c3b0854"}, 1946 | {file = "regex-2021.7.6-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:ccb3d2190476d00414aab36cca453e4596e8f70a206e2aa8db3d495a109153d2"}, 1947 | {file = "regex-2021.7.6-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:ed693137a9187052fc46eedfafdcb74e09917166362af4cc4fddc3b31560e93d"}, 1948 | {file = "regex-2021.7.6-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:99d8ab206a5270c1002bfcf25c51bf329ca951e5a169f3b43214fdda1f0b5f0d"}, 1949 | {file = "regex-2021.7.6-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:b85ac458354165405c8a84725de7bbd07b00d9f72c31a60ffbf96bb38d3e25fa"}, 1950 | {file = "regex-2021.7.6-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:3f5716923d3d0bfb27048242a6e0f14eecdb2e2a7fac47eda1d055288595f222"}, 1951 | {file = "regex-2021.7.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5983c19d0beb6af88cb4d47afb92d96751fb3fa1784d8785b1cdf14c6519407"}, 1952 | {file = "regex-2021.7.6-cp36-cp36m-win32.whl", hash = "sha256:c92831dac113a6e0ab28bc98f33781383fe294df1a2c3dfd1e850114da35fd5b"}, 1953 | {file = "regex-2021.7.6-cp36-cp36m-win_amd64.whl", hash = "sha256:791aa1b300e5b6e5d597c37c346fb4d66422178566bbb426dd87eaae475053fb"}, 1954 | {file = "regex-2021.7.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:59506c6e8bd9306cd8a41511e32d16d5d1194110b8cfe5a11d102d8b63cf945d"}, 1955 | {file = "regex-2021.7.6-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:564a4c8a29435d1f2256ba247a0315325ea63335508ad8ed938a4f14c4116a5d"}, 1956 | {file = "regex-2021.7.6-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:59c00bb8dd8775473cbfb967925ad2c3ecc8886b3b2d0c90a8e2707e06c743f0"}, 1957 | {file = "regex-2021.7.6-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:9a854b916806c7e3b40e6616ac9e85d3cdb7649d9e6590653deb5b341a736cec"}, 1958 | {file = "regex-2021.7.6-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:db2b7df831c3187a37f3bb80ec095f249fa276dbe09abd3d35297fc250385694"}, 1959 | {file = "regex-2021.7.6-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:173bc44ff95bc1e96398c38f3629d86fa72e539c79900283afa895694229fe6a"}, 1960 | {file = "regex-2021.7.6-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:15dddb19823f5147e7517bb12635b3c82e6f2a3a6b696cc3e321522e8b9308ad"}, 1961 | {file = "regex-2021.7.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ddeabc7652024803666ea09f32dd1ed40a0579b6fbb2a213eba590683025895"}, 1962 | {file = "regex-2021.7.6-cp37-cp37m-win32.whl", hash = "sha256:f080248b3e029d052bf74a897b9d74cfb7643537fbde97fe8225a6467fb559b5"}, 1963 | {file = "regex-2021.7.6-cp37-cp37m-win_amd64.whl", hash = "sha256:d8bbce0c96462dbceaa7ac4a7dfbbee92745b801b24bce10a98d2f2b1ea9432f"}, 1964 | {file = "regex-2021.7.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:edd1a68f79b89b0c57339bce297ad5d5ffcc6ae7e1afdb10f1947706ed066c9c"}, 1965 | {file = "regex-2021.7.6-cp38-cp38-manylinux1_i686.whl", hash = "sha256:422dec1e7cbb2efbbe50e3f1de36b82906def93ed48da12d1714cabcd993d7f0"}, 1966 | {file = "regex-2021.7.6-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:cbe23b323988a04c3e5b0c387fe3f8f363bf06c0680daf775875d979e376bd26"}, 1967 | {file = "regex-2021.7.6-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:0eb2c6e0fcec5e0f1d3bcc1133556563222a2ffd2211945d7b1480c1b1a42a6f"}, 1968 | {file = "regex-2021.7.6-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:1c78780bf46d620ff4fff40728f98b8afd8b8e35c3efd638c7df67be2d5cddbf"}, 1969 | {file = "regex-2021.7.6-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:bc84fb254a875a9f66616ed4538542fb7965db6356f3df571d783f7c8d256edd"}, 1970 | {file = "regex-2021.7.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:598c0a79b4b851b922f504f9f39a863d83ebdfff787261a5ed061c21e67dd761"}, 1971 | {file = "regex-2021.7.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:875c355360d0f8d3d827e462b29ea7682bf52327d500a4f837e934e9e4656068"}, 1972 | {file = "regex-2021.7.6-cp38-cp38-win32.whl", hash = "sha256:e586f448df2bbc37dfadccdb7ccd125c62b4348cb90c10840d695592aa1b29e0"}, 1973 | {file = "regex-2021.7.6-cp38-cp38-win_amd64.whl", hash = "sha256:2fe5e71e11a54e3355fa272137d521a40aace5d937d08b494bed4529964c19c4"}, 1974 | {file = "regex-2021.7.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6110bab7eab6566492618540c70edd4d2a18f40ca1d51d704f1d81c52d245026"}, 1975 | {file = "regex-2021.7.6-cp39-cp39-manylinux1_i686.whl", hash = "sha256:4f64fc59fd5b10557f6cd0937e1597af022ad9b27d454e182485f1db3008f417"}, 1976 | {file = "regex-2021.7.6-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:89e5528803566af4df368df2d6f503c84fbfb8249e6631c7b025fe23e6bd0cde"}, 1977 | {file = "regex-2021.7.6-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:2366fe0479ca0e9afa534174faa2beae87847d208d457d200183f28c74eaea59"}, 1978 | {file = "regex-2021.7.6-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:f9392a4555f3e4cb45310a65b403d86b589adc773898c25a39184b1ba4db8985"}, 1979 | {file = "regex-2021.7.6-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:2bceeb491b38225b1fee4517107b8491ba54fba77cf22a12e996d96a3c55613d"}, 1980 | {file = "regex-2021.7.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:f98dc35ab9a749276f1a4a38ab3e0e2ba1662ce710f6530f5b0a6656f1c32b58"}, 1981 | {file = "regex-2021.7.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:319eb2a8d0888fa6f1d9177705f341bc9455a2c8aca130016e52c7fe8d6c37a3"}, 1982 | {file = "regex-2021.7.6-cp39-cp39-win32.whl", hash = "sha256:eaf58b9e30e0e546cdc3ac06cf9165a1ca5b3de8221e9df679416ca667972035"}, 1983 | {file = "regex-2021.7.6-cp39-cp39-win_amd64.whl", hash = "sha256:4c9c3155fe74269f61e27617529b7f09552fbb12e44b1189cebbdb24294e6e1c"}, 1984 | {file = "regex-2021.7.6.tar.gz", hash = "sha256:8394e266005f2d8c6f0bc6780001f7afa3ef81a7a2111fa35058ded6fce79e4d"}, 1985 | ] 1986 | requests = [ 1987 | {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"}, 1988 | {file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"}, 1989 | ] 1990 | requests-oauthlib = [ 1991 | {file = "requests-oauthlib-1.3.0.tar.gz", hash = "sha256:b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a"}, 1992 | {file = "requests_oauthlib-1.3.0-py2.py3-none-any.whl", hash = "sha256:7f71572defaecd16372f9006f33c2ec8c077c3cfa6f5911a9a90202beb513f3d"}, 1993 | {file = "requests_oauthlib-1.3.0-py3.7.egg", hash = "sha256:fa6c47b933f01060936d87ae9327fead68768b69c6c9ea2109c48be30f2d4dbc"}, 1994 | ] 1995 | rsa = [ 1996 | {file = "rsa-4.7.2-py3-none-any.whl", hash = "sha256:78f9a9bf4e7be0c5ded4583326e7461e3a3c5aae24073648b4bdfa797d78c9d2"}, 1997 | {file = "rsa-4.7.2.tar.gz", hash = "sha256:9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9"}, 1998 | ] 1999 | six = [ 2000 | {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, 2001 | {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, 2002 | ] 2003 | smmap = [ 2004 | {file = "smmap-4.0.0-py2.py3-none-any.whl", hash = "sha256:a9a7479e4c572e2e775c404dcd3080c8dc49f39918c2cf74913d30c4c478e3c2"}, 2005 | {file = "smmap-4.0.0.tar.gz", hash = "sha256:7e65386bd122d45405ddf795637b7f7d2b532e7e401d46bbe3fb49b9986d5182"}, 2006 | ] 2007 | sqlalchemy = [ 2008 | {file = "SQLAlchemy-1.4.22-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:488608953385d6c127d2dcbc4b11f8d7f2f30b89f6bd27c01b042253d985cc2f"}, 2009 | {file = "SQLAlchemy-1.4.22-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:5d856cc50fd26fc8dd04892ed5a5a3d7eeb914fea2c2e484183e2d84c14926e0"}, 2010 | {file = "SQLAlchemy-1.4.22-cp27-cp27m-win32.whl", hash = "sha256:a00d9c6d3a8afe1d1681cd8a5266d2f0ed684b0b44bada2ca82403b9e8b25d39"}, 2011 | {file = "SQLAlchemy-1.4.22-cp27-cp27m-win_amd64.whl", hash = "sha256:5908ea6c652a050d768580d01219c98c071e71910ab8e7b42c02af4010608397"}, 2012 | {file = "SQLAlchemy-1.4.22-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b7fb937c720847879c7402fe300cfdb2aeff22349fa4ea3651bca4e2d6555939"}, 2013 | {file = "SQLAlchemy-1.4.22-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:9bfe882d5a1bbde0245dca0bd48da0976bd6634cf2041d2fdf0417c5463e40e5"}, 2014 | {file = "SQLAlchemy-1.4.22-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eedd76f135461cf237534a6dc0d1e0f6bb88a1dc193678fab48a11d223462da5"}, 2015 | {file = "SQLAlchemy-1.4.22-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6a16c7c4452293da5143afa3056680db2d187b380b3ef4d470d4e29885720de3"}, 2016 | {file = "SQLAlchemy-1.4.22-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44d23ea797a5e0be71bc5454b9ae99158ea0edc79e2393c6e9a2354de88329c0"}, 2017 | {file = "SQLAlchemy-1.4.22-cp36-cp36m-win32.whl", hash = "sha256:a5e14cb0c0a4ac095395f24575a0e7ab5d1be27f5f9347f1762f21505e3ba9f1"}, 2018 | {file = "SQLAlchemy-1.4.22-cp36-cp36m-win_amd64.whl", hash = "sha256:bc34a007e604091ca3a4a057525efc4cefd2b7fe970f44d20b9cfa109ab1bddb"}, 2019 | {file = "SQLAlchemy-1.4.22-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:756f5d2f5b92d27450167247fb574b09c4cd192a3f8c2e493b3e518a204ee543"}, 2020 | {file = "SQLAlchemy-1.4.22-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fcbb4b4756b250ed19adc5e28c005b8ed56fdb5c21efa24c6822c0575b4964d"}, 2021 | {file = "SQLAlchemy-1.4.22-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:09dbb4bc01a734ccddbf188deb2a69aede4b3c153a72b6d5c6900be7fb2945b1"}, 2022 | {file = "SQLAlchemy-1.4.22-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f028ef6a1d828bc754852a022b2160e036202ac8658a6c7d34875aafd14a9a15"}, 2023 | {file = "SQLAlchemy-1.4.22-cp37-cp37m-win32.whl", hash = "sha256:68393d3fd31469845b6ba11f5b4209edbea0b58506be0e077aafbf9aa2e21e11"}, 2024 | {file = "SQLAlchemy-1.4.22-cp37-cp37m-win_amd64.whl", hash = "sha256:891927a49b2363a4199763a9d436d97b0b42c65922a4ea09025600b81a00d17e"}, 2025 | {file = "SQLAlchemy-1.4.22-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:fd2102a8f8a659522719ed73865dff3d3cc76eb0833039dc473e0ad3041d04be"}, 2026 | {file = "SQLAlchemy-1.4.22-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4014978de28163cd8027434916a92d0f5bb1a3a38dff5e8bf8bff4d9372a9117"}, 2027 | {file = "SQLAlchemy-1.4.22-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f814d80844969b0d22ea63663da4de5ca1c434cfbae226188901e5d368792c17"}, 2028 | {file = "SQLAlchemy-1.4.22-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d09a760b0a045b4d799102ae7965b5491ccf102123f14b2a8cc6c01d1021a2d9"}, 2029 | {file = "SQLAlchemy-1.4.22-cp38-cp38-win32.whl", hash = "sha256:26daa429f039e29b1e523bf763bfab17490556b974c77b5ca7acb545b9230e9a"}, 2030 | {file = "SQLAlchemy-1.4.22-cp38-cp38-win_amd64.whl", hash = "sha256:12bac5fa1a6ea870bdccb96fe01610641dd44ebe001ed91ef7fcd980e9702db5"}, 2031 | {file = "SQLAlchemy-1.4.22-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:39b5d36ab71f73c068cdcf70c38075511de73616e6c7fdd112d6268c2704d9f5"}, 2032 | {file = "SQLAlchemy-1.4.22-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5102b9face693e8b2db3b2539c7e1a5d9a5b4dc0d79967670626ffd2f710d6e6"}, 2033 | {file = "SQLAlchemy-1.4.22-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c9373ef67a127799027091fa53449125351a8c943ddaa97bec4e99271dbb21f4"}, 2034 | {file = "SQLAlchemy-1.4.22-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36a089dc604032d41343d86290ce85d4e6886012eea73faa88001260abf5ff81"}, 2035 | {file = "SQLAlchemy-1.4.22-cp39-cp39-win32.whl", hash = "sha256:b48148ceedfb55f764562e04c00539bb9ea72bf07820ca15a594a9a049ff6b0e"}, 2036 | {file = "SQLAlchemy-1.4.22-cp39-cp39-win_amd64.whl", hash = "sha256:1fdae7d980a2fa617d119d0dc13ecb5c23cc63a8b04ffcb5298f2c59d86851e9"}, 2037 | {file = "SQLAlchemy-1.4.22.tar.gz", hash = "sha256:ec1be26cdccd60d180359a527d5980d959a26269a2c7b1b327a1eea0cab37ed8"}, 2038 | ] 2039 | sqlparse = [ 2040 | {file = "sqlparse-0.4.1-py3-none-any.whl", hash = "sha256:017cde379adbd6a1f15a61873f43e8274179378e95ef3fede90b5aa64d304ed0"}, 2041 | {file = "sqlparse-0.4.1.tar.gz", hash = "sha256:0f91fd2e829c44362cbcfab3e9ae12e22badaa8a29ad5ff599f9ec109f0454e8"}, 2042 | ] 2043 | tabulate = [ 2044 | {file = "tabulate-0.8.9-py3-none-any.whl", hash = "sha256:d7c013fe7abbc5e491394e10fa845f8f32fe54f8dc60c6622c6cf482d25d47e4"}, 2045 | {file = "tabulate-0.8.9.tar.gz", hash = "sha256:eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7"}, 2046 | ] 2047 | tensorboard = [ 2048 | {file = "tensorboard-2.4.1-py3-none-any.whl", hash = "sha256:7b8c53c396069b618f6f276ec94fc45d17e3282d668979216e5d30be472115e4"}, 2049 | ] 2050 | tensorboard-plugin-wit = [ 2051 | {file = "tensorboard_plugin_wit-1.8.0-py3-none-any.whl", hash = "sha256:2a80d1c551d741e99b2f197bb915d8a133e24adb8da1732b840041860f91183a"}, 2052 | ] 2053 | toml = [ 2054 | {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, 2055 | {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, 2056 | ] 2057 | tomlkit = [ 2058 | {file = "tomlkit-0.7.2-py2.py3-none-any.whl", hash = "sha256:173ad840fa5d2aac140528ca1933c29791b79a374a0861a80347f42ec9328117"}, 2059 | {file = "tomlkit-0.7.2.tar.gz", hash = "sha256:d7a454f319a7e9bd2e249f239168729327e4dd2d27b17dc68be264ad1ce36754"}, 2060 | ] 2061 | torch = [] 2062 | torchmetrics = [ 2063 | {file = "torchmetrics-0.4.1-py3-none-any.whl", hash = "sha256:70c83f0fc804a4fe00a9e72dbd2960ff76e39ef62570a19bbdce0c15a1ee0d71"}, 2064 | {file = "torchmetrics-0.4.1.tar.gz", hash = "sha256:2fc50f812210c33b8c2649dbb1482e3c47e93cae33e4b3d0427fb830384effbd"}, 2065 | ] 2066 | tqdm = [ 2067 | {file = "tqdm-4.61.2-py2.py3-none-any.whl", hash = "sha256:5aa445ea0ad8b16d82b15ab342de6b195a722d75fc1ef9934a46bba6feafbc64"}, 2068 | {file = "tqdm-4.61.2.tar.gz", hash = "sha256:8bb94db0d4468fea27d004a0f1d1c02da3cdedc00fe491c0de986b76a04d6b0a"}, 2069 | ] 2070 | typed-ast = [ 2071 | {file = "typed_ast-1.4.3-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:2068531575a125b87a41802130fa7e29f26c09a2833fea68d9a40cf33902eba6"}, 2072 | {file = "typed_ast-1.4.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:c907f561b1e83e93fad565bac5ba9c22d96a54e7ea0267c708bffe863cbe4075"}, 2073 | {file = "typed_ast-1.4.3-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:1b3ead4a96c9101bef08f9f7d1217c096f31667617b58de957f690c92378b528"}, 2074 | {file = "typed_ast-1.4.3-cp35-cp35m-win32.whl", hash = "sha256:dde816ca9dac1d9c01dd504ea5967821606f02e510438120091b84e852367428"}, 2075 | {file = "typed_ast-1.4.3-cp35-cp35m-win_amd64.whl", hash = "sha256:777a26c84bea6cd934422ac2e3b78863a37017618b6e5c08f92ef69853e765d3"}, 2076 | {file = "typed_ast-1.4.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb4530f96fe5ef2f"}, 2077 | {file = "typed_ast-1.4.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd54d3b5e5fb4341"}, 2078 | {file = "typed_ast-1.4.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace"}, 2079 | {file = "typed_ast-1.4.3-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca3596d12b8a4c4c7f"}, 2080 | {file = "typed_ast-1.4.3-cp36-cp36m-win32.whl", hash = "sha256:398e44cd480f4d2b7ee8d98385ca104e35c81525dd98c519acff1b79bdaac363"}, 2081 | {file = "typed_ast-1.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:bff6ad71c81b3bba8fa35f0f1921fb24ff4476235a6e94a26ada2e54370e6da7"}, 2082 | {file = "typed_ast-1.4.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d3681b3dc31a266"}, 2083 | {file = "typed_ast-1.4.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99aedadd9246450e9e"}, 2084 | {file = "typed_ast-1.4.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5feca99c17af94057417d744607b82dd0a664fd5e4ca98061480fd8b14b18d04"}, 2085 | {file = "typed_ast-1.4.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:95431a26309a21874005845c21118c83991c63ea800dd44843e42a916aec5899"}, 2086 | {file = "typed_ast-1.4.3-cp37-cp37m-win32.whl", hash = "sha256:aee0c1256be6c07bd3e1263ff920c325b59849dc95392a05f258bb9b259cf39c"}, 2087 | {file = "typed_ast-1.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9ad2c92ec681e02baf81fdfa056fe0d818645efa9af1f1cd5fd6f1bd2bdfd805"}, 2088 | {file = "typed_ast-1.4.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b36b4f3920103a25e1d5d024d155c504080959582b928e91cb608a65c3a49e1a"}, 2089 | {file = "typed_ast-1.4.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5b3dfecec08c5ff"}, 2090 | {file = "typed_ast-1.4.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088a1636180f11a41"}, 2091 | {file = "typed_ast-1.4.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f22ee626a7b88e39"}, 2092 | {file = "typed_ast-1.4.3-cp38-cp38-win32.whl", hash = "sha256:f2362f3cb0f3172c42938946dbc5b7843c2a28aec307c49100c8b38764eb6927"}, 2093 | {file = "typed_ast-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:dd4a21253f42b8d2b48410cb31fe501d32f8b9fbeb1f55063ad102fe9c425e40"}, 2094 | {file = "typed_ast-1.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f328adcfebed9f11301eaedfa48e15bdece9b519fb27e6a8c01aa52a17ec31b3"}, 2095 | {file = "typed_ast-1.4.3-cp39-cp39-manylinux1_i686.whl", hash = "sha256:2c726c276d09fc5c414693a2de063f521052d9ea7c240ce553316f70656c84d4"}, 2096 | {file = "typed_ast-1.4.3-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:cae53c389825d3b46fb37538441f75d6aecc4174f615d048321b716df2757fb0"}, 2097 | {file = "typed_ast-1.4.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b9574c6f03f685070d859e75c7f9eeca02d6933273b5e69572e5ff9d5e3931c3"}, 2098 | {file = "typed_ast-1.4.3-cp39-cp39-win32.whl", hash = "sha256:209596a4ec71d990d71d5e0d312ac935d86930e6eecff6ccc7007fe54d703808"}, 2099 | {file = "typed_ast-1.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:9c6d1a54552b5330bc657b7ef0eae25d00ba7ffe85d9ea8ae6540d2197a3788c"}, 2100 | {file = "typed_ast-1.4.3.tar.gz", hash = "sha256:fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65"}, 2101 | ] 2102 | typing-extensions = [ 2103 | {file = "typing_extensions-3.10.0.0-py2-none-any.whl", hash = "sha256:0ac0f89795dd19de6b97debb0c6af1c70987fd80a2d62d1958f7e56fcc31b497"}, 2104 | {file = "typing_extensions-3.10.0.0-py3-none-any.whl", hash = "sha256:779383f6086d90c99ae41cf0ff39aac8a7937a9283ce0a414e5dd782f4c94a84"}, 2105 | {file = "typing_extensions-3.10.0.0.tar.gz", hash = "sha256:50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342"}, 2106 | ] 2107 | unidiff = [ 2108 | {file = "unidiff-0.6.0-py2.py3-none-any.whl", hash = "sha256:e1dd956a492ccc4351e24931b2f2d29c79e3be17a99dd8f14e95324321d93a88"}, 2109 | {file = "unidiff-0.6.0.tar.gz", hash = "sha256:90c5214e9a357ff4b2fee19d91e77706638e3e00592a732d9405ea4e93da981f"}, 2110 | ] 2111 | urllib3 = [ 2112 | {file = "urllib3-1.26.6-py2.py3-none-any.whl", hash = "sha256:39fb8672126159acb139a7718dd10806104dec1e2f0f6c88aab05d17df10c8d4"}, 2113 | {file = "urllib3-1.26.6.tar.gz", hash = "sha256:f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f"}, 2114 | ] 2115 | waitress = [ 2116 | {file = "waitress-2.0.0-py3-none-any.whl", hash = "sha256:29af5a53e9fb4e158f525367678b50053808ca6c21ba585754c77d790008c746"}, 2117 | {file = "waitress-2.0.0.tar.gz", hash = "sha256:69e1f242c7f80273490d3403c3976f3ac3b26e289856936d1f620ed48f321897"}, 2118 | ] 2119 | wcwidth = [ 2120 | {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, 2121 | {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, 2122 | ] 2123 | websocket-client = [ 2124 | {file = "websocket-client-1.1.0.tar.gz", hash = "sha256:b68e4959d704768fa20e35c9d508c8dc2bbc041fd8d267c0d7345cffe2824568"}, 2125 | {file = "websocket_client-1.1.0-py2.py3-none-any.whl", hash = "sha256:e5c333bfa9fa739538b652b6f8c8fc2559f1d364243c8a689d7c0e1d41c2e611"}, 2126 | ] 2127 | werkzeug = [ 2128 | {file = "Werkzeug-2.0.1-py3-none-any.whl", hash = "sha256:6c1ec500dcdba0baa27600f6a22f6333d8b662d22027ff9f6202e3367413caa8"}, 2129 | {file = "Werkzeug-2.0.1.tar.gz", hash = "sha256:1de1db30d010ff1af14a009224ec49ab2329ad2cde454c8a708130642d579c42"}, 2130 | ] 2131 | yarl = [ 2132 | {file = "yarl-1.6.3-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:0355a701b3998dcd832d0dc47cc5dedf3874f966ac7f870e0f3a6788d802d434"}, 2133 | {file = "yarl-1.6.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:bafb450deef6861815ed579c7a6113a879a6ef58aed4c3a4be54400ae8871478"}, 2134 | {file = "yarl-1.6.3-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:547f7665ad50fa8563150ed079f8e805e63dd85def6674c97efd78eed6c224a6"}, 2135 | {file = "yarl-1.6.3-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:63f90b20ca654b3ecc7a8d62c03ffa46999595f0167d6450fa8383bab252987e"}, 2136 | {file = "yarl-1.6.3-cp36-cp36m-manylinux2014_ppc64le.whl", hash = "sha256:97b5bdc450d63c3ba30a127d018b866ea94e65655efaf889ebeabc20f7d12406"}, 2137 | {file = "yarl-1.6.3-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:d8d07d102f17b68966e2de0e07bfd6e139c7c02ef06d3a0f8d2f0f055e13bb76"}, 2138 | {file = "yarl-1.6.3-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:15263c3b0b47968c1d90daa89f21fcc889bb4b1aac5555580d74565de6836366"}, 2139 | {file = "yarl-1.6.3-cp36-cp36m-win32.whl", hash = "sha256:b5dfc9a40c198334f4f3f55880ecf910adebdcb2a0b9a9c23c9345faa9185721"}, 2140 | {file = "yarl-1.6.3-cp36-cp36m-win_amd64.whl", hash = "sha256:b2e9a456c121e26d13c29251f8267541bd75e6a1ccf9e859179701c36a078643"}, 2141 | {file = "yarl-1.6.3-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:ce3beb46a72d9f2190f9e1027886bfc513702d748047b548b05dab7dfb584d2e"}, 2142 | {file = "yarl-1.6.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:2ce4c621d21326a4a5500c25031e102af589edb50c09b321049e388b3934eec3"}, 2143 | {file = "yarl-1.6.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:d26608cf178efb8faa5ff0f2d2e77c208f471c5a3709e577a7b3fd0445703ac8"}, 2144 | {file = "yarl-1.6.3-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:4c5bcfc3ed226bf6419f7a33982fb4b8ec2e45785a0561eb99274ebbf09fdd6a"}, 2145 | {file = "yarl-1.6.3-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:4736eaee5626db8d9cda9eb5282028cc834e2aeb194e0d8b50217d707e98bb5c"}, 2146 | {file = "yarl-1.6.3-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:68dc568889b1c13f1e4745c96b931cc94fdd0defe92a72c2b8ce01091b22e35f"}, 2147 | {file = "yarl-1.6.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:7356644cbed76119d0b6bd32ffba704d30d747e0c217109d7979a7bc36c4d970"}, 2148 | {file = "yarl-1.6.3-cp37-cp37m-win32.whl", hash = "sha256:00d7ad91b6583602eb9c1d085a2cf281ada267e9a197e8b7cae487dadbfa293e"}, 2149 | {file = "yarl-1.6.3-cp37-cp37m-win_amd64.whl", hash = "sha256:69ee97c71fee1f63d04c945f56d5d726483c4762845400a6795a3b75d56b6c50"}, 2150 | {file = "yarl-1.6.3-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:e46fba844f4895b36f4c398c5af062a9808d1f26b2999c58909517384d5deda2"}, 2151 | {file = "yarl-1.6.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:31ede6e8c4329fb81c86706ba8f6bf661a924b53ba191b27aa5fcee5714d18ec"}, 2152 | {file = "yarl-1.6.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fcbb48a93e8699eae920f8d92f7160c03567b421bc17362a9ffbbd706a816f71"}, 2153 | {file = "yarl-1.6.3-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:72a660bdd24497e3e84f5519e57a9ee9220b6f3ac4d45056961bf22838ce20cc"}, 2154 | {file = "yarl-1.6.3-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:324ba3d3c6fee56e2e0b0d09bf5c73824b9f08234339d2b788af65e60040c959"}, 2155 | {file = "yarl-1.6.3-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:e6b5460dc5ad42ad2b36cca524491dfcaffbfd9c8df50508bddc354e787b8dc2"}, 2156 | {file = "yarl-1.6.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:6d6283d8e0631b617edf0fd726353cb76630b83a089a40933043894e7f6721e2"}, 2157 | {file = "yarl-1.6.3-cp38-cp38-win32.whl", hash = "sha256:9ede61b0854e267fd565e7527e2f2eb3ef8858b301319be0604177690e1a3896"}, 2158 | {file = "yarl-1.6.3-cp38-cp38-win_amd64.whl", hash = "sha256:f0b059678fd549c66b89bed03efcabb009075bd131c248ecdf087bdb6faba24a"}, 2159 | {file = "yarl-1.6.3-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:329412812ecfc94a57cd37c9d547579510a9e83c516bc069470db5f75684629e"}, 2160 | {file = "yarl-1.6.3-cp39-cp39-manylinux1_i686.whl", hash = "sha256:c49ff66d479d38ab863c50f7bb27dee97c6627c5fe60697de15529da9c3de724"}, 2161 | {file = "yarl-1.6.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f040bcc6725c821a4c0665f3aa96a4d0805a7aaf2caf266d256b8ed71b9f041c"}, 2162 | {file = "yarl-1.6.3-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:d5c32c82990e4ac4d8150fd7652b972216b204de4e83a122546dce571c1bdf25"}, 2163 | {file = "yarl-1.6.3-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:d597767fcd2c3dc49d6eea360c458b65643d1e4dbed91361cf5e36e53c1f8c96"}, 2164 | {file = "yarl-1.6.3-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:8aa3decd5e0e852dc68335abf5478a518b41bf2ab2f330fe44916399efedfae0"}, 2165 | {file = "yarl-1.6.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:73494d5b71099ae8cb8754f1df131c11d433b387efab7b51849e7e1e851f07a4"}, 2166 | {file = "yarl-1.6.3-cp39-cp39-win32.whl", hash = "sha256:5b883e458058f8d6099e4420f0cc2567989032b5f34b271c0827de9f1079a424"}, 2167 | {file = "yarl-1.6.3-cp39-cp39-win_amd64.whl", hash = "sha256:4953fb0b4fdb7e08b2f3b3be80a00d28c5c8a2056bb066169de00e6501b986b6"}, 2168 | {file = "yarl-1.6.3.tar.gz", hash = "sha256:8a9066529240171b68893d60dca86a763eae2139dd42f42106b03cf4b426bf10"}, 2169 | ] 2170 | zipp = [ 2171 | {file = "zipp-3.5.0-py3-none-any.whl", hash = "sha256:957cfda87797e389580cb8b9e3870841ca991e2125350677b2ca83a0e99390a3"}, 2172 | {file = "zipp-3.5.0.tar.gz", hash = "sha256:f5812b1e007e48cff63449a5e9f4e7ebea716b4111f9c4f9a645f91d579bf0c4"}, 2173 | ] 2174 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "template-pytorch-lightning-hydra-mlflow-poetry" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["hppRC "] 6 | 7 | [tool.poetry.dependencies] 8 | python = "^3.7" 9 | # please lookup a compatible PyTorch version with your OS and CUDA from: https://download.pytorch.org/whl/torch_stable.html 10 | torch = {url = "https://download.pytorch.org/whl/cu111/torch-1.9.0%2Bcu111-cp37-cp37m-linux_x86_64.whl"} 11 | tqdm = "^4.61.2" 12 | pytorch-lightning = "^1.3.8" 13 | mlflow = "^1.19.0" 14 | hydra-colorlog = "^1.1.0" 15 | hydra-core = "^1.1.0" 16 | omegaconf = "^2.1.0" 17 | 18 | [tool.poetry.dev-dependencies] 19 | pysen = {version = "^0.9.1", extras = ["lint"]} 20 | pytest = "^5.2" 21 | 22 | [build-system] 23 | requires = ["poetry-core>=1.0.0"] 24 | build-backend = "poetry.core.masonry.api" 25 | 26 | [tool.pysen] 27 | version = "0.9" 28 | 29 | [tool.pysen.lint] 30 | enable_black = true 31 | enable_flake8 = true 32 | enable_isort = true 33 | enable_mypy = false 34 | mypy_preset = "strict" 35 | py_version = "py37" 36 | [[tool.pysen.lint.mypy_targets]] 37 | paths = ["."] 38 | -------------------------------------------------------------------------------- /src/data_module.py: -------------------------------------------------------------------------------- 1 | import os 2 | from typing import Optional 3 | 4 | import pytorch_lightning as pl 5 | from src.dataset import TestDataset, TrainDataset, ValDataset 6 | from torch.utils.data import DataLoader 7 | 8 | 9 | class DataModule(pl.LightningDataModule): 10 | def __init__(self, batch_size: int) -> None: 11 | super().__init__() 12 | 13 | self.batch_size = batch_size 14 | self.train = None 15 | self.val = None 16 | self.test = None 17 | 18 | def prepare_data(self): 19 | # download, split, etc... 20 | # only called on 1 GPU/TPU in distributed 21 | pass 22 | 23 | def setup(self, stage: Optional[str] = None) -> None: 24 | # make assignments here (val/train/test split) 25 | # called on every GPUs 26 | self.train = TrainDataset() 27 | self.val = ValDataset() 28 | self.test = TestDataset() 29 | 30 | def train_dataloader(self) -> DataLoader: 31 | return DataLoader( 32 | self.train, 33 | batch_size=self.batch_size, 34 | num_workers=os.cpu_count(), 35 | # pin_memory=True, 36 | ) 37 | 38 | def val_dataloader(self) -> DataLoader: 39 | return DataLoader( 40 | self.val, 41 | batch_size=self.batch_size, 42 | num_workers=os.cpu_count(), 43 | # pin_memory=True, 44 | ) 45 | 46 | def test_dataloader(self) -> DataLoader: 47 | return DataLoader( 48 | self.test, 49 | batch_size=self.batch_size, 50 | num_workers=os.cpu_count(), 51 | # pin_memory=True, 52 | ) 53 | 54 | def teardown(self, stage: Optional[str] = None): 55 | # clean up after fit or test 56 | # called on every process in DDP 57 | pass 58 | -------------------------------------------------------------------------------- /src/dataset.py: -------------------------------------------------------------------------------- 1 | from typing import List, Union 2 | 3 | import torch 4 | from torch import Tensor 5 | from torch.utils.data import Dataset 6 | 7 | 8 | class Dataset(torch.utils.data.Dataset): 9 | def __len__(self) -> None: 10 | return len(self.dataset) 11 | 12 | def __getitem__(self, key: Union[int, slice]) -> Union[Tensor, List[Tensor]]: 13 | return self.dataset[key] 14 | 15 | 16 | class TrainDataset(Dataset): 17 | def __init__(self) -> None: 18 | super().__init__() 19 | # like a dataset of images 20 | self.dataset = [torch.randn(1, 28, 28) for _ in range(80000)] 21 | 22 | 23 | class ValDataset(Dataset): 24 | def __init__(self) -> None: 25 | super().__init__() 26 | self.dataset = [torch.randn(1, 28, 28) for _ in range(10000)] 27 | 28 | 29 | class TestDataset(Dataset): 30 | def __init__(self) -> None: 31 | super().__init__() 32 | self.dataset = [torch.randn(1, 28, 28) for _ in range(10000)] 33 | -------------------------------------------------------------------------------- /src/experiment.py: -------------------------------------------------------------------------------- 1 | import pytorch_lightning as pl 2 | import torch 3 | import torch.nn.functional as F 4 | from hydra.utils import instantiate 5 | from omegaconf import DictConfig 6 | from pytorch_lightning.callbacks import LearningRateMonitor 7 | from src.data_module import DataModule 8 | from src.model import VAE 9 | from torch import Tensor 10 | from torch.optim import Optimizer 11 | 12 | 13 | class Experiment(pl.LightningModule): 14 | def __init__(self, config: DictConfig) -> None: 15 | super(Experiment, self).__init__() 16 | self.config: DictConfig = config 17 | logger = instantiate(config.logger) 18 | self.trainer = instantiate( 19 | config.trainer, 20 | logger=logger, 21 | callbacks=[ 22 | LearningRateMonitor(logging_interval="step"), 23 | ], 24 | ) 25 | self.model = VAE(latent_dim=config.latent_dim) 26 | self.data_module = DataModule(batch_size=config.batch_size) 27 | 28 | def configure_optimizers(self): 29 | params = self.model.parameters() 30 | optimizer: Optimizer = instantiate(self.config.optimizer, params=params) 31 | scheduler = instantiate(self.config.scheduler, optimizer=optimizer) 32 | return [optimizer], [scheduler] 33 | 34 | def loss_fn(self, recon_x: Tensor, x: Tensor, mu: Tensor, logvar: Tensor) -> Tensor: 35 | BCE = F.binary_cross_entropy_with_logits( 36 | recon_x, x.view(-1, 784), reduction="sum" 37 | ) 38 | # see Appendix B from VAE paper: 39 | # Kingma and Welling. Auto-Encoding Variational Bayes. ICLR, 2014 40 | # https://arxiv.org/abs/1312.6114 41 | KLD = -0.5 * torch.sum(1 + logvar - mu.pow(2) - logvar.exp()) 42 | return BCE + KLD 43 | 44 | def training_step(self, batch: Tensor, batch_idx: int): 45 | recon_batch, mu, logvar = self.model(batch) 46 | loss = self.loss_fn(recon_batch, batch, mu, logvar) 47 | self.log("train_loss", loss) 48 | return loss 49 | 50 | def validation_step(self, batch: Tensor, batch_idx: int): 51 | recon_batch, mu, logvar = self.model(batch) 52 | loss = self.loss_fn(recon_batch, batch, mu, logvar) 53 | self.log("val_loss", loss) 54 | return loss 55 | 56 | # train your model 57 | def fit(self): 58 | self.trainer.fit(self, self.data_module) 59 | self.logger.log_hyperparams( 60 | { 61 | "batch_size": self.config.batch_size, 62 | "lr": self.config.lr, 63 | } 64 | ) 65 | self.log_artifact(".hydra/config.yaml") 66 | self.log_artifact(".hydra/hydra.yaml") 67 | self.log_artifact(".hydra/overrides.yaml") 68 | self.log_artifact("main.log") 69 | 70 | # run your whole experiments 71 | def run(self): 72 | self.fit() 73 | 74 | def log_artifact(self, artifact_path: str): 75 | self.logger.experiment.log_artifact(self.logger.run_id, artifact_path) 76 | -------------------------------------------------------------------------------- /src/model.py: -------------------------------------------------------------------------------- 1 | from typing import Tuple 2 | 3 | import torch 4 | import torch.nn as nn 5 | import torch.nn.functional as F 6 | from torch import Tensor 7 | 8 | 9 | class VAE(nn.Module): 10 | def __init__(self, latent_dim: int) -> None: 11 | super(VAE, self).__init__() 12 | 13 | self.fc1 = nn.Linear(784, 400) 14 | self.fc2_mu = nn.Linear(400, latent_dim) 15 | self.fc2_logvar = nn.Linear(400, latent_dim) 16 | self.fc3 = nn.Linear(latent_dim, 400) 17 | self.fc4 = nn.Linear(400, 784) 18 | 19 | def reparameterize(self, mu: Tensor, logvar: Tensor) -> Tensor: 20 | std = torch.exp(0.5 * logvar) 21 | eps = torch.randn_like(std) 22 | return mu + eps * std 23 | 24 | def encode(self, x: Tensor) -> Tuple[Tensor, Tensor]: 25 | h1 = F.relu(self.fc1(x)) 26 | mu = self.fc2_mu(h1) 27 | logvar = self.fc2_logvar(h1) 28 | return mu, logvar 29 | 30 | def decode(self, z: Tensor) -> Tensor: 31 | h3 = F.relu(self.fc3(z)) 32 | return torch.sigmoid(self.fc4(h3)) 33 | 34 | def forward(self, x: Tensor) -> Tuple[Tensor, Tensor, Tensor]: 35 | mu, logvar = self.encode(x.view(-1, 784)) 36 | z = self.reparameterize(mu, logvar) # latent variables 37 | out = self.decode(z) 38 | return out, mu, logvar 39 | --------------------------------------------------------------------------------