├── tests ├── __init__.py ├── data │ ├── lcf1.fits │ ├── lcf2.fits │ ├── tpf1.fits │ └── tpf2.fits └── test_tess_sip.py ├── docs ├── demo1.png ├── demo2.png └── demo.py ├── src └── tess_sip │ ├── __init__.py │ └── tess_sip.py ├── .flake8 ├── .github └── workflows │ ├── black.yml │ ├── flake8.yml │ └── pytest.yml ├── pyproject.toml ├── LICENSE ├── README.md └── poetry.lock /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/demo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/christinahedges/TESS-SIP/HEAD/docs/demo1.png -------------------------------------------------------------------------------- /docs/demo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/christinahedges/TESS-SIP/HEAD/docs/demo2.png -------------------------------------------------------------------------------- /tests/data/lcf1.fits: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/christinahedges/TESS-SIP/HEAD/tests/data/lcf1.fits -------------------------------------------------------------------------------- /tests/data/lcf2.fits: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/christinahedges/TESS-SIP/HEAD/tests/data/lcf2.fits -------------------------------------------------------------------------------- /tests/data/tpf1.fits: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/christinahedges/TESS-SIP/HEAD/tests/data/tpf1.fits -------------------------------------------------------------------------------- /tests/data/tpf2.fits: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/christinahedges/TESS-SIP/HEAD/tests/data/tpf2.fits -------------------------------------------------------------------------------- /src/tess_sip/__init__.py: -------------------------------------------------------------------------------- 1 | from .tess_sip import SIP 2 | 3 | __version__ = "1.1.0" 4 | __all__ = ["SIP"] 5 | -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 127 3 | max-complexity = 16 4 | count = True 5 | show-source = True 6 | extend-ignore = E203, E741 7 | -------------------------------------------------------------------------------- /.github/workflows/black.yml: -------------------------------------------------------------------------------- 1 | name: black 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | lint: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v2 10 | - uses: actions/setup-python@v2 11 | -------------------------------------------------------------------------------- /.github/workflows/flake8.yml: -------------------------------------------------------------------------------- 1 | name: flake8 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | name: flake8 9 | steps: 10 | - uses: actions/checkout@v1 11 | - name: Set up Python 3.6.7 12 | uses: actions/setup-python@v1 13 | with: 14 | python-version: 3.6.7 15 | - name: Install dependencies 16 | run: | 17 | python -m pip install --upgrade pip 18 | python -m pip install poetry 19 | poetry install 20 | - name: Run flake8 21 | run: | 22 | poetry run flake8 src 23 | poetry run flake8 tests 24 | -------------------------------------------------------------------------------- /.github/workflows/pytest.yml: -------------------------------------------------------------------------------- 1 | name: pytest 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | build: 7 | 8 | runs-on: ubuntu-latest 9 | strategy: 10 | matrix: 11 | python-version: [3.6, 3.7, 3.8] 12 | 13 | steps: 14 | - uses: actions/checkout@v2 15 | - name: Set up Python ${{ matrix.python-version }} 16 | uses: actions/setup-python@v2 17 | with: 18 | python-version: ${{ matrix.python-version }} 19 | - name: Install dependencies 20 | run: | 21 | python -m pip install --upgrade pip 22 | python -m pip install poetry 23 | poetry install 24 | - name: Test with pytest 25 | run: | 26 | poetry run pytest src tests 27 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "tess-sip" 3 | version = "1.1.0" 4 | description = "Demo tool for creating a Systematics-insensitive Periodogram (SIP) to detect long period rotation in NASA's TESS mission data." 5 | authors = ["Christina Hedges "] 6 | readme = "README.md" 7 | license = "MIT" 8 | keywords = ["NASA, TESS, Astronomy"] 9 | 10 | [tool.poetry.dependencies] 11 | python = "^3.6.1" 12 | lightkurve = ">=2.0.4" 13 | numpy = ">1.18.2" 14 | scipy = ">1.5.3" 15 | astropy = ">3.2.3" 16 | tqdm = ">4.41.1" 17 | 18 | [tool.poetry.dev-dependencies] 19 | jupyterlab = "^2.2.9" 20 | pytest = "^6.2.4" 21 | jedi = "0.17.2" 22 | flake8 = "^3.9.2" 23 | 24 | [build-system] 25 | requires = ["poetry-core>=1.0.0"] 26 | build-backend = "poetry.core.masonry.api" 27 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Christina Hedges 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /tests/test_tess_sip.py: -------------------------------------------------------------------------------- 1 | import tess_sip as ts 2 | import lightkurve as lk 3 | import os 4 | import numpy as np 5 | 6 | PACKAGEDIR = os.path.abspath(os.path.dirname(__file__)) 7 | TESTDIR = "/".join(PACKAGEDIR.split("/")[:-1]) 8 | 9 | tpf_filenames = [ 10 | TESTDIR + "/tests/data/tpf1.fits", 11 | TESTDIR + "/tests/data/tpf2.fits", 12 | ] 13 | 14 | lcf_filenames = [ 15 | TESTDIR + "/tests/data/lcf1.fits", 16 | TESTDIR + "/tests/data/lcf2.fits", 17 | ] 18 | 19 | 20 | def test_sip(): 21 | keys = [ 22 | "periods", 23 | "power", 24 | "raw_lc", 25 | "corr_lc", 26 | "period_at_max_power", 27 | "model", 28 | "power_bkg", 29 | "raw_lc_bkg", 30 | ] 31 | 32 | tpfs = lk.TargetPixelFileCollection([lk.read(f) for f in tpf_filenames]) 33 | lc, lc_bkg, data_uncorr, bkgs = ts.tess_sip.prepare_tpfs(tpfs) 34 | r1 = ts.SIP(tpfs) 35 | assert np.all([key in r1 for key in keys]) 36 | lcfs = lk.LightCurveCollection([lk.read(f) for f in lcf_filenames]) 37 | lc, data_uncorr, bkgs = ts.tess_sip.prepare_lcfs(lcfs) 38 | r2 = ts.SIP(lcfs) 39 | assert np.all([key in r2 for key in keys[:-2]]) 40 | -------------------------------------------------------------------------------- /docs/demo.py: -------------------------------------------------------------------------------- 1 | import sys 2 | sys.path.append('/Users/ch/K2/requests/ruth/tess-long-period-tools/TESS-SIP/src/') 3 | from tess_sip import SIP 4 | import lightkurve as lk 5 | import numpy as np 6 | import matplotlib.pyplot as plt 7 | plt.style.use('seaborn-white') 8 | 9 | # Download target pixel files 10 | # We're using TOI-700 11 | tpfs = lk.search_targetpixelfile('TIC 150428135', mission='TESS', author='SPOC', exptime=120).download_all() 12 | # Run SIP 13 | r = SIP(tpfs, min_period=10, max_period=80) 14 | 15 | # Example plotting 16 | fig, axs = plt.subplots(3, figsize=(4, 6)) 17 | axs[0].plot(r['periods'], r['power'], c='k') 18 | axs[0].set(xlabel='Period [d]', ylabel='Power', title='Periodogram') 19 | axs[0].axvline(r['period_at_max_power'], color='r', ls='--', label=f"{r['period_at_max_power']:0.2f} days") 20 | axs[0].legend() 21 | axs[1].plot(r['periods'], r['power_bkg'], c='b', label='BKG Power') 22 | axs[1].axvline(r['period_at_max_power'], color='r', ls='--', label=f"{r['period_at_max_power']:0.2f} days") 23 | axs[1].legend() 24 | axs[2].set(xlabel='Period [d]', ylabel='Power', title='Periodogram') 25 | r['raw_lc'].plot(ax=axs[2], c='r', label='Raw', alpha=0.5) 26 | r['corr_lc'].plot(ax=axs[2], c='k', label='Corrected', lw=0.1) 27 | axs[2].set(ylim=(0.9, 1.1)) 28 | plt.savefig('demo1.png', dpi=200, bbox_inches='tight') 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TESS SIP 2 | Test status 3 | pypi status 4 | DOI 5 | 6 | Tool for creating a Systematics-insensitive Periodogram (SIP) to detect long period rotation in NASA's TESS mission data. Read more about TESS-SIP in our published [Research Note of the American Astronomical Society](https://iopscience.iop.org/article/10.3847/2515-5172/abd106/meta). 7 | 8 | ## What is SIP 9 | 10 | SIP is a method of detrending telescope systematics simultaneously with calculating a Lomb-Scargle periodogram. You can read a more in-depth work of how SIP is used in NASA's Kepler/K2 data [here](https://ui.adsabs.harvard.edu/abs/2016ApJ...818..109A/abstract). 11 | 12 | 13 | ## Usage 14 | 15 | This repository contains a Python tool to create a SIP. An example of a SIP output is below. You can run a simple notebook in the `docs` folder to show how to use SIP. 16 | 17 | ```python 18 | from tess_sip import SIP 19 | import lightkurve as lk 20 | # Download target pixel files 21 | tpfs = lk.search_targetpixelfile('TIC 288735205', mission='tess').download_all() 22 | # Run SIP 23 | r = SIP(tpfs) 24 | ``` 25 | 26 | `r` is a dictionary containing all the information required to build a plot like the one below. 27 | 28 | ![Example SIP output](https://github.com/christinahedges/TESS-SIP/blob/master/docs/demo1.png?raw=true) 29 | 30 | ### Installation 31 | 32 | You can pip install this tool: 33 | 34 | ``` 35 | pip install tess_sip 36 | ``` 37 | 38 | 39 | ## Requirements 40 | 41 | To run this demo you will need to have [lightkurve](https://github.com/keplerGO/lightkurve) installed, with a minimum version number of v2.0. 42 | 43 | ## Acknowledgements 44 | 45 | This tool uses the [lightkurve](https://github.com/keplerGO/lightkurve) tool to build a SIP, and relies on the `RegressionCorrector` and `SparseDesignMatrix` lightkurve tools. The SIP project was developed in part at the `online.tess.science` meeting, which took place globally in 2020 September. This research made use of [Astropy](http://www.astropy.org.) a community-developed core Python package for Astronomy. 46 | -------------------------------------------------------------------------------- /src/tess_sip/tess_sip.py: -------------------------------------------------------------------------------- 1 | import lightkurve as lk 2 | import numpy as np 3 | from scipy import sparse 4 | from tqdm import tqdm 5 | import warnings 6 | 7 | from astropy.timeseries import lombscargle 8 | 9 | 10 | def vstack(dms): 11 | """Custom vertical stack script to stack lightkurve design matrices""" 12 | npoints = np.sum([dm.shape[0] for dm in dms]) 13 | ncomps = np.sum([dm.shape[1] for dm in dms]) 14 | if sparse.issparse(dms[0].X): 15 | X = sparse.lil_matrix((npoints, ncomps)) 16 | else: 17 | X = np.zeros((npoints, ncomps)) 18 | idx = 0 19 | jdx = 0 20 | for dm in dms: 21 | X[idx : idx + dm.shape[0], jdx : jdx + dm.shape[1]] += dm.X 22 | idx = idx + dm.shape[0] 23 | jdx = jdx + dm.shape[1] 24 | prior_mu = np.hstack([dm.prior_mu for dm in dms]) 25 | prior_sigma = np.hstack([dm.prior_sigma for dm in dms]) 26 | name = dms[0].name 27 | if sparse.issparse(dms[0].X): 28 | return lk.correctors.SparseDesignMatrix( 29 | X.tocsr(), name=name, prior_mu=prior_mu, prior_sigma=prior_sigma 30 | ) 31 | else: 32 | return lk.correctors.DesignMatrix( 33 | X, name=name, prior_mu=prior_mu, prior_sigma=prior_sigma 34 | ) 35 | 36 | 37 | def prepare_tpfs(data, npca_components=3, aperture_threshold=3): 38 | """Creates a dataset for TESS-SIP 39 | 40 | Parameters: 41 | ----------- 42 | data: lk.TargetPixelFileCollection 43 | Collection of target pixel files create a SIP 44 | npca_components: int 45 | Number of principle components to use for background 46 | 47 | Returns: 48 | ----------- 49 | lc : lk.LightCurve 50 | The light curve to create a TESS SIP of 51 | lc_bkg: : lk.LightCurve 52 | The light curve of the background pixels 53 | data_uncorr: list 54 | List of the input TPFs, with the scattered light 55 | re added. (TESS Pipeline removes it) 56 | bkgs : list 57 | List of design matrices containing the background information. 58 | """ 59 | with warnings.catch_warnings(): 60 | warnings.simplefilter("ignore") 61 | 62 | # Get the un-background subtracted data 63 | if hasattr(data[0], "flux_bkg"): 64 | data_uncorr = [ 65 | (tpf + np.nan_to_num(tpf.flux_bkg.value))[ 66 | np.isfinite(np.nansum(tpf.flux_bkg.value, axis=(1, 2))) 67 | ] 68 | for tpf in data 69 | ] 70 | else: 71 | data_uncorr = [tpf for tpf in data] 72 | 73 | apers = [ 74 | tpf.pipeline_mask 75 | if tpf.pipeline_mask.any() 76 | else tpf.create_threshold_mask(aperture_threshold) 77 | for tpf in data_uncorr 78 | ] 79 | bkg_apers = [ 80 | (~aper) & (np.nansum(tpf.flux, axis=0) != 0) 81 | for aper, tpf in zip(apers, data_uncorr) 82 | ] 83 | lc = ( 84 | lk.LightCurveCollection( 85 | [ 86 | tpf.to_lightcurve(aperture_mask=aper) 87 | for tpf, aper in zip(data_uncorr, apers) 88 | ] 89 | ) 90 | .stitch(lambda x: x) 91 | .normalize() 92 | ) 93 | lc.flux_err.value[~np.isfinite(lc.flux_err.value)] = np.nanmedian( 94 | lc.flux_err.value 95 | ) 96 | 97 | # Run the same routines on the background pixels 98 | lc_bkg = ( 99 | lk.LightCurveCollection( 100 | [ 101 | tpf.to_lightcurve(aperture_mask=bkg_aper) 102 | for tpf, bkg_aper in zip(data_uncorr, bkg_apers) 103 | ] 104 | ) 105 | .stitch(lambda x: x) 106 | .normalize() 107 | ) 108 | lc_bkg.flux_err.value[~np.isfinite(lc_bkg.flux_err.value)] = np.nanmedian( 109 | lc_bkg.flux_err.value 110 | ) 111 | 112 | bkgs = [ 113 | lk.correctors.DesignMatrix( 114 | np.nan_to_num(tpf.flux.value[:, bkg_aper]), name="bkg" 115 | ) 116 | .pca(npca_components) 117 | .append_constant() 118 | .to_sparse() 119 | for tpf, bkg_aper in zip(data_uncorr, bkg_apers) 120 | ] 121 | for bkg in bkgs: 122 | bkg.prior_mu[-1] = 1 123 | bkg.prior_sigma[-1] = 0.1 124 | bkg.prior_mu[:-1] = 0 125 | bkg.prior_sigma[:-1] = 0.1 126 | 127 | # Split at the datadownlink 128 | bkgs = [ 129 | bkg.split(list((np.where(np.diff(tpf.time.jd) > 0.3)[0] + 1))) 130 | for bkg, tpf in zip(bkgs, data_uncorr) 131 | ] 132 | return lc, lc_bkg, data_uncorr, bkgs 133 | 134 | 135 | def prepare_lcfs(data): 136 | """Creates a dataset for TESS-SIP 137 | 138 | Parameters: 139 | ----------- 140 | data: lk.LightCurveCollection 141 | Collection of light curve files create a SIP 142 | 143 | Returns: 144 | ----------- 145 | lc : lk.LightCurve 146 | The light curve to create a TESS SIP of 147 | data_uncorr: list 148 | List of the input LCFs, with the scattered light 149 | re added. (TESS Pipeline removes it) 150 | bkgs : list 151 | List of design matrices containing the background information. 152 | """ 153 | with warnings.catch_warnings(): 154 | warnings.simplefilter("ignore") 155 | 156 | for lcf in data: 157 | lcf.remove_nans(column="sap_flux") 158 | lcf.remove_nans(column="sap_bkg") 159 | lcf.flux = lcf.sap_flux 160 | lcf.flux_err = lcf.sap_flux_err 161 | data_uncorr = [ 162 | (lcf + np.nan_to_num(lcf.sap_bkg))[np.isfinite(lcf.sap_bkg)] for lcf in data 163 | ] 164 | 165 | lc = lk.LightCurveCollection(data_uncorr).stitch(lambda x: x).normalize() 166 | 167 | # lc_bkg = lk.LightCurveCollection(data_uncorr).stitch(lambda x: x) 168 | # lc_bkg.flux = lc_bkg.sap_bkg 169 | # lc_bkg.flux_err = lc_bkg.sap_bkg_err 170 | # lc_bkg = lc_bkg.normalize() 171 | 172 | bkgs = [ 173 | lk.correctors.DesignMatrix(np.nan_to_num(lcf.sap_bkg.value), name="bkg") 174 | .append_constant() 175 | .to_sparse() 176 | for lcf in data_uncorr 177 | ] 178 | for bkg in bkgs: 179 | bkg.prior_mu[-1] = 1 180 | bkg.prior_sigma[-1] = 0.1 181 | bkg.prior_mu[:-1] = 0 182 | bkg.prior_sigma[:-1] = 0.1 183 | 184 | # Split at the datadownlink 185 | bkgs = [ 186 | bkg.split(list((np.where(np.diff(tpf.time.jd) > 0.3)[0] + 1))) 187 | for bkg, tpf in zip(bkgs, data_uncorr) 188 | ] 189 | return lc, data_uncorr, bkgs 190 | 191 | 192 | def fit_model(lc, dm, sigma_f_inv, mask=None, return_model=False): 193 | if mask is None: 194 | mask = np.ones(len(lc.flux.value), bool) 195 | sigma_w_inv = dm.X[mask].T.dot(dm.X[mask].multiply(sigma_f_inv[mask])).toarray() 196 | sigma_w_inv += np.diag(1.0 / dm.prior_sigma ** 2) 197 | 198 | B = dm.X[mask].T.dot((lc.flux.value[mask] / lc.flux_err.value[mask] ** 2)) 199 | B += dm.prior_mu / dm.prior_sigma ** 2 200 | w = np.linalg.solve(sigma_w_inv, B) 201 | with warnings.catch_warnings(): 202 | warnings.simplefilter("ignore") 203 | werr = ((np.linalg.inv(sigma_w_inv)) ** 0.5).diagonal() 204 | if return_model: 205 | return dm.X.dot(w) 206 | return w, werr 207 | 208 | 209 | def SIP( 210 | data, 211 | sigma=5, 212 | min_period=10, 213 | max_period=100, 214 | nperiods=300, 215 | npca_components=2, 216 | aperture_threshold=3, 217 | sff=False, 218 | sff_kwargs={}, 219 | periods=None, 220 | ): 221 | """ 222 | Systematics-insensitive periodogram for finding periods in long period NASA's TESS data. 223 | 224 | SIP can be used to find the best fitting sinusoid period in long period TESS data, while 225 | mitigating the instrument and scattered light background systematics. 226 | 227 | A description of the concepts behind a SIP is given here in the context of K2 data: 228 | https://ui.adsabs.harvard.edu/abs/2016ApJ...818..109A/abstract 229 | 230 | Parameters 231 | ---------- 232 | data : lightkurve.TargetPixelFileCollection or lk.collections.LightCurveCollection 233 | A collection of target pixel files or light curve files from the TESS mission. 234 | This can be generated using lightkurve's search functions, for example: 235 | tpfs = lk.search_targetpixelfile('TIC 288735205', mission='tess').download_all() 236 | OR 237 | lcfs = lk.search_lightcurve('TIC 288735205', mission='tess').download_all() 238 | sigma : int or float 239 | SIP will run a single first iteration at a period of 27 days to remove significant 240 | outliers. Set sigma to a value, above which outliers will be clipped 241 | min_period : float 242 | The minimum period for the periodogram 243 | max_period : float 244 | The maximum period for the periodogram 245 | nperiods : int 246 | The number of periods to fit 247 | npca_components : int 248 | Number of pca components to detrend with. Default is 2. 249 | aperture_threshold : float 250 | If there is no aperture mask from the pipeline, will create one. Set 251 | aperture_threshold to set the thresholding for the aperture creation. 252 | (See lightkurve's create_threshold_mask function.) 253 | sff : boolean 254 | Whether to run SFF detrending simultaneously. This is most useful for K2 data. 255 | When True, will run SFF detrending. 256 | sff_kwargs : dict 257 | Dictionary of SFF key words to pass. See lightkurve's SFFCorrector. 258 | periods : None or numpy.ndarray 259 | A list of specific periods to use when evaluating the periodogram. If this 260 | parameter is not None, then the parameters min_period, max_period, and 261 | nperiods will be ignored. 262 | 263 | Returns 264 | ------- 265 | r : dict 266 | Dictionary containing the following entries: 267 | periods: the periods evaluated 268 | power: the power at each period (definite as the amplitude of the sinusoid) 269 | raw_lc: the original light curve from the input target pixel files 270 | corr_lc: the light curve with the best fitting systematics removed 271 | period_at_max_power: the best fit period of the sinusoid. 272 | power_bkg: the power at each period for the pixels -outside- the aperture 273 | raw_lc_bkg: the background light curve (pixels outside aperture) 274 | model: the systematics model used to correct the light curve 275 | """ 276 | 277 | # Checking if input data is correct type 278 | if isinstance(data, lk.TargetPixelFileCollection): 279 | if not all([isinstance(tpf, lk.TessTargetPixelFile) for tpf in data]): 280 | raise TypeError( 281 | """The list of objects within the input data type 282 | lightkurve.TargetPixelFileCollection must be all be type: 283 | lightkurve.TessTargetPixelFile""" 284 | ) 285 | elif isinstance(data, lk.LightCurveCollection): 286 | if not all([isinstance(lcf, lk.TessLightCurve) for lcf in data]): 287 | raise TypeError( 288 | """The list of objects within the input data type 289 | lightkurve.LightCurveCollection must be all be type: 290 | lightkurve.TessLightCurve""" 291 | ) 292 | else: 293 | raise TypeError( 294 | """The data input must be a collection of target pixel files 295 | or light curve files of type: 296 | lightkurve.TargetPixelFileCollection 297 | OR 298 | lightkurve.LightCurveCollection""" 299 | ) 300 | 301 | # Setup data 302 | # Setup for when input data is a collection of target pixel files 303 | if isinstance(data, lk.TargetPixelFileCollection): 304 | lc, lc_bkg, data_uncorr, bkgs = prepare_tpfs( 305 | data, npca_components=npca_components, aperture_threshold=aperture_threshold 306 | ) 307 | fit_bkg = True 308 | 309 | # Setup for when input data is a collection of light curve files 310 | elif isinstance(data, lk.LightCurveCollection): 311 | lc, data_uncorr, bkgs = prepare_lcfs(data) 312 | fit_bkg = False 313 | 314 | systematics_dm = vstack(bkgs) 315 | sigma_f_inv = sparse.csr_matrix(1 / lc.flux_err.value[:, None] ** 2) 316 | 317 | # Make a dummy design matrix 318 | period = 27 319 | ls_dm = lk.correctors.DesignMatrix( 320 | lombscargle.implementations.mle.design_matrix( 321 | lc.time.jd, frequency=1 / period, bias=False, nterms=1 322 | ), 323 | name="LS", 324 | ).to_sparse() 325 | ls_dm.prior_sigma = np.ones(ls_dm.shape[1]) * 1000 326 | dm = lk.correctors.SparseDesignMatrixCollection( 327 | [systematics_dm, ls_dm] 328 | ).to_designmatrix(name="design_matrix") 329 | 330 | if sff: 331 | sff_dm = [] 332 | for lc in data_uncorr: 333 | if not isinstance(lc, lk.LightCurve): 334 | lc = lc.to_lightcurve() 335 | s = lk.correctors.SFFCorrector(lc) 336 | _ = s.correct(**sff_kwargs) 337 | sff_dm.append(s.dmc["sff"].to_sparse()) 338 | sff_dm = vstack(sff_dm) 339 | dm = lk.correctors.SparseDesignMatrixCollection([dm, sff_dm]).to_designmatrix( 340 | name="design_matrix" 341 | ) 342 | 343 | # Do a first pass at 27 days, just to find ridiculous outliers 344 | mask = np.isfinite(lc.flux.value) 345 | mask &= np.isfinite(lc.flux_err.value) 346 | mod = fit_model(lc, dm, sigma_f_inv, mask=mask, return_model=True) 347 | mask = ~(lc - mod * lc.flux.unit).remove_outliers(return_mask=True, sigma=sigma)[1] 348 | if periods is not None: 349 | periods = np.copy(periods) 350 | else: 351 | # Loop over some periods we care about 352 | periods = 1 / np.linspace(1 / min_period, 1 / max_period, nperiods) 353 | 354 | ws = np.zeros((len(periods), dm.X.shape[1])) 355 | ws_err = np.zeros((len(periods), dm.X.shape[1])) 356 | if fit_bkg: 357 | ws_bkg = np.zeros((len(periods), dm.X.shape[1])) 358 | ws_err_bkg = np.zeros((len(periods), dm.X.shape[1])) 359 | 360 | for idx, period in enumerate(tqdm(periods, desc="Running pixels in aperture")): 361 | dm.X[:, -ls_dm.shape[1] :] = lombscargle.implementations.mle.design_matrix( 362 | lc.time.jd, frequency=1 / period, bias=False, nterms=1 363 | ) 364 | ws[idx], ws_err[idx] = fit_model(lc, dm, sigma_f_inv, mask=mask) 365 | if fit_bkg: 366 | ws_bkg[idx], ws_err_bkg[idx] = fit_model(lc_bkg, dm, sigma_f_inv, mask=mask) 367 | power = (ws[:, -2] ** 2 + ws[:, -1] ** 2) ** 0.5 368 | am = np.argmax(power) 369 | dm.X[:, -ls_dm.shape[1] :] = lombscargle.implementations.mle.design_matrix( 370 | lc.time.jd, frequency=1 / periods[am], bias=False, nterms=1 371 | ) 372 | mod = dm.X[:, :-2].dot(ws[am][:-2]) 373 | if fit_bkg: 374 | power_bkg = (ws_bkg[:, -2] ** 2 + ws_bkg[:, -1] ** 2) ** 0.5 375 | 376 | r = { 377 | "periods": periods, 378 | "power": power, 379 | "raw_lc": lc, 380 | "corr_lc": lc - mod * lc.flux.unit + 1 * lc.flux.unit, 381 | "period_at_max_power": periods[am], 382 | "model": mod * lc.flux.unit, 383 | } 384 | if fit_bkg: 385 | r["power_bkg"] = power_bkg 386 | r["raw_lc_bkg"] = lc_bkg 387 | return r 388 | -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- 1 | [[package]] 2 | name = "appnope" 3 | version = "0.1.2" 4 | description = "Disable App Nap on macOS >= 10.9" 5 | category = "dev" 6 | optional = false 7 | python-versions = "*" 8 | 9 | [[package]] 10 | name = "argon2-cffi" 11 | version = "20.1.0" 12 | description = "The secure Argon2 password hashing algorithm." 13 | category = "dev" 14 | optional = false 15 | python-versions = "*" 16 | 17 | [package.dependencies] 18 | cffi = ">=1.0.0" 19 | six = "*" 20 | 21 | [package.extras] 22 | dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pytest", "sphinx", "wheel", "pre-commit"] 23 | docs = ["sphinx"] 24 | tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pytest"] 25 | 26 | [[package]] 27 | name = "astropy" 28 | version = "4.1" 29 | description = "Astronomy and astrophysics core library" 30 | category = "main" 31 | optional = false 32 | python-versions = ">=3.6" 33 | 34 | [package.dependencies] 35 | numpy = ">=1.16" 36 | 37 | [package.extras] 38 | all = ["scipy (>=0.18)", "dask", "h5py", "beautifulsoup4", "html5lib", "bleach", "PyYAML (>=3.12)", "pandas", "sortedcontainers", "pytz", "jplephem", "matplotlib (>=2.1)", "mpmath", "asdf (>=2.6)", "bottleneck", "ipython", "pytest"] 39 | docs = ["sphinx-astropy (>=1.3)", "pytest", "PyYAML (>=3.12)", "scipy", "matplotlib"] 40 | test = ["pytest-astropy (>=0.8)", "pytest-xdist", "objgraph", "ipython", "coverage", "skyfield (>=1.20)", "sgp4 (>=2.3)"] 41 | 42 | [[package]] 43 | name = "astroquery" 44 | version = "0.4.1" 45 | description = "Functions and classes to access online astronomical data resources" 46 | category = "main" 47 | optional = false 48 | python-versions = "*" 49 | 50 | [package.dependencies] 51 | astropy = ">=3.1" 52 | beautifulsoup4 = ">=4.3.2" 53 | html5lib = ">=0.999" 54 | keyring = ">=4.0" 55 | numpy = "*" 56 | requests = ">=2.4.3" 57 | six = "*" 58 | 59 | [package.extras] 60 | test = ["pytest-astropy", "photutils", "scipy"] 61 | 62 | [[package]] 63 | name = "async-generator" 64 | version = "1.10" 65 | description = "Async generators and context managers for Python 3.5+" 66 | category = "dev" 67 | optional = false 68 | python-versions = ">=3.5" 69 | 70 | [[package]] 71 | name = "atomicwrites" 72 | version = "1.4.0" 73 | description = "Atomic file writes." 74 | category = "dev" 75 | optional = false 76 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 77 | 78 | [[package]] 79 | name = "attrs" 80 | version = "20.3.0" 81 | description = "Classes Without Boilerplate" 82 | category = "dev" 83 | optional = false 84 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 85 | 86 | [package.extras] 87 | dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"] 88 | docs = ["furo", "sphinx", "zope.interface"] 89 | tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"] 90 | tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"] 91 | 92 | [[package]] 93 | name = "autograd" 94 | version = "1.3" 95 | description = "Efficiently computes derivatives of numpy code." 96 | category = "main" 97 | optional = false 98 | python-versions = "*" 99 | 100 | [package.dependencies] 101 | future = ">=0.15.2" 102 | numpy = ">=1.12" 103 | 104 | [[package]] 105 | name = "backcall" 106 | version = "0.2.0" 107 | description = "Specifications for callback functions passed in to an API" 108 | category = "dev" 109 | optional = false 110 | python-versions = "*" 111 | 112 | [[package]] 113 | name = "beautifulsoup4" 114 | version = "4.9.3" 115 | description = "Screen-scraping library" 116 | category = "main" 117 | optional = false 118 | python-versions = "*" 119 | 120 | [package.dependencies] 121 | soupsieve = {version = ">1.2", markers = "python_version >= \"3.0\""} 122 | 123 | [package.extras] 124 | html5lib = ["html5lib"] 125 | lxml = ["lxml"] 126 | 127 | [[package]] 128 | name = "bleach" 129 | version = "3.3.0" 130 | description = "An easy safelist-based HTML-sanitizing tool." 131 | category = "dev" 132 | optional = false 133 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 134 | 135 | [package.dependencies] 136 | packaging = "*" 137 | six = ">=1.9.0" 138 | webencodings = "*" 139 | 140 | [[package]] 141 | name = "bokeh" 142 | version = "2.3.0" 143 | description = "Interactive plots and applications in the browser from Python" 144 | category = "main" 145 | optional = false 146 | python-versions = ">=3.6" 147 | 148 | [package.dependencies] 149 | Jinja2 = ">=2.7" 150 | numpy = ">=1.11.3" 151 | packaging = ">=16.8" 152 | pillow = ">=7.1.0" 153 | python-dateutil = ">=2.1" 154 | PyYAML = ">=3.10" 155 | tornado = ">=5.1" 156 | typing_extensions = ">=3.7.4" 157 | 158 | [[package]] 159 | name = "certifi" 160 | version = "2020.12.5" 161 | description = "Python package for providing Mozilla's CA Bundle." 162 | category = "main" 163 | optional = false 164 | python-versions = "*" 165 | 166 | [[package]] 167 | name = "cffi" 168 | version = "1.14.5" 169 | description = "Foreign Function Interface for Python calling C code." 170 | category = "main" 171 | optional = false 172 | python-versions = "*" 173 | 174 | [package.dependencies] 175 | pycparser = "*" 176 | 177 | [[package]] 178 | name = "chardet" 179 | version = "4.0.0" 180 | description = "Universal encoding detector for Python 2 and 3" 181 | category = "main" 182 | optional = false 183 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 184 | 185 | [[package]] 186 | name = "colorama" 187 | version = "0.4.4" 188 | description = "Cross-platform colored terminal text." 189 | category = "dev" 190 | optional = false 191 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 192 | 193 | [[package]] 194 | name = "cryptography" 195 | version = "3.4.6" 196 | description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." 197 | category = "main" 198 | optional = false 199 | python-versions = ">=3.6" 200 | 201 | [package.dependencies] 202 | cffi = ">=1.12" 203 | 204 | [package.extras] 205 | docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"] 206 | docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"] 207 | pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"] 208 | sdist = ["setuptools-rust (>=0.11.4)"] 209 | ssh = ["bcrypt (>=3.1.5)"] 210 | test = ["pytest (>=6.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"] 211 | 212 | [[package]] 213 | name = "cycler" 214 | version = "0.10.0" 215 | description = "Composable style cycles" 216 | category = "main" 217 | optional = false 218 | python-versions = "*" 219 | 220 | [package.dependencies] 221 | six = "*" 222 | 223 | [[package]] 224 | name = "decorator" 225 | version = "4.4.2" 226 | description = "Decorators for Humans" 227 | category = "dev" 228 | optional = false 229 | python-versions = ">=2.6, !=3.0.*, !=3.1.*" 230 | 231 | [[package]] 232 | name = "defusedxml" 233 | version = "0.7.1" 234 | description = "XML bomb protection for Python stdlib modules" 235 | category = "dev" 236 | optional = false 237 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 238 | 239 | [[package]] 240 | name = "entrypoints" 241 | version = "0.3" 242 | description = "Discover and load entry points from installed packages." 243 | category = "dev" 244 | optional = false 245 | python-versions = ">=2.7" 246 | 247 | [[package]] 248 | name = "fbpca" 249 | version = "1.0" 250 | description = "Fast computations of PCA/SVD/eigendecompositions via randomized methods" 251 | category = "main" 252 | optional = false 253 | python-versions = "*" 254 | 255 | [[package]] 256 | name = "flake8" 257 | version = "3.9.2" 258 | description = "the modular source code checker: pep8 pyflakes and co" 259 | category = "dev" 260 | optional = false 261 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" 262 | 263 | [package.dependencies] 264 | importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} 265 | mccabe = ">=0.6.0,<0.7.0" 266 | pycodestyle = ">=2.7.0,<2.8.0" 267 | pyflakes = ">=2.3.0,<2.4.0" 268 | 269 | [[package]] 270 | name = "future" 271 | version = "0.18.2" 272 | description = "Clean single-source support for Python 3 and 2" 273 | category = "main" 274 | optional = false 275 | python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" 276 | 277 | [[package]] 278 | name = "html5lib" 279 | version = "1.1" 280 | description = "HTML parser based on the WHATWG HTML specification" 281 | category = "main" 282 | optional = false 283 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 284 | 285 | [package.dependencies] 286 | six = ">=1.9" 287 | webencodings = "*" 288 | 289 | [package.extras] 290 | all = ["genshi", "chardet (>=2.2)", "lxml"] 291 | chardet = ["chardet (>=2.2)"] 292 | genshi = ["genshi"] 293 | lxml = ["lxml"] 294 | 295 | [[package]] 296 | name = "idna" 297 | version = "2.10" 298 | description = "Internationalized Domain Names in Applications (IDNA)" 299 | category = "main" 300 | optional = false 301 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 302 | 303 | [[package]] 304 | name = "importlib-metadata" 305 | version = "3.7.3" 306 | description = "Read metadata from Python packages" 307 | category = "main" 308 | optional = false 309 | python-versions = ">=3.6" 310 | 311 | [package.dependencies] 312 | typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} 313 | zipp = ">=0.5" 314 | 315 | [package.extras] 316 | docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] 317 | testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] 318 | 319 | [[package]] 320 | name = "iniconfig" 321 | version = "1.1.1" 322 | description = "iniconfig: brain-dead simple config-ini parsing" 323 | category = "dev" 324 | optional = false 325 | python-versions = "*" 326 | 327 | [[package]] 328 | name = "ipykernel" 329 | version = "5.5.0" 330 | description = "IPython Kernel for Jupyter" 331 | category = "dev" 332 | optional = false 333 | python-versions = ">=3.5" 334 | 335 | [package.dependencies] 336 | appnope = {version = "*", markers = "platform_system == \"Darwin\""} 337 | ipython = ">=5.0.0" 338 | jupyter-client = "*" 339 | tornado = ">=4.2" 340 | traitlets = ">=4.1.0" 341 | 342 | [package.extras] 343 | test = ["pytest (!=5.3.4)", "pytest-cov", "flaky", "nose", "jedi (<=0.17.2)"] 344 | 345 | [[package]] 346 | name = "ipython" 347 | version = "7.16.1" 348 | description = "IPython: Productive Interactive Computing" 349 | category = "dev" 350 | optional = false 351 | python-versions = ">=3.6" 352 | 353 | [package.dependencies] 354 | appnope = {version = "*", markers = "sys_platform == \"darwin\""} 355 | backcall = "*" 356 | colorama = {version = "*", markers = "sys_platform == \"win32\""} 357 | decorator = "*" 358 | jedi = ">=0.10" 359 | pexpect = {version = "*", markers = "sys_platform != \"win32\""} 360 | pickleshare = "*" 361 | prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0" 362 | pygments = "*" 363 | traitlets = ">=4.2" 364 | 365 | [package.extras] 366 | all = ["Sphinx (>=1.3)", "ipykernel", "ipyparallel", "ipywidgets", "nbconvert", "nbformat", "nose (>=0.10.1)", "notebook", "numpy (>=1.14)", "pygments", "qtconsole", "requests", "testpath"] 367 | doc = ["Sphinx (>=1.3)"] 368 | kernel = ["ipykernel"] 369 | nbconvert = ["nbconvert"] 370 | nbformat = ["nbformat"] 371 | notebook = ["notebook", "ipywidgets"] 372 | parallel = ["ipyparallel"] 373 | qtconsole = ["qtconsole"] 374 | test = ["nose (>=0.10.1)", "requests", "testpath", "pygments", "nbformat", "ipykernel", "numpy (>=1.14)"] 375 | 376 | [[package]] 377 | name = "ipython-genutils" 378 | version = "0.2.0" 379 | description = "Vestigial utilities from IPython" 380 | category = "dev" 381 | optional = false 382 | python-versions = "*" 383 | 384 | [[package]] 385 | name = "jedi" 386 | version = "0.17.2" 387 | description = "An autocompletion tool for Python that can be used for text editors." 388 | category = "dev" 389 | optional = false 390 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 391 | 392 | [package.dependencies] 393 | parso = ">=0.7.0,<0.8.0" 394 | 395 | [package.extras] 396 | qa = ["flake8 (==3.7.9)"] 397 | testing = ["Django (<3.1)", "colorama", "docopt", "pytest (>=3.9.0,<5.0.0)"] 398 | 399 | [[package]] 400 | name = "jeepney" 401 | version = "0.6.0" 402 | description = "Low-level, pure Python DBus protocol wrapper." 403 | category = "main" 404 | optional = false 405 | python-versions = ">=3.6" 406 | 407 | [package.extras] 408 | test = ["pytest", "pytest-trio", "pytest-asyncio", "testpath", "trio"] 409 | 410 | [[package]] 411 | name = "jinja2" 412 | version = "2.11.3" 413 | description = "A very fast and expressive template engine." 414 | category = "main" 415 | optional = false 416 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 417 | 418 | [package.dependencies] 419 | MarkupSafe = ">=0.23" 420 | 421 | [package.extras] 422 | i18n = ["Babel (>=0.8)"] 423 | 424 | [[package]] 425 | name = "joblib" 426 | version = "1.0.1" 427 | description = "Lightweight pipelining with Python functions" 428 | category = "main" 429 | optional = false 430 | python-versions = ">=3.6" 431 | 432 | [[package]] 433 | name = "json5" 434 | version = "0.9.5" 435 | description = "A Python implementation of the JSON5 data format." 436 | category = "dev" 437 | optional = false 438 | python-versions = "*" 439 | 440 | [package.extras] 441 | dev = ["hypothesis"] 442 | 443 | [[package]] 444 | name = "jsonschema" 445 | version = "3.2.0" 446 | description = "An implementation of JSON Schema validation for Python" 447 | category = "dev" 448 | optional = false 449 | python-versions = "*" 450 | 451 | [package.dependencies] 452 | attrs = ">=17.4.0" 453 | importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} 454 | pyrsistent = ">=0.14.0" 455 | six = ">=1.11.0" 456 | 457 | [package.extras] 458 | format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"] 459 | format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"] 460 | 461 | [[package]] 462 | name = "jupyter-client" 463 | version = "6.1.12" 464 | description = "Jupyter protocol implementation and client libraries" 465 | category = "dev" 466 | optional = false 467 | python-versions = ">=3.5" 468 | 469 | [package.dependencies] 470 | jupyter-core = ">=4.6.0" 471 | python-dateutil = ">=2.1" 472 | pyzmq = ">=13" 473 | tornado = ">=4.1" 474 | traitlets = "*" 475 | 476 | [package.extras] 477 | doc = ["sphinx (>=1.3.6)", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] 478 | test = ["async-generator", "ipykernel", "ipython", "mock", "pytest-asyncio", "pytest-timeout", "pytest", "jedi (<0.18)"] 479 | 480 | [[package]] 481 | name = "jupyter-core" 482 | version = "4.7.1" 483 | description = "Jupyter core package. A base package on which Jupyter projects rely." 484 | category = "dev" 485 | optional = false 486 | python-versions = ">=3.6" 487 | 488 | [package.dependencies] 489 | pywin32 = {version = ">=1.0", markers = "sys_platform == \"win32\""} 490 | traitlets = "*" 491 | 492 | [[package]] 493 | name = "jupyterlab" 494 | version = "2.2.9" 495 | description = "The JupyterLab notebook server extension." 496 | category = "dev" 497 | optional = false 498 | python-versions = ">=3.5" 499 | 500 | [package.dependencies] 501 | jinja2 = ">=2.10" 502 | jupyterlab-server = ">=1.1.5,<2.0" 503 | notebook = ">=4.3.1" 504 | tornado = "<6.0.0 || >6.0.0,<6.0.1 || >6.0.1,<6.0.2 || >6.0.2" 505 | 506 | [package.extras] 507 | docs = ["jsx-lexer", "recommonmark", "sphinx", "sphinx-rtd-theme", "sphinx-copybutton"] 508 | test = ["pytest", "pytest-check-links", "requests", "wheel", "virtualenv"] 509 | 510 | [[package]] 511 | name = "jupyterlab-pygments" 512 | version = "0.1.2" 513 | description = "Pygments theme using JupyterLab CSS variables" 514 | category = "dev" 515 | optional = false 516 | python-versions = "*" 517 | 518 | [package.dependencies] 519 | pygments = ">=2.4.1,<3" 520 | 521 | [[package]] 522 | name = "jupyterlab-server" 523 | version = "1.2.0" 524 | description = "JupyterLab Server" 525 | category = "dev" 526 | optional = false 527 | python-versions = ">=3.5" 528 | 529 | [package.dependencies] 530 | jinja2 = ">=2.10" 531 | json5 = "*" 532 | jsonschema = ">=3.0.1" 533 | notebook = ">=4.2.0" 534 | requests = "*" 535 | 536 | [package.extras] 537 | test = ["pytest", "requests"] 538 | 539 | [[package]] 540 | name = "keyring" 541 | version = "23.0.0" 542 | description = "Store and access your passwords safely." 543 | category = "main" 544 | optional = false 545 | python-versions = ">=3.6" 546 | 547 | [package.dependencies] 548 | importlib-metadata = ">=3.6" 549 | jeepney = {version = ">=0.4.2", markers = "sys_platform == \"linux\""} 550 | pywin32-ctypes = {version = "<0.1.0 || >0.1.0,<0.1.1 || >0.1.1", markers = "sys_platform == \"win32\""} 551 | SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} 552 | 553 | [package.extras] 554 | docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] 555 | testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "pytest-black (>=0.3.7)", "pytest-mypy"] 556 | 557 | [[package]] 558 | name = "kiwisolver" 559 | version = "1.3.1" 560 | description = "A fast implementation of the Cassowary constraint solver" 561 | category = "main" 562 | optional = false 563 | python-versions = ">=3.6" 564 | 565 | [[package]] 566 | name = "lightkurve" 567 | version = "2.0.6" 568 | description = "A friendly package for Kepler & TESS time series analysis in Python." 569 | category = "main" 570 | optional = false 571 | python-versions = ">=3.6.1" 572 | 573 | [package.dependencies] 574 | astropy = ">=4.1" 575 | astroquery = ">=0.3.10" 576 | beautifulsoup4 = ">=4.6.0" 577 | bokeh = ">=1.0" 578 | fbpca = ">=1.0" 579 | matplotlib = ">=1.5.3" 580 | memoization = {version = ">=0.3.1", markers = "python_version >= \"3.6\" and python_version < \"4.0\""} 581 | numpy = ">=1.11" 582 | oktopus = ">=0.1.2" 583 | pandas = ">=1.1.4" 584 | patsy = ">=0.5.0" 585 | requests = ">=2.22.0" 586 | scikit-learn = ">=0.24.0" 587 | scipy = ">=0.19.0" 588 | tqdm = ">=4.25.0" 589 | uncertainties = ">=3.1.4" 590 | 591 | [[package]] 592 | name = "markupsafe" 593 | version = "1.1.1" 594 | description = "Safely add untrusted strings to HTML/XML markup." 595 | category = "main" 596 | optional = false 597 | python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" 598 | 599 | [[package]] 600 | name = "matplotlib" 601 | version = "3.3.4" 602 | description = "Python plotting package" 603 | category = "main" 604 | optional = false 605 | python-versions = ">=3.6" 606 | 607 | [package.dependencies] 608 | cycler = ">=0.10" 609 | kiwisolver = ">=1.0.1" 610 | numpy = ">=1.15" 611 | pillow = ">=6.2.0" 612 | pyparsing = ">=2.0.3,<2.0.4 || >2.0.4,<2.1.2 || >2.1.2,<2.1.6 || >2.1.6" 613 | python-dateutil = ">=2.1" 614 | 615 | [[package]] 616 | name = "mccabe" 617 | version = "0.6.1" 618 | description = "McCabe checker, plugin for flake8" 619 | category = "dev" 620 | optional = false 621 | python-versions = "*" 622 | 623 | [[package]] 624 | name = "memoization" 625 | version = "0.3.2" 626 | description = "A powerful caching library for Python, with TTL support and multiple algorithm options. (https://github.com/lonelyenvoy/python-memoization)" 627 | category = "main" 628 | optional = false 629 | python-versions = ">=3, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4" 630 | 631 | [[package]] 632 | name = "mistune" 633 | version = "0.8.4" 634 | description = "The fastest markdown parser in pure Python" 635 | category = "dev" 636 | optional = false 637 | python-versions = "*" 638 | 639 | [[package]] 640 | name = "nbclient" 641 | version = "0.5.3" 642 | description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." 643 | category = "dev" 644 | optional = false 645 | python-versions = ">=3.6.1" 646 | 647 | [package.dependencies] 648 | async-generator = "*" 649 | jupyter-client = ">=6.1.5" 650 | nbformat = ">=5.0" 651 | nest-asyncio = "*" 652 | traitlets = ">=4.2" 653 | 654 | [package.extras] 655 | dev = ["codecov", "coverage", "ipython", "ipykernel", "ipywidgets", "pytest (>=4.1)", "pytest-cov (>=2.6.1)", "check-manifest", "flake8", "mypy", "tox", "bumpversion", "xmltodict", "pip (>=18.1)", "wheel (>=0.31.0)", "setuptools (>=38.6.0)", "twine (>=1.11.0)", "black"] 656 | sphinx = ["Sphinx (>=1.7)", "sphinx-book-theme", "mock", "moto", "myst-parser"] 657 | test = ["codecov", "coverage", "ipython", "ipykernel", "ipywidgets", "pytest (>=4.1)", "pytest-cov (>=2.6.1)", "check-manifest", "flake8", "mypy", "tox", "bumpversion", "xmltodict", "pip (>=18.1)", "wheel (>=0.31.0)", "setuptools (>=38.6.0)", "twine (>=1.11.0)", "black"] 658 | 659 | [[package]] 660 | name = "nbconvert" 661 | version = "6.0.7" 662 | description = "Converting Jupyter Notebooks" 663 | category = "dev" 664 | optional = false 665 | python-versions = ">=3.6" 666 | 667 | [package.dependencies] 668 | bleach = "*" 669 | defusedxml = "*" 670 | entrypoints = ">=0.2.2" 671 | jinja2 = ">=2.4" 672 | jupyter-core = "*" 673 | jupyterlab-pygments = "*" 674 | mistune = ">=0.8.1,<2" 675 | nbclient = ">=0.5.0,<0.6.0" 676 | nbformat = ">=4.4" 677 | pandocfilters = ">=1.4.1" 678 | pygments = ">=2.4.1" 679 | testpath = "*" 680 | traitlets = ">=4.2" 681 | 682 | [package.extras] 683 | all = ["pytest", "pytest-cov", "pytest-dependency", "ipykernel", "ipywidgets (>=7)", "pyppeteer (==0.2.2)", "tornado (>=4.0)", "sphinx (>=1.5.1)", "sphinx-rtd-theme", "nbsphinx (>=0.2.12)", "ipython"] 684 | docs = ["sphinx (>=1.5.1)", "sphinx-rtd-theme", "nbsphinx (>=0.2.12)", "ipython"] 685 | serve = ["tornado (>=4.0)"] 686 | test = ["pytest", "pytest-cov", "pytest-dependency", "ipykernel", "ipywidgets (>=7)", "pyppeteer (==0.2.2)"] 687 | webpdf = ["pyppeteer (==0.2.2)"] 688 | 689 | [[package]] 690 | name = "nbformat" 691 | version = "5.1.2" 692 | description = "The Jupyter Notebook format" 693 | category = "dev" 694 | optional = false 695 | python-versions = ">=3.5" 696 | 697 | [package.dependencies] 698 | ipython-genutils = "*" 699 | jsonschema = ">=2.4,<2.5.0 || >2.5.0" 700 | jupyter-core = "*" 701 | traitlets = ">=4.1" 702 | 703 | [package.extras] 704 | fast = ["fastjsonschema"] 705 | test = ["check-manifest", "fastjsonschema", "testpath", "pytest", "pytest-cov"] 706 | 707 | [[package]] 708 | name = "nest-asyncio" 709 | version = "1.5.1" 710 | description = "Patch asyncio to allow nested event loops" 711 | category = "dev" 712 | optional = false 713 | python-versions = ">=3.5" 714 | 715 | [[package]] 716 | name = "notebook" 717 | version = "6.2.0" 718 | description = "A web-based notebook environment for interactive computing" 719 | category = "dev" 720 | optional = false 721 | python-versions = ">=3.5" 722 | 723 | [package.dependencies] 724 | argon2-cffi = "*" 725 | ipykernel = "*" 726 | ipython-genutils = "*" 727 | jinja2 = "*" 728 | jupyter-client = ">=5.3.4" 729 | jupyter-core = ">=4.6.1" 730 | nbconvert = "*" 731 | nbformat = "*" 732 | prometheus-client = "*" 733 | pyzmq = ">=17" 734 | Send2Trash = ">=1.5.0" 735 | terminado = ">=0.8.3" 736 | tornado = ">=6.1" 737 | traitlets = ">=4.2.1" 738 | 739 | [package.extras] 740 | docs = ["sphinx", "nbsphinx", "sphinxcontrib-github-alt", "sphinx-rtd-theme"] 741 | json-logging = ["json-logging"] 742 | test = ["pytest", "coverage", "requests", "nbval", "selenium", "pytest-cov", "requests-unixsocket"] 743 | 744 | [[package]] 745 | name = "numpy" 746 | version = "1.19.5" 747 | description = "NumPy is the fundamental package for array computing with Python." 748 | category = "main" 749 | optional = false 750 | python-versions = ">=3.6" 751 | 752 | [[package]] 753 | name = "oktopus" 754 | version = "0.1.2" 755 | description = "soft-bodied, eight-armed package for beautiful inference" 756 | category = "main" 757 | optional = false 758 | python-versions = "*" 759 | 760 | [package.dependencies] 761 | autograd = "*" 762 | numpy = "*" 763 | scipy = "*" 764 | 765 | [[package]] 766 | name = "packaging" 767 | version = "20.9" 768 | description = "Core utilities for Python packages" 769 | category = "main" 770 | optional = false 771 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 772 | 773 | [package.dependencies] 774 | pyparsing = ">=2.0.2" 775 | 776 | [[package]] 777 | name = "pandas" 778 | version = "1.1.5" 779 | description = "Powerful data structures for data analysis, time series, and statistics" 780 | category = "main" 781 | optional = false 782 | python-versions = ">=3.6.1" 783 | 784 | [package.dependencies] 785 | numpy = ">=1.15.4" 786 | python-dateutil = ">=2.7.3" 787 | pytz = ">=2017.2" 788 | 789 | [package.extras] 790 | test = ["pytest (>=4.0.2)", "pytest-xdist", "hypothesis (>=3.58)"] 791 | 792 | [[package]] 793 | name = "pandocfilters" 794 | version = "1.4.3" 795 | description = "Utilities for writing pandoc filters in python" 796 | category = "dev" 797 | optional = false 798 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 799 | 800 | [[package]] 801 | name = "parso" 802 | version = "0.7.1" 803 | description = "A Python Parser" 804 | category = "dev" 805 | optional = false 806 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 807 | 808 | [package.extras] 809 | testing = ["docopt", "pytest (>=3.0.7)"] 810 | 811 | [[package]] 812 | name = "patsy" 813 | version = "0.5.1" 814 | description = "A Python package for describing statistical models and for building design matrices." 815 | category = "main" 816 | optional = false 817 | python-versions = "*" 818 | 819 | [package.dependencies] 820 | numpy = ">=1.4" 821 | six = "*" 822 | 823 | [[package]] 824 | name = "pexpect" 825 | version = "4.8.0" 826 | description = "Pexpect allows easy control of interactive console applications." 827 | category = "dev" 828 | optional = false 829 | python-versions = "*" 830 | 831 | [package.dependencies] 832 | ptyprocess = ">=0.5" 833 | 834 | [[package]] 835 | name = "pickleshare" 836 | version = "0.7.5" 837 | description = "Tiny 'shelve'-like database with concurrency support" 838 | category = "dev" 839 | optional = false 840 | python-versions = "*" 841 | 842 | [[package]] 843 | name = "pillow" 844 | version = "8.1.2" 845 | description = "Python Imaging Library (Fork)" 846 | category = "main" 847 | optional = false 848 | python-versions = ">=3.6" 849 | 850 | [[package]] 851 | name = "pluggy" 852 | version = "0.13.1" 853 | description = "plugin and hook calling mechanisms for python" 854 | category = "dev" 855 | optional = false 856 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 857 | 858 | [package.dependencies] 859 | importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} 860 | 861 | [package.extras] 862 | dev = ["pre-commit", "tox"] 863 | 864 | [[package]] 865 | name = "prometheus-client" 866 | version = "0.9.0" 867 | description = "Python client for the Prometheus monitoring system." 868 | category = "dev" 869 | optional = false 870 | python-versions = "*" 871 | 872 | [package.extras] 873 | twisted = ["twisted"] 874 | 875 | [[package]] 876 | name = "prompt-toolkit" 877 | version = "3.0.17" 878 | description = "Library for building powerful interactive command lines in Python" 879 | category = "dev" 880 | optional = false 881 | python-versions = ">=3.6.1" 882 | 883 | [package.dependencies] 884 | wcwidth = "*" 885 | 886 | [[package]] 887 | name = "ptyprocess" 888 | version = "0.7.0" 889 | description = "Run a subprocess in a pseudo terminal" 890 | category = "dev" 891 | optional = false 892 | python-versions = "*" 893 | 894 | [[package]] 895 | name = "py" 896 | version = "1.10.0" 897 | description = "library with cross-python path, ini-parsing, io, code, log facilities" 898 | category = "dev" 899 | optional = false 900 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 901 | 902 | [[package]] 903 | name = "pycodestyle" 904 | version = "2.7.0" 905 | description = "Python style guide checker" 906 | category = "dev" 907 | optional = false 908 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 909 | 910 | [[package]] 911 | name = "pycparser" 912 | version = "2.20" 913 | description = "C parser in Python" 914 | category = "main" 915 | optional = false 916 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 917 | 918 | [[package]] 919 | name = "pyflakes" 920 | version = "2.3.1" 921 | description = "passive checker of Python programs" 922 | category = "dev" 923 | optional = false 924 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" 925 | 926 | [[package]] 927 | name = "pygments" 928 | version = "2.8.1" 929 | description = "Pygments is a syntax highlighting package written in Python." 930 | category = "dev" 931 | optional = false 932 | python-versions = ">=3.5" 933 | 934 | [[package]] 935 | name = "pyparsing" 936 | version = "2.4.7" 937 | description = "Python parsing module" 938 | category = "main" 939 | optional = false 940 | python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" 941 | 942 | [[package]] 943 | name = "pyrsistent" 944 | version = "0.17.3" 945 | description = "Persistent/Functional/Immutable data structures" 946 | category = "dev" 947 | optional = false 948 | python-versions = ">=3.5" 949 | 950 | [[package]] 951 | name = "pytest" 952 | version = "6.2.4" 953 | description = "pytest: simple powerful testing with Python" 954 | category = "dev" 955 | optional = false 956 | python-versions = ">=3.6" 957 | 958 | [package.dependencies] 959 | atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} 960 | attrs = ">=19.2.0" 961 | colorama = {version = "*", markers = "sys_platform == \"win32\""} 962 | importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} 963 | iniconfig = "*" 964 | packaging = "*" 965 | pluggy = ">=0.12,<1.0.0a1" 966 | py = ">=1.8.2" 967 | toml = "*" 968 | 969 | [package.extras] 970 | testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] 971 | 972 | [[package]] 973 | name = "python-dateutil" 974 | version = "2.8.1" 975 | description = "Extensions to the standard Python datetime module" 976 | category = "main" 977 | optional = false 978 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" 979 | 980 | [package.dependencies] 981 | six = ">=1.5" 982 | 983 | [[package]] 984 | name = "pytz" 985 | version = "2021.1" 986 | description = "World timezone definitions, modern and historical" 987 | category = "main" 988 | optional = false 989 | python-versions = "*" 990 | 991 | [[package]] 992 | name = "pywin32" 993 | version = "300" 994 | description = "Python for Window Extensions" 995 | category = "dev" 996 | optional = false 997 | python-versions = "*" 998 | 999 | [[package]] 1000 | name = "pywin32-ctypes" 1001 | version = "0.2.0" 1002 | description = "" 1003 | category = "main" 1004 | optional = false 1005 | python-versions = "*" 1006 | 1007 | [[package]] 1008 | name = "pywinpty" 1009 | version = "0.5.7" 1010 | description = "Python bindings for the winpty library" 1011 | category = "dev" 1012 | optional = false 1013 | python-versions = "*" 1014 | 1015 | [[package]] 1016 | name = "pyyaml" 1017 | version = "5.4.1" 1018 | description = "YAML parser and emitter for Python" 1019 | category = "main" 1020 | optional = false 1021 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" 1022 | 1023 | [[package]] 1024 | name = "pyzmq" 1025 | version = "22.0.3" 1026 | description = "Python bindings for 0MQ" 1027 | category = "dev" 1028 | optional = false 1029 | python-versions = ">=3.6" 1030 | 1031 | [package.dependencies] 1032 | cffi = {version = "*", markers = "implementation_name == \"pypy\""} 1033 | py = {version = "*", markers = "implementation_name == \"pypy\""} 1034 | 1035 | [[package]] 1036 | name = "requests" 1037 | version = "2.25.1" 1038 | description = "Python HTTP for Humans." 1039 | category = "main" 1040 | optional = false 1041 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" 1042 | 1043 | [package.dependencies] 1044 | certifi = ">=2017.4.17" 1045 | chardet = ">=3.0.2,<5" 1046 | idna = ">=2.5,<3" 1047 | urllib3 = ">=1.21.1,<1.27" 1048 | 1049 | [package.extras] 1050 | security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] 1051 | socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] 1052 | 1053 | [[package]] 1054 | name = "scikit-learn" 1055 | version = "0.24.1" 1056 | description = "A set of python modules for machine learning and data mining" 1057 | category = "main" 1058 | optional = false 1059 | python-versions = ">=3.6" 1060 | 1061 | [package.dependencies] 1062 | joblib = ">=0.11" 1063 | numpy = ">=1.13.3" 1064 | scipy = ">=0.19.1" 1065 | threadpoolctl = ">=2.0.0" 1066 | 1067 | [package.extras] 1068 | benchmark = ["matplotlib (>=2.1.1)", "pandas (>=0.25.0)", "memory-profiler (>=0.57.0)"] 1069 | docs = ["matplotlib (>=2.1.1)", "scikit-image (>=0.13)", "pandas (>=0.25.0)", "seaborn (>=0.9.0)", "memory-profiler (>=0.57.0)", "sphinx (>=3.2.0)", "sphinx-gallery (>=0.7.0)", "numpydoc (>=1.0.0)", "Pillow (>=7.1.2)", "sphinx-prompt (>=1.3.0)"] 1070 | examples = ["matplotlib (>=2.1.1)", "scikit-image (>=0.13)", "pandas (>=0.25.0)", "seaborn (>=0.9.0)"] 1071 | tests = ["matplotlib (>=2.1.1)", "scikit-image (>=0.13)", "pandas (>=0.25.0)", "pytest (>=5.0.1)", "pytest-cov (>=2.9.0)", "flake8 (>=3.8.2)", "mypy (>=0.770)", "pyamg (>=4.0.0)"] 1072 | 1073 | [[package]] 1074 | name = "scipy" 1075 | version = "1.5.4" 1076 | description = "SciPy: Scientific Library for Python" 1077 | category = "main" 1078 | optional = false 1079 | python-versions = ">=3.6" 1080 | 1081 | [package.dependencies] 1082 | numpy = ">=1.14.5" 1083 | 1084 | [[package]] 1085 | name = "secretstorage" 1086 | version = "3.3.1" 1087 | description = "Python bindings to FreeDesktop.org Secret Service API" 1088 | category = "main" 1089 | optional = false 1090 | python-versions = ">=3.6" 1091 | 1092 | [package.dependencies] 1093 | cryptography = ">=2.0" 1094 | jeepney = ">=0.6" 1095 | 1096 | [[package]] 1097 | name = "send2trash" 1098 | version = "1.5.0" 1099 | description = "Send file to trash natively under Mac OS X, Windows and Linux." 1100 | category = "dev" 1101 | optional = false 1102 | python-versions = "*" 1103 | 1104 | [[package]] 1105 | name = "six" 1106 | version = "1.15.0" 1107 | description = "Python 2 and 3 compatibility utilities" 1108 | category = "main" 1109 | optional = false 1110 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" 1111 | 1112 | [[package]] 1113 | name = "soupsieve" 1114 | version = "2.2" 1115 | description = "A modern CSS selector implementation for Beautiful Soup." 1116 | category = "main" 1117 | optional = false 1118 | python-versions = ">=3.6" 1119 | 1120 | [[package]] 1121 | name = "terminado" 1122 | version = "0.9.3" 1123 | description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." 1124 | category = "dev" 1125 | optional = false 1126 | python-versions = ">=3.6" 1127 | 1128 | [package.dependencies] 1129 | ptyprocess = {version = "*", markers = "os_name != \"nt\""} 1130 | pywinpty = {version = ">=0.5", markers = "os_name == \"nt\""} 1131 | tornado = ">=4" 1132 | 1133 | [[package]] 1134 | name = "testpath" 1135 | version = "0.4.4" 1136 | description = "Test utilities for code working with files and commands" 1137 | category = "dev" 1138 | optional = false 1139 | python-versions = "*" 1140 | 1141 | [package.extras] 1142 | test = ["pathlib2"] 1143 | 1144 | [[package]] 1145 | name = "threadpoolctl" 1146 | version = "2.1.0" 1147 | description = "threadpoolctl" 1148 | category = "main" 1149 | optional = false 1150 | python-versions = ">=3.5" 1151 | 1152 | [[package]] 1153 | name = "toml" 1154 | version = "0.10.2" 1155 | description = "Python Library for Tom's Obvious, Minimal Language" 1156 | category = "dev" 1157 | optional = false 1158 | python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" 1159 | 1160 | [[package]] 1161 | name = "tornado" 1162 | version = "6.1" 1163 | description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." 1164 | category = "main" 1165 | optional = false 1166 | python-versions = ">= 3.5" 1167 | 1168 | [[package]] 1169 | name = "tqdm" 1170 | version = "4.59.0" 1171 | description = "Fast, Extensible Progress Meter" 1172 | category = "main" 1173 | optional = false 1174 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" 1175 | 1176 | [package.extras] 1177 | dev = ["py-make (>=0.1.0)", "twine", "wheel"] 1178 | notebook = ["ipywidgets (>=6)"] 1179 | telegram = ["requests"] 1180 | 1181 | [[package]] 1182 | name = "traitlets" 1183 | version = "4.3.3" 1184 | description = "Traitlets Python config system" 1185 | category = "dev" 1186 | optional = false 1187 | python-versions = "*" 1188 | 1189 | [package.dependencies] 1190 | decorator = "*" 1191 | ipython-genutils = "*" 1192 | six = "*" 1193 | 1194 | [package.extras] 1195 | test = ["pytest", "mock"] 1196 | 1197 | [[package]] 1198 | name = "typing-extensions" 1199 | version = "3.7.4.3" 1200 | description = "Backported and Experimental Type Hints for Python 3.5+" 1201 | category = "main" 1202 | optional = false 1203 | python-versions = "*" 1204 | 1205 | [[package]] 1206 | name = "uncertainties" 1207 | version = "3.1.5" 1208 | description = "Transparent calculations with uncertainties on the quantities involved (aka error propagation); fast calculation of derivatives" 1209 | category = "main" 1210 | optional = false 1211 | python-versions = "*" 1212 | 1213 | [package.dependencies] 1214 | future = "*" 1215 | 1216 | [package.extras] 1217 | all = ["numpy", "sphinx", "nose"] 1218 | docs = ["sphinx"] 1219 | optional = ["numpy"] 1220 | tests = ["nose", "numpy"] 1221 | 1222 | [[package]] 1223 | name = "urllib3" 1224 | version = "1.26.4" 1225 | description = "HTTP library with thread-safe connection pooling, file post, and more." 1226 | category = "main" 1227 | optional = false 1228 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" 1229 | 1230 | [package.extras] 1231 | secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] 1232 | socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] 1233 | brotli = ["brotlipy (>=0.6.0)"] 1234 | 1235 | [[package]] 1236 | name = "wcwidth" 1237 | version = "0.2.5" 1238 | description = "Measures the displayed width of unicode strings in a terminal" 1239 | category = "dev" 1240 | optional = false 1241 | python-versions = "*" 1242 | 1243 | [[package]] 1244 | name = "webencodings" 1245 | version = "0.5.1" 1246 | description = "Character encoding aliases for legacy web content" 1247 | category = "main" 1248 | optional = false 1249 | python-versions = "*" 1250 | 1251 | [[package]] 1252 | name = "zipp" 1253 | version = "3.4.1" 1254 | description = "Backport of pathlib-compatible object wrapper for zip files" 1255 | category = "main" 1256 | optional = false 1257 | python-versions = ">=3.6" 1258 | 1259 | [package.extras] 1260 | docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] 1261 | testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] 1262 | 1263 | [metadata] 1264 | lock-version = "1.1" 1265 | python-versions = "^3.6.1" 1266 | content-hash = "23c07690cd4f2c24360c335f255e4d9b900913726460f2311f283e35f7df56eb" 1267 | 1268 | [metadata.files] 1269 | appnope = [ 1270 | {file = "appnope-0.1.2-py2.py3-none-any.whl", hash = "sha256:93aa393e9d6c54c5cd570ccadd8edad61ea0c4b9ea7a01409020c9aa019eb442"}, 1271 | {file = "appnope-0.1.2.tar.gz", hash = "sha256:dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a"}, 1272 | ] 1273 | argon2-cffi = [ 1274 | {file = "argon2-cffi-20.1.0.tar.gz", hash = "sha256:d8029b2d3e4b4cea770e9e5a0104dd8fa185c1724a0f01528ae4826a6d25f97d"}, 1275 | {file = "argon2_cffi-20.1.0-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:6ea92c980586931a816d61e4faf6c192b4abce89aa767ff6581e6ddc985ed003"}, 1276 | {file = "argon2_cffi-20.1.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:05a8ac07c7026542377e38389638a8a1e9b78f1cd8439cd7493b39f08dd75fbf"}, 1277 | {file = "argon2_cffi-20.1.0-cp27-cp27m-win32.whl", hash = "sha256:0bf066bc049332489bb2d75f69216416329d9dc65deee127152caeb16e5ce7d5"}, 1278 | {file = "argon2_cffi-20.1.0-cp27-cp27m-win_amd64.whl", hash = "sha256:57358570592c46c420300ec94f2ff3b32cbccd10d38bdc12dc6979c4a8484fbc"}, 1279 | {file = "argon2_cffi-20.1.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:7d455c802727710e9dfa69b74ccaab04568386ca17b0ad36350b622cd34606fe"}, 1280 | {file = "argon2_cffi-20.1.0-cp35-abi3-manylinux1_x86_64.whl", hash = "sha256:b160416adc0f012fb1f12588a5e6954889510f82f698e23ed4f4fa57f12a0647"}, 1281 | {file = "argon2_cffi-20.1.0-cp35-cp35m-win32.whl", hash = "sha256:9bee3212ba4f560af397b6d7146848c32a800652301843df06b9e8f68f0f7361"}, 1282 | {file = "argon2_cffi-20.1.0-cp35-cp35m-win_amd64.whl", hash = "sha256:392c3c2ef91d12da510cfb6f9bae52512a4552573a9e27600bdb800e05905d2b"}, 1283 | {file = "argon2_cffi-20.1.0-cp36-cp36m-win32.whl", hash = "sha256:ba7209b608945b889457f949cc04c8e762bed4fe3fec88ae9a6b7765ae82e496"}, 1284 | {file = "argon2_cffi-20.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:da7f0445b71db6d3a72462e04f36544b0de871289b0bc8a7cc87c0f5ec7079fa"}, 1285 | {file = "argon2_cffi-20.1.0-cp37-abi3-macosx_10_6_intel.whl", hash = "sha256:cc0e028b209a5483b6846053d5fd7165f460a1f14774d79e632e75e7ae64b82b"}, 1286 | {file = "argon2_cffi-20.1.0-cp37-cp37m-win32.whl", hash = "sha256:18dee20e25e4be86680b178b35ccfc5d495ebd5792cd00781548d50880fee5c5"}, 1287 | {file = "argon2_cffi-20.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:6678bb047373f52bcff02db8afab0d2a77d83bde61cfecea7c5c62e2335cb203"}, 1288 | {file = "argon2_cffi-20.1.0-cp38-cp38-win32.whl", hash = "sha256:77e909cc756ef81d6abb60524d259d959bab384832f0c651ed7dcb6e5ccdbb78"}, 1289 | {file = "argon2_cffi-20.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:9dfd5197852530294ecb5795c97a823839258dfd5eb9420233c7cfedec2058f2"}, 1290 | {file = "argon2_cffi-20.1.0-cp39-cp39-win32.whl", hash = "sha256:e2db6e85c057c16d0bd3b4d2b04f270a7467c147381e8fd73cbbe5bc719832be"}, 1291 | {file = "argon2_cffi-20.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:8a84934bd818e14a17943de8099d41160da4a336bcc699bb4c394bbb9b94bd32"}, 1292 | ] 1293 | astropy = [ 1294 | {file = "astropy-4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:0804f601dddfd6b5b72e11eb6e58133ff7db25bb8c26851449352ba1f414b74c"}, 1295 | {file = "astropy-4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:85f199c41d28da78c0a09076904fe3c3034c0f4917d251a23ad364ed0e9ff2d5"}, 1296 | {file = "astropy-4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:6d6792e4e49f4662be075477f75aff7d3cc5bf5c58702d6b55f0048f14610c00"}, 1297 | {file = "astropy-4.1-cp36-cp36m-win32.whl", hash = "sha256:f0fe5387992e0c96d9186752b2ac6a5801a51af0316d75427823588af9be75da"}, 1298 | {file = "astropy-4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:27544cb41ba54a60acaf195c53b4912edbbfa4b0ab005c06d5d929553e0d8329"}, 1299 | {file = "astropy-4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4a70a44a9f773acbb75ba24bf36e4f3a8b702f37384d03f9ff9097edd8ad0890"}, 1300 | {file = "astropy-4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:83cfa44aa6cac0c434b238be6a758d49a33ab608aad7bb2f7410ce497c28312d"}, 1301 | {file = "astropy-4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:2fb991128b522eb1f133e6ca1c14425368bda8888eb387dba1abc18ee76582ee"}, 1302 | {file = "astropy-4.1-cp37-cp37m-win32.whl", hash = "sha256:aca1dbca1c9f6d6ba17682e44dc53ffd62dd0d13448d38713140d634ec45b295"}, 1303 | {file = "astropy-4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:70c4b97d2ac5d19fad753d0a7dccc7b14e12786546e78ae27cae3a7a73ecd11d"}, 1304 | {file = "astropy-4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5083e1e8fbd065da521b761ee14382bb561d8bbe3957653b2f941690128f8940"}, 1305 | {file = "astropy-4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:51c3a29c4252b1697fd950e2b333d84cb6baf8d9a5258bbef6d0089b65c303b3"}, 1306 | {file = "astropy-4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:cd4390da737a5123397a1bb00cf597842bf21fd199862ba161d9c18cd2d12c14"}, 1307 | {file = "astropy-4.1-cp38-cp38-win32.whl", hash = "sha256:d51f3b9091004a3ed263bc2a51a677762a6c8c7437da5115d3149dc1de6f71bf"}, 1308 | {file = "astropy-4.1-cp38-cp38-win_amd64.whl", hash = "sha256:10e45a5456929b75b3a29d8174d39466b1823280bcf99f3b4c6c51e521a6f04d"}, 1309 | {file = "astropy-4.1.tar.gz", hash = "sha256:a3bad6e1c2619135ad33e4d80452866eb9468f610bf00754da4001c63c1f7049"}, 1310 | ] 1311 | astroquery = [ 1312 | {file = "astroquery-0.4.1.tar.gz", hash = "sha256:ea90566faf2f78ea715c4141d7eba8bae7f4d775baa341712de5e90313cdf876"}, 1313 | ] 1314 | async-generator = [ 1315 | {file = "async_generator-1.10-py3-none-any.whl", hash = "sha256:01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b"}, 1316 | {file = "async_generator-1.10.tar.gz", hash = "sha256:6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144"}, 1317 | ] 1318 | atomicwrites = [ 1319 | {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, 1320 | {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, 1321 | ] 1322 | attrs = [ 1323 | {file = "attrs-20.3.0-py2.py3-none-any.whl", hash = "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6"}, 1324 | {file = "attrs-20.3.0.tar.gz", hash = "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"}, 1325 | ] 1326 | autograd = [ 1327 | {file = "autograd-1.3.tar.gz", hash = "sha256:a15d147577e10de037de3740ca93bfa3b5a7cdfbc34cfb9105429c3580a33ec4"}, 1328 | ] 1329 | backcall = [ 1330 | {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, 1331 | {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, 1332 | ] 1333 | beautifulsoup4 = [ 1334 | {file = "beautifulsoup4-4.9.3-py2-none-any.whl", hash = "sha256:4c98143716ef1cb40bf7f39a8e3eec8f8b009509e74904ba3a7b315431577e35"}, 1335 | {file = "beautifulsoup4-4.9.3-py3-none-any.whl", hash = "sha256:fff47e031e34ec82bf17e00da8f592fe7de69aeea38be00523c04623c04fb666"}, 1336 | {file = "beautifulsoup4-4.9.3.tar.gz", hash = "sha256:84729e322ad1d5b4d25f805bfa05b902dd96450f43842c4e99067d5e1369eb25"}, 1337 | ] 1338 | bleach = [ 1339 | {file = "bleach-3.3.0-py2.py3-none-any.whl", hash = "sha256:6123ddc1052673e52bab52cdc955bcb57a015264a1c57d37bea2f6b817af0125"}, 1340 | {file = "bleach-3.3.0.tar.gz", hash = "sha256:98b3170739e5e83dd9dc19633f074727ad848cbedb6026708c8ac2d3b697a433"}, 1341 | ] 1342 | bokeh = [ 1343 | {file = "bokeh-2.3.0.tar.gz", hash = "sha256:dd417708f90702190222b1068a645acae99e66d4b58d7a336d545aeaa04e9b40"}, 1344 | ] 1345 | certifi = [ 1346 | {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"}, 1347 | {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"}, 1348 | ] 1349 | cffi = [ 1350 | {file = "cffi-1.14.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991"}, 1351 | {file = "cffi-1.14.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1"}, 1352 | {file = "cffi-1.14.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa"}, 1353 | {file = "cffi-1.14.5-cp27-cp27m-win32.whl", hash = "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3"}, 1354 | {file = "cffi-1.14.5-cp27-cp27m-win_amd64.whl", hash = "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5"}, 1355 | {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482"}, 1356 | {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6"}, 1357 | {file = "cffi-1.14.5-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045"}, 1358 | {file = "cffi-1.14.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa"}, 1359 | {file = "cffi-1.14.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406"}, 1360 | {file = "cffi-1.14.5-cp35-cp35m-win32.whl", hash = "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369"}, 1361 | {file = "cffi-1.14.5-cp35-cp35m-win_amd64.whl", hash = "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315"}, 1362 | {file = "cffi-1.14.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892"}, 1363 | {file = "cffi-1.14.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058"}, 1364 | {file = "cffi-1.14.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5"}, 1365 | {file = "cffi-1.14.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132"}, 1366 | {file = "cffi-1.14.5-cp36-cp36m-win32.whl", hash = "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53"}, 1367 | {file = "cffi-1.14.5-cp36-cp36m-win_amd64.whl", hash = "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813"}, 1368 | {file = "cffi-1.14.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73"}, 1369 | {file = "cffi-1.14.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06"}, 1370 | {file = "cffi-1.14.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1"}, 1371 | {file = "cffi-1.14.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49"}, 1372 | {file = "cffi-1.14.5-cp37-cp37m-win32.whl", hash = "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62"}, 1373 | {file = "cffi-1.14.5-cp37-cp37m-win_amd64.whl", hash = "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4"}, 1374 | {file = "cffi-1.14.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053"}, 1375 | {file = "cffi-1.14.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0"}, 1376 | {file = "cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e"}, 1377 | {file = "cffi-1.14.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827"}, 1378 | {file = "cffi-1.14.5-cp38-cp38-win32.whl", hash = "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e"}, 1379 | {file = "cffi-1.14.5-cp38-cp38-win_amd64.whl", hash = "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396"}, 1380 | {file = "cffi-1.14.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea"}, 1381 | {file = "cffi-1.14.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322"}, 1382 | {file = "cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c"}, 1383 | {file = "cffi-1.14.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee"}, 1384 | {file = "cffi-1.14.5-cp39-cp39-win32.whl", hash = "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396"}, 1385 | {file = "cffi-1.14.5-cp39-cp39-win_amd64.whl", hash = "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d"}, 1386 | {file = "cffi-1.14.5.tar.gz", hash = "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c"}, 1387 | ] 1388 | chardet = [ 1389 | {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"}, 1390 | {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"}, 1391 | ] 1392 | colorama = [ 1393 | {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, 1394 | {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, 1395 | ] 1396 | cryptography = [ 1397 | {file = "cryptography-3.4.6-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:57ad77d32917bc55299b16d3b996ffa42a1c73c6cfa829b14043c561288d2799"}, 1398 | {file = "cryptography-3.4.6-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:4169a27b818de4a1860720108b55a2801f32b6ae79e7f99c00d79f2a2822eeb7"}, 1399 | {file = "cryptography-3.4.6-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:93cfe5b7ff006de13e1e89830810ecbd014791b042cbe5eec253be11ac2b28f3"}, 1400 | {file = "cryptography-3.4.6-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:5ecf2bcb34d17415e89b546dbb44e73080f747e504273e4d4987630493cded1b"}, 1401 | {file = "cryptography-3.4.6-cp36-abi3-manylinux2014_x86_64.whl", hash = "sha256:fec7fb46b10da10d9e1d078d1ff8ed9e05ae14f431fdbd11145edd0550b9a964"}, 1402 | {file = "cryptography-3.4.6-cp36-abi3-win32.whl", hash = "sha256:df186fcbf86dc1ce56305becb8434e4b6b7504bc724b71ad7a3239e0c9d14ef2"}, 1403 | {file = "cryptography-3.4.6-cp36-abi3-win_amd64.whl", hash = "sha256:66b57a9ca4b3221d51b237094b0303843b914b7d5afd4349970bb26518e350b0"}, 1404 | {file = "cryptography-3.4.6-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:066bc53f052dfeda2f2d7c195cf16fb3e5ff13e1b6b7415b468514b40b381a5b"}, 1405 | {file = "cryptography-3.4.6-pp36-pypy36_pp73-manylinux2014_x86_64.whl", hash = "sha256:600cf9bfe75e96d965509a4c0b2b183f74a4fa6f5331dcb40fb7b77b7c2484df"}, 1406 | {file = "cryptography-3.4.6-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:0923ba600d00718d63a3976f23cab19aef10c1765038945628cd9be047ad0336"}, 1407 | {file = "cryptography-3.4.6-pp37-pypy37_pp73-manylinux2014_x86_64.whl", hash = "sha256:9e98b452132963678e3ac6c73f7010fe53adf72209a32854d55690acac3f6724"}, 1408 | {file = "cryptography-3.4.6.tar.gz", hash = "sha256:2d32223e5b0ee02943f32b19245b61a62db83a882f0e76cc564e1cec60d48f87"}, 1409 | ] 1410 | cycler = [ 1411 | {file = "cycler-0.10.0-py2.py3-none-any.whl", hash = "sha256:1d8a5ae1ff6c5cf9b93e8811e581232ad8920aeec647c37316ceac982b08cb2d"}, 1412 | {file = "cycler-0.10.0.tar.gz", hash = "sha256:cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8"}, 1413 | ] 1414 | decorator = [ 1415 | {file = "decorator-4.4.2-py2.py3-none-any.whl", hash = "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760"}, 1416 | {file = "decorator-4.4.2.tar.gz", hash = "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7"}, 1417 | ] 1418 | defusedxml = [ 1419 | {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, 1420 | {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, 1421 | ] 1422 | entrypoints = [ 1423 | {file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"}, 1424 | {file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"}, 1425 | ] 1426 | fbpca = [ 1427 | {file = "fbpca-1.0.macosx-10.9-x86_64.exe", hash = "sha256:1a06e770fb618a29f0ab57077dffa36e4501e7b339220bed2e7e712f3934b00e"}, 1428 | {file = "fbpca-1.0.tar.gz", hash = "sha256:150677642479663f317fdbb5e06dab3f98721cf7031bb4a84113d7a631c472d1"}, 1429 | ] 1430 | flake8 = [ 1431 | {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, 1432 | {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, 1433 | ] 1434 | future = [ 1435 | {file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"}, 1436 | ] 1437 | html5lib = [ 1438 | {file = "html5lib-1.1-py2.py3-none-any.whl", hash = "sha256:0d78f8fde1c230e99fe37986a60526d7049ed4bf8a9fadbad5f00e22e58e041d"}, 1439 | {file = "html5lib-1.1.tar.gz", hash = "sha256:b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f"}, 1440 | ] 1441 | idna = [ 1442 | {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"}, 1443 | {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"}, 1444 | ] 1445 | importlib-metadata = [ 1446 | {file = "importlib_metadata-3.7.3-py3-none-any.whl", hash = "sha256:b74159469b464a99cb8cc3e21973e4d96e05d3024d337313fedb618a6e86e6f4"}, 1447 | {file = "importlib_metadata-3.7.3.tar.gz", hash = "sha256:742add720a20d0467df2f444ae41704000f50e1234f46174b51f9c6031a1bd71"}, 1448 | ] 1449 | iniconfig = [ 1450 | {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, 1451 | {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, 1452 | ] 1453 | ipykernel = [ 1454 | {file = "ipykernel-5.5.0-py3-none-any.whl", hash = "sha256:efd07253b54d84d26e0878d268c8c3a41582a18750da633c2febfd2ece0d467d"}, 1455 | {file = "ipykernel-5.5.0.tar.gz", hash = "sha256:98321abefdf0505fb3dc7601f60fc4087364d394bd8fad53107eb1adee9ff475"}, 1456 | ] 1457 | ipython = [ 1458 | {file = "ipython-7.16.1-py3-none-any.whl", hash = "sha256:2dbcc8c27ca7d3cfe4fcdff7f45b27f9a8d3edfa70ff8024a71c7a8eb5f09d64"}, 1459 | {file = "ipython-7.16.1.tar.gz", hash = "sha256:9f4fcb31d3b2c533333893b9172264e4821c1ac91839500f31bd43f2c59b3ccf"}, 1460 | ] 1461 | ipython-genutils = [ 1462 | {file = "ipython_genutils-0.2.0-py2.py3-none-any.whl", hash = "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8"}, 1463 | {file = "ipython_genutils-0.2.0.tar.gz", hash = "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"}, 1464 | ] 1465 | jedi = [ 1466 | {file = "jedi-0.17.2-py2.py3-none-any.whl", hash = "sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5"}, 1467 | {file = "jedi-0.17.2.tar.gz", hash = "sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20"}, 1468 | ] 1469 | jeepney = [ 1470 | {file = "jeepney-0.6.0-py3-none-any.whl", hash = "sha256:aec56c0eb1691a841795111e184e13cad504f7703b9a64f63020816afa79a8ae"}, 1471 | {file = "jeepney-0.6.0.tar.gz", hash = "sha256:7d59b6622675ca9e993a6bd38de845051d315f8b0c72cca3aef733a20b648657"}, 1472 | ] 1473 | jinja2 = [ 1474 | {file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"}, 1475 | {file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"}, 1476 | ] 1477 | joblib = [ 1478 | {file = "joblib-1.0.1-py3-none-any.whl", hash = "sha256:feeb1ec69c4d45129954f1b7034954241eedfd6ba39b5e9e4b6883be3332d5e5"}, 1479 | {file = "joblib-1.0.1.tar.gz", hash = "sha256:9c17567692206d2f3fb9ecf5e991084254fe631665c450b443761c4186a613f7"}, 1480 | ] 1481 | json5 = [ 1482 | {file = "json5-0.9.5-py2.py3-none-any.whl", hash = "sha256:af1a1b9a2850c7f62c23fde18be4749b3599fd302f494eebf957e2ada6b9e42c"}, 1483 | {file = "json5-0.9.5.tar.gz", hash = "sha256:703cfee540790576b56a92e1c6aaa6c4b0d98971dc358ead83812aa4d06bdb96"}, 1484 | ] 1485 | jsonschema = [ 1486 | {file = "jsonschema-3.2.0-py2.py3-none-any.whl", hash = "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163"}, 1487 | {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"}, 1488 | ] 1489 | jupyter-client = [ 1490 | {file = "jupyter_client-6.1.12-py3-none-any.whl", hash = "sha256:e053a2c44b6fa597feebe2b3ecb5eea3e03d1d91cc94351a52931ee1426aecfc"}, 1491 | {file = "jupyter_client-6.1.12.tar.gz", hash = "sha256:c4bca1d0846186ca8be97f4d2fa6d2bae889cce4892a167ffa1ba6bd1f73e782"}, 1492 | ] 1493 | jupyter-core = [ 1494 | {file = "jupyter_core-4.7.1-py3-none-any.whl", hash = "sha256:8c6c0cac5c1b563622ad49321d5ec47017bd18b94facb381c6973a0486395f8e"}, 1495 | {file = "jupyter_core-4.7.1.tar.gz", hash = "sha256:79025cb3225efcd36847d0840f3fc672c0abd7afd0de83ba8a1d3837619122b4"}, 1496 | ] 1497 | jupyterlab = [ 1498 | {file = "jupyterlab-2.2.9-py3-none-any.whl", hash = "sha256:59af02c26a15ec2d2862a15bc72e41ae304b406a0b0d3f4f705eeb7caf91902b"}, 1499 | {file = "jupyterlab-2.2.9.tar.gz", hash = "sha256:3be8f8edea173753dd838c1b6d3bbcb6f5c801121f824a477025c1b6a1d33dc6"}, 1500 | ] 1501 | jupyterlab-pygments = [ 1502 | {file = "jupyterlab_pygments-0.1.2-py2.py3-none-any.whl", hash = "sha256:abfb880fd1561987efaefcb2d2ac75145d2a5d0139b1876d5be806e32f630008"}, 1503 | {file = "jupyterlab_pygments-0.1.2.tar.gz", hash = "sha256:cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146"}, 1504 | ] 1505 | jupyterlab-server = [ 1506 | {file = "jupyterlab_server-1.2.0-py3-none-any.whl", hash = "sha256:55d256077bf13e5bc9e8fbd5aac51bef82f6315111cec6b712b9a5ededbba924"}, 1507 | {file = "jupyterlab_server-1.2.0.tar.gz", hash = "sha256:5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c"}, 1508 | ] 1509 | keyring = [ 1510 | {file = "keyring-23.0.0-py3-none-any.whl", hash = "sha256:29f407fd5509c014a6086f17338c70215c8d1ab42d5d49e0254273bc0a64bbfc"}, 1511 | {file = "keyring-23.0.0.tar.gz", hash = "sha256:237ff44888ba9b3918a7dcb55c8f1db909c95b6f071bfb46c6918f33f453a68a"}, 1512 | ] 1513 | kiwisolver = [ 1514 | {file = "kiwisolver-1.3.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:fd34fbbfbc40628200730bc1febe30631347103fc8d3d4fa012c21ab9c11eca9"}, 1515 | {file = "kiwisolver-1.3.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:d3155d828dec1d43283bd24d3d3e0d9c7c350cdfcc0bd06c0ad1209c1bbc36d0"}, 1516 | {file = "kiwisolver-1.3.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5a7a7dbff17e66fac9142ae2ecafb719393aaee6a3768c9de2fd425c63b53e21"}, 1517 | {file = "kiwisolver-1.3.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:f8d6f8db88049a699817fd9178782867bf22283e3813064302ac59f61d95be05"}, 1518 | {file = "kiwisolver-1.3.1-cp36-cp36m-manylinux2014_ppc64le.whl", hash = "sha256:5f6ccd3dd0b9739edcf407514016108e2280769c73a85b9e59aa390046dbf08b"}, 1519 | {file = "kiwisolver-1.3.1-cp36-cp36m-win32.whl", hash = "sha256:225e2e18f271e0ed8157d7f4518ffbf99b9450fca398d561eb5c4a87d0986dd9"}, 1520 | {file = "kiwisolver-1.3.1-cp36-cp36m-win_amd64.whl", hash = "sha256:cf8b574c7b9aa060c62116d4181f3a1a4e821b2ec5cbfe3775809474113748d4"}, 1521 | {file = "kiwisolver-1.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:232c9e11fd7ac3a470d65cd67e4359eee155ec57e822e5220322d7b2ac84fbf0"}, 1522 | {file = "kiwisolver-1.3.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:b38694dcdac990a743aa654037ff1188c7a9801ac3ccc548d3341014bc5ca278"}, 1523 | {file = "kiwisolver-1.3.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ca3820eb7f7faf7f0aa88de0e54681bddcb46e485beb844fcecbcd1c8bd01689"}, 1524 | {file = "kiwisolver-1.3.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:c8fd0f1ae9d92b42854b2979024d7597685ce4ada367172ed7c09edf2cef9cb8"}, 1525 | {file = "kiwisolver-1.3.1-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:1e1bc12fb773a7b2ffdeb8380609f4f8064777877b2225dec3da711b421fda31"}, 1526 | {file = "kiwisolver-1.3.1-cp37-cp37m-win32.whl", hash = "sha256:72c99e39d005b793fb7d3d4e660aed6b6281b502e8c1eaf8ee8346023c8e03bc"}, 1527 | {file = "kiwisolver-1.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:8be8d84b7d4f2ba4ffff3665bcd0211318aa632395a1a41553250484a871d454"}, 1528 | {file = "kiwisolver-1.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:31dfd2ac56edc0ff9ac295193eeaea1c0c923c0355bf948fbd99ed6018010b72"}, 1529 | {file = "kiwisolver-1.3.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:563c649cfdef27d081c84e72a03b48ea9408c16657500c312575ae9d9f7bc1c3"}, 1530 | {file = "kiwisolver-1.3.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:78751b33595f7f9511952e7e60ce858c6d64db2e062afb325985ddbd34b5c131"}, 1531 | {file = "kiwisolver-1.3.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:a357fd4f15ee49b4a98b44ec23a34a95f1e00292a139d6015c11f55774ef10de"}, 1532 | {file = "kiwisolver-1.3.1-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:5989db3b3b34b76c09253deeaf7fbc2707616f130e166996606c284395da3f18"}, 1533 | {file = "kiwisolver-1.3.1-cp38-cp38-win32.whl", hash = "sha256:c08e95114951dc2090c4a630c2385bef681cacf12636fb0241accdc6b303fd81"}, 1534 | {file = "kiwisolver-1.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:44a62e24d9b01ba94ae7a4a6c3fb215dc4af1dde817e7498d901e229aaf50e4e"}, 1535 | {file = "kiwisolver-1.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:50af681a36b2a1dee1d3c169ade9fdc59207d3c31e522519181e12f1b3ba7000"}, 1536 | {file = "kiwisolver-1.3.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:a53d27d0c2a0ebd07e395e56a1fbdf75ffedc4a05943daf472af163413ce9598"}, 1537 | {file = "kiwisolver-1.3.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:834ee27348c4aefc20b479335fd422a2c69db55f7d9ab61721ac8cd83eb78882"}, 1538 | {file = "kiwisolver-1.3.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5c3e6455341008a054cccee8c5d24481bcfe1acdbc9add30aa95798e95c65621"}, 1539 | {file = "kiwisolver-1.3.1-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:acef3d59d47dd85ecf909c359d0fd2c81ed33bdff70216d3956b463e12c38a54"}, 1540 | {file = "kiwisolver-1.3.1-cp39-cp39-win32.whl", hash = "sha256:c5518d51a0735b1e6cee1fdce66359f8d2b59c3ca85dc2b0813a8aa86818a030"}, 1541 | {file = "kiwisolver-1.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:b9edd0110a77fc321ab090aaa1cfcaba1d8499850a12848b81be2222eab648f6"}, 1542 | {file = "kiwisolver-1.3.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0cd53f403202159b44528498de18f9285b04482bab2a6fc3f5dd8dbb9352e30d"}, 1543 | {file = "kiwisolver-1.3.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:33449715e0101e4d34f64990352bce4095c8bf13bed1b390773fc0a7295967b3"}, 1544 | {file = "kiwisolver-1.3.1-pp36-pypy36_pp73-win32.whl", hash = "sha256:401a2e9afa8588589775fe34fc22d918ae839aaaf0c0e96441c0fdbce6d8ebe6"}, 1545 | {file = "kiwisolver-1.3.1.tar.gz", hash = "sha256:950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248"}, 1546 | ] 1547 | lightkurve = [ 1548 | {file = "lightkurve-2.0.6-py3-none-any.whl", hash = "sha256:9fb7a9a0ab86cecd040d592a59d56ea3433edd5dccc34c369a529f92bdd2cc91"}, 1549 | {file = "lightkurve-2.0.6.tar.gz", hash = "sha256:4a4adc741a6788e30ecbde570673ec5513db1ffd0403743e31f7849579831804"}, 1550 | ] 1551 | markupsafe = [ 1552 | {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, 1553 | {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, 1554 | {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"}, 1555 | {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"}, 1556 | {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"}, 1557 | {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"}, 1558 | {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"}, 1559 | {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"}, 1560 | {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"}, 1561 | {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"}, 1562 | {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"}, 1563 | {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"}, 1564 | {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"}, 1565 | {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"}, 1566 | {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"}, 1567 | {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, 1568 | {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, 1569 | {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, 1570 | {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, 1571 | {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, 1572 | {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, 1573 | {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, 1574 | {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, 1575 | {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, 1576 | {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, 1577 | {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, 1578 | {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, 1579 | {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, 1580 | {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, 1581 | {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, 1582 | {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, 1583 | {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, 1584 | {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, 1585 | ] 1586 | matplotlib = [ 1587 | {file = "matplotlib-3.3.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:672960dd114e342b7c610bf32fb99d14227f29919894388b41553217457ba7ef"}, 1588 | {file = "matplotlib-3.3.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:7c155437ae4fd366e2700e2716564d1787700687443de46bcb895fe0f84b761d"}, 1589 | {file = "matplotlib-3.3.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:a17f0a10604fac7627ec82820439e7db611722e80c408a726cd00d8c974c2fb3"}, 1590 | {file = "matplotlib-3.3.4-cp36-cp36m-win32.whl", hash = "sha256:215e2a30a2090221a9481db58b770ce56b8ef46f13224ae33afe221b14b24dc1"}, 1591 | {file = "matplotlib-3.3.4-cp36-cp36m-win_amd64.whl", hash = "sha256:348e6032f666ffd151b323342f9278b16b95d4a75dfacae84a11d2829a7816ae"}, 1592 | {file = "matplotlib-3.3.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:94bdd1d55c20e764d8aea9d471d2ae7a7b2c84445e0fa463f02e20f9730783e1"}, 1593 | {file = "matplotlib-3.3.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:a1acb72f095f1d58ecc2538ed1b8bca0b57df313b13db36ed34b8cdf1868e674"}, 1594 | {file = "matplotlib-3.3.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:46b1a60a04e6d884f0250d5cc8dc7bd21a9a96c584a7acdaab44698a44710bab"}, 1595 | {file = "matplotlib-3.3.4-cp37-cp37m-win32.whl", hash = "sha256:ed4a9e6dcacba56b17a0a9ac22ae2c72a35b7f0ef0693aa68574f0b2df607a89"}, 1596 | {file = "matplotlib-3.3.4-cp37-cp37m-win_amd64.whl", hash = "sha256:c24c05f645aef776e8b8931cb81e0f1632d229b42b6d216e30836e2e145a2b40"}, 1597 | {file = "matplotlib-3.3.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7310e353a4a35477c7f032409966920197d7df3e757c7624fd842f3eeb307d3d"}, 1598 | {file = "matplotlib-3.3.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:451cc89cb33d6652c509fc6b588dc51c41d7246afdcc29b8624e256b7663ed1f"}, 1599 | {file = "matplotlib-3.3.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:3d2eb9c1cc254d0ffa90bc96fde4b6005d09c2228f99dfd493a4219c1af99644"}, 1600 | {file = "matplotlib-3.3.4-cp38-cp38-win32.whl", hash = "sha256:e15fa23d844d54e7b3b7243afd53b7567ee71c721f592deb0727ee85e668f96a"}, 1601 | {file = "matplotlib-3.3.4-cp38-cp38-win_amd64.whl", hash = "sha256:1de0bb6cbfe460725f0e97b88daa8643bcf9571c18ba90bb8e41432aaeca91d6"}, 1602 | {file = "matplotlib-3.3.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f44149a0ef5b4991aaef12a93b8e8d66d6412e762745fea1faa61d98524e0ba9"}, 1603 | {file = "matplotlib-3.3.4-cp39-cp39-manylinux1_i686.whl", hash = "sha256:746a1df55749629e26af7f977ea426817ca9370ad1569436608dc48d1069b87c"}, 1604 | {file = "matplotlib-3.3.4-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:5f571b92a536206f7958f7cb2d367ff6c9a1fa8229dc35020006e4cdd1ca0acd"}, 1605 | {file = "matplotlib-3.3.4-cp39-cp39-win32.whl", hash = "sha256:9265ae0fb35e29f9b8cc86c2ab0a2e3dcddc4dd9de4b85bf26c0f63fe5c1c2ca"}, 1606 | {file = "matplotlib-3.3.4-cp39-cp39-win_amd64.whl", hash = "sha256:9a79e5dd7bb797aa611048f5b70588b23c5be05b63eefd8a0d152ac77c4243db"}, 1607 | {file = "matplotlib-3.3.4-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1e850163579a8936eede29fad41e202b25923a0a8d5ffd08ce50fc0a97dcdc93"}, 1608 | {file = "matplotlib-3.3.4-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:d738acfdfb65da34c91acbdb56abed46803db39af259b7f194dc96920360dbe4"}, 1609 | {file = "matplotlib-3.3.4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:aa49571d8030ad0b9ac39708ee77bd2a22f87815e12bdee52ecaffece9313ed8"}, 1610 | {file = "matplotlib-3.3.4-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:cf3a7e54eff792f0815dbbe9b85df2f13d739289c93d346925554f71d484be78"}, 1611 | {file = "matplotlib-3.3.4.tar.gz", hash = "sha256:3e477db76c22929e4c6876c44f88d790aacdf3c3f8f3a90cb1975c0bf37825b0"}, 1612 | ] 1613 | mccabe = [ 1614 | {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, 1615 | {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, 1616 | ] 1617 | memoization = [ 1618 | {file = "memoization-0.3.2-py3-none-any.whl", hash = "sha256:6109bcfdbd6fc6c33004fcdc5d8e291c1223a7416c5dad61ec777d260f6038d2"}, 1619 | {file = "memoization-0.3.2.tar.gz", hash = "sha256:65d19404b9acc74a764d3e584d8fb17c56bc446d386a28afb93f2247507c99cc"}, 1620 | ] 1621 | mistune = [ 1622 | {file = "mistune-0.8.4-py2.py3-none-any.whl", hash = "sha256:88a1051873018da288eee8538d476dffe1262495144b33ecb586c4ab266bb8d4"}, 1623 | {file = "mistune-0.8.4.tar.gz", hash = "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e"}, 1624 | ] 1625 | nbclient = [ 1626 | {file = "nbclient-0.5.3-py3-none-any.whl", hash = "sha256:e79437364a2376892b3f46bedbf9b444e5396cfb1bc366a472c37b48e9551500"}, 1627 | {file = "nbclient-0.5.3.tar.gz", hash = "sha256:db17271330c68c8c88d46d72349e24c147bb6f34ec82d8481a8f025c4d26589c"}, 1628 | ] 1629 | nbconvert = [ 1630 | {file = "nbconvert-6.0.7-py3-none-any.whl", hash = "sha256:39e9f977920b203baea0be67eea59f7b37a761caa542abe80f5897ce3cf6311d"}, 1631 | {file = "nbconvert-6.0.7.tar.gz", hash = "sha256:cbbc13a86dfbd4d1b5dee106539de0795b4db156c894c2c5dc382062bbc29002"}, 1632 | ] 1633 | nbformat = [ 1634 | {file = "nbformat-5.1.2-py3-none-any.whl", hash = "sha256:3949fdc8f5fa0b1afca16fb307546e78494fa7a7bceff880df8168eafda0e7ac"}, 1635 | {file = "nbformat-5.1.2.tar.gz", hash = "sha256:1d223e64a18bfa7cdf2db2e9ba8a818312fc2a0701d2e910b58df66809385a56"}, 1636 | ] 1637 | nest-asyncio = [ 1638 | {file = "nest_asyncio-1.5.1-py3-none-any.whl", hash = "sha256:76d6e972265063fe92a90b9cc4fb82616e07d586b346ed9d2c89a4187acea39c"}, 1639 | {file = "nest_asyncio-1.5.1.tar.gz", hash = "sha256:afc5a1c515210a23c461932765691ad39e8eba6551c055ac8d5546e69250d0aa"}, 1640 | ] 1641 | notebook = [ 1642 | {file = "notebook-6.2.0-py3-none-any.whl", hash = "sha256:25ad93c982b623441b491e693ef400598d1a46cdf11b8c9c0b3be6c61ebbb6cd"}, 1643 | {file = "notebook-6.2.0.tar.gz", hash = "sha256:0464b28e18e7a06cec37e6177546c2322739be07962dd13bf712bcb88361f013"}, 1644 | ] 1645 | numpy = [ 1646 | {file = "numpy-1.19.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc6bd4fd593cb261332568485e20a0712883cf631f6f5e8e86a52caa8b2b50ff"}, 1647 | {file = "numpy-1.19.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:aeb9ed923be74e659984e321f609b9ba54a48354bfd168d21a2b072ed1e833ea"}, 1648 | {file = "numpy-1.19.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8b5e972b43c8fc27d56550b4120fe6257fdc15f9301914380b27f74856299fea"}, 1649 | {file = "numpy-1.19.5-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:43d4c81d5ffdff6bae58d66a3cd7f54a7acd9a0e7b18d97abb255defc09e3140"}, 1650 | {file = "numpy-1.19.5-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:a4646724fba402aa7504cd48b4b50e783296b5e10a524c7a6da62e4a8ac9698d"}, 1651 | {file = "numpy-1.19.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:2e55195bc1c6b705bfd8ad6f288b38b11b1af32f3c8289d6c50d47f950c12e76"}, 1652 | {file = "numpy-1.19.5-cp36-cp36m-win32.whl", hash = "sha256:39b70c19ec771805081578cc936bbe95336798b7edf4732ed102e7a43ec5c07a"}, 1653 | {file = "numpy-1.19.5-cp36-cp36m-win_amd64.whl", hash = "sha256:dbd18bcf4889b720ba13a27ec2f2aac1981bd41203b3a3b27ba7a33f88ae4827"}, 1654 | {file = "numpy-1.19.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:603aa0706be710eea8884af807b1b3bc9fb2e49b9f4da439e76000f3b3c6ff0f"}, 1655 | {file = "numpy-1.19.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:cae865b1cae1ec2663d8ea56ef6ff185bad091a5e33ebbadd98de2cfa3fa668f"}, 1656 | {file = "numpy-1.19.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:36674959eed6957e61f11c912f71e78857a8d0604171dfd9ce9ad5cbf41c511c"}, 1657 | {file = "numpy-1.19.5-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:06fab248a088e439402141ea04f0fffb203723148f6ee791e9c75b3e9e82f080"}, 1658 | {file = "numpy-1.19.5-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6149a185cece5ee78d1d196938b2a8f9d09f5a5ebfbba66969302a778d5ddd1d"}, 1659 | {file = "numpy-1.19.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:50a4a0ad0111cc1b71fa32dedd05fa239f7fb5a43a40663269bb5dc7877cfd28"}, 1660 | {file = "numpy-1.19.5-cp37-cp37m-win32.whl", hash = "sha256:d051ec1c64b85ecc69531e1137bb9751c6830772ee5c1c426dbcfe98ef5788d7"}, 1661 | {file = "numpy-1.19.5-cp37-cp37m-win_amd64.whl", hash = "sha256:a12ff4c8ddfee61f90a1633a4c4afd3f7bcb32b11c52026c92a12e1325922d0d"}, 1662 | {file = "numpy-1.19.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf2402002d3d9f91c8b01e66fbb436a4ed01c6498fffed0e4c7566da1d40ee1e"}, 1663 | {file = "numpy-1.19.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1ded4fce9cfaaf24e7a0ab51b7a87be9038ea1ace7f34b841fe3b6894c721d1c"}, 1664 | {file = "numpy-1.19.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:012426a41bc9ab63bb158635aecccc7610e3eff5d31d1eb43bc099debc979d94"}, 1665 | {file = "numpy-1.19.5-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:759e4095edc3c1b3ac031f34d9459fa781777a93ccc633a472a5468587a190ff"}, 1666 | {file = "numpy-1.19.5-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:a9d17f2be3b427fbb2bce61e596cf555d6f8a56c222bd2ca148baeeb5e5c783c"}, 1667 | {file = "numpy-1.19.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:99abf4f353c3d1a0c7a5f27699482c987cf663b1eac20db59b8c7b061eabd7fc"}, 1668 | {file = "numpy-1.19.5-cp38-cp38-win32.whl", hash = "sha256:384ec0463d1c2671170901994aeb6dce126de0a95ccc3976c43b0038a37329c2"}, 1669 | {file = "numpy-1.19.5-cp38-cp38-win_amd64.whl", hash = "sha256:811daee36a58dc79cf3d8bdd4a490e4277d0e4b7d103a001a4e73ddb48e7e6aa"}, 1670 | {file = "numpy-1.19.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c843b3f50d1ab7361ca4f0b3639bf691569493a56808a0b0c54a051d260b7dbd"}, 1671 | {file = "numpy-1.19.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d6631f2e867676b13026e2846180e2c13c1e11289d67da08d71cacb2cd93d4aa"}, 1672 | {file = "numpy-1.19.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7fb43004bce0ca31d8f13a6eb5e943fa73371381e53f7074ed21a4cb786c32f8"}, 1673 | {file = "numpy-1.19.5-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:2ea52bd92ab9f768cc64a4c3ef8f4b2580a17af0a5436f6126b08efbd1838371"}, 1674 | {file = "numpy-1.19.5-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:400580cbd3cff6ffa6293df2278c75aef2d58d8d93d3c5614cd67981dae68ceb"}, 1675 | {file = "numpy-1.19.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:df609c82f18c5b9f6cb97271f03315ff0dbe481a2a02e56aeb1b1a985ce38e60"}, 1676 | {file = "numpy-1.19.5-cp39-cp39-win32.whl", hash = "sha256:ab83f24d5c52d60dbc8cd0528759532736b56db58adaa7b5f1f76ad551416a1e"}, 1677 | {file = "numpy-1.19.5-cp39-cp39-win_amd64.whl", hash = "sha256:0eef32ca3132a48e43f6a0f5a82cb508f22ce5a3d6f67a8329c81c8e226d3f6e"}, 1678 | {file = "numpy-1.19.5-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:a0d53e51a6cb6f0d9082decb7a4cb6dfb33055308c4c44f53103c073f649af73"}, 1679 | {file = "numpy-1.19.5.zip", hash = "sha256:a76f502430dd98d7546e1ea2250a7360c065a5fdea52b2dffe8ae7180909b6f4"}, 1680 | ] 1681 | oktopus = [ 1682 | {file = "oktopus-0.1.2.tar.gz", hash = "sha256:54ac25dfc21ce3507e2ad4f080f2d5e692986414be50c84a0789aa03371ac7d9"}, 1683 | ] 1684 | packaging = [ 1685 | {file = "packaging-20.9-py2.py3-none-any.whl", hash = "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"}, 1686 | {file = "packaging-20.9.tar.gz", hash = "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5"}, 1687 | ] 1688 | pandas = [ 1689 | {file = "pandas-1.1.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:bf23a3b54d128b50f4f9d4675b3c1857a688cc6731a32f931837d72effb2698d"}, 1690 | {file = "pandas-1.1.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:5a780260afc88268a9d3ac3511d8f494fdcf637eece62fb9eb656a63d53eb7ca"}, 1691 | {file = "pandas-1.1.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:b61080750d19a0122469ab59b087380721d6b72a4e7d962e4d7e63e0c4504814"}, 1692 | {file = "pandas-1.1.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:0de3ddb414d30798cbf56e642d82cac30a80223ad6fe484d66c0ce01a84d6f2f"}, 1693 | {file = "pandas-1.1.5-cp36-cp36m-win32.whl", hash = "sha256:70865f96bb38fec46f7ebd66d4b5cfd0aa6b842073f298d621385ae3898d28b5"}, 1694 | {file = "pandas-1.1.5-cp36-cp36m-win_amd64.whl", hash = "sha256:19a2148a1d02791352e9fa637899a78e371a3516ac6da5c4edc718f60cbae648"}, 1695 | {file = "pandas-1.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:26fa92d3ac743a149a31b21d6f4337b0594b6302ea5575b37af9ca9611e8981a"}, 1696 | {file = "pandas-1.1.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c16d59c15d946111d2716856dd5479221c9e4f2f5c7bc2d617f39d870031e086"}, 1697 | {file = "pandas-1.1.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:3be7a7a0ca71a2640e81d9276f526bca63505850add10206d0da2e8a0a325dae"}, 1698 | {file = "pandas-1.1.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:573fba5b05bf2c69271a32e52399c8de599e4a15ab7cec47d3b9c904125ab788"}, 1699 | {file = "pandas-1.1.5-cp37-cp37m-win32.whl", hash = "sha256:21b5a2b033380adbdd36b3116faaf9a4663e375325831dac1b519a44f9e439bb"}, 1700 | {file = "pandas-1.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:24c7f8d4aee71bfa6401faeba367dd654f696a77151a8a28bc2013f7ced4af98"}, 1701 | {file = "pandas-1.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2860a97cbb25444ffc0088b457da0a79dc79f9c601238a3e0644312fcc14bf11"}, 1702 | {file = "pandas-1.1.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:5008374ebb990dad9ed48b0f5d0038124c73748f5384cc8c46904dace27082d9"}, 1703 | {file = "pandas-1.1.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2c2f7c670ea4e60318e4b7e474d56447cf0c7d83b3c2a5405a0dbb2600b9c48e"}, 1704 | {file = "pandas-1.1.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:0a643bae4283a37732ddfcecab3f62dd082996021b980f580903f4e8e01b3c5b"}, 1705 | {file = "pandas-1.1.5-cp38-cp38-win32.whl", hash = "sha256:5447ea7af4005b0daf695a316a423b96374c9c73ffbd4533209c5ddc369e644b"}, 1706 | {file = "pandas-1.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:4c62e94d5d49db116bef1bd5c2486723a292d79409fc9abd51adf9e05329101d"}, 1707 | {file = "pandas-1.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:731568be71fba1e13cae212c362f3d2ca8932e83cb1b85e3f1b4dd77d019254a"}, 1708 | {file = "pandas-1.1.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:c61c043aafb69329d0f961b19faa30b1dab709dd34c9388143fc55680059e55a"}, 1709 | {file = "pandas-1.1.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2b1c6cd28a0dfda75c7b5957363333f01d370936e4c6276b7b8e696dd500582a"}, 1710 | {file = "pandas-1.1.5-cp39-cp39-win32.whl", hash = "sha256:c94ff2780a1fd89f190390130d6d36173ca59fcfb3fe0ff596f9a56518191ccb"}, 1711 | {file = "pandas-1.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:edda9bacc3843dfbeebaf7a701763e68e741b08fccb889c003b0a52f0ee95782"}, 1712 | {file = "pandas-1.1.5.tar.gz", hash = "sha256:f10fc41ee3c75a474d3bdf68d396f10782d013d7f67db99c0efbfd0acb99701b"}, 1713 | ] 1714 | pandocfilters = [ 1715 | {file = "pandocfilters-1.4.3.tar.gz", hash = "sha256:bc63fbb50534b4b1f8ebe1860889289e8af94a23bff7445259592df25a3906eb"}, 1716 | ] 1717 | parso = [ 1718 | {file = "parso-0.7.1-py2.py3-none-any.whl", hash = "sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea"}, 1719 | {file = "parso-0.7.1.tar.gz", hash = "sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9"}, 1720 | ] 1721 | patsy = [ 1722 | {file = "patsy-0.5.1-py2.py3-none-any.whl", hash = "sha256:5465be1c0e670c3a965355ec09e9a502bf2c4cbe4875e8528b0221190a8a5d40"}, 1723 | {file = "patsy-0.5.1.tar.gz", hash = "sha256:f115cec4201e1465cd58b9866b0b0e7b941caafec129869057405bfe5b5e3991"}, 1724 | ] 1725 | pexpect = [ 1726 | {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, 1727 | {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"}, 1728 | ] 1729 | pickleshare = [ 1730 | {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, 1731 | {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, 1732 | ] 1733 | pillow = [ 1734 | {file = "Pillow-8.1.2-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:5cf03b9534aca63b192856aa601c68d0764810857786ea5da652581f3a44c2b0"}, 1735 | {file = "Pillow-8.1.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:f91b50ad88048d795c0ad004abbe1390aa1882073b1dca10bfd55d0b8cf18ec5"}, 1736 | {file = "Pillow-8.1.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5762ebb4436f46b566fc6351d67a9b5386b5e5de4e58fdaa18a1c83e0e20f1a8"}, 1737 | {file = "Pillow-8.1.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e2cd8ac157c1e5ae88b6dd790648ee5d2777e76f1e5c7d184eaddb2938594f34"}, 1738 | {file = "Pillow-8.1.2-cp36-cp36m-win32.whl", hash = "sha256:72027ebf682abc9bafd93b43edc44279f641e8996fb2945104471419113cfc71"}, 1739 | {file = "Pillow-8.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:d1d6bca39bb6dd94fba23cdb3eeaea5e30c7717c5343004d900e2a63b132c341"}, 1740 | {file = "Pillow-8.1.2-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:90882c6f084ef68b71bba190209a734bf90abb82ab5e8f64444c71d5974008c6"}, 1741 | {file = "Pillow-8.1.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:89e4c757a91b8c55d97c91fa09c69b3677c227b942fa749e9a66eef602f59c28"}, 1742 | {file = "Pillow-8.1.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:8c4e32218c764bc27fe49b7328195579581aa419920edcc321c4cb877c65258d"}, 1743 | {file = "Pillow-8.1.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:a01da2c266d9868c4f91a9c6faf47a251f23b9a862dce81d2ff583135206f5be"}, 1744 | {file = "Pillow-8.1.2-cp37-cp37m-win32.whl", hash = "sha256:30d33a1a6400132e6f521640dd3f64578ac9bfb79a619416d7e8802b4ce1dd55"}, 1745 | {file = "Pillow-8.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:71b01ee69e7df527439d7752a2ce8fb89e19a32df484a308eca3e81f673d3a03"}, 1746 | {file = "Pillow-8.1.2-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:5a2d957eb4aba9d48170b8fe6538ec1fbc2119ffe6373782c03d8acad3323f2e"}, 1747 | {file = "Pillow-8.1.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:87f42c976f91ca2fc21a3293e25bd3cd895918597db1b95b93cbd949f7d019ce"}, 1748 | {file = "Pillow-8.1.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:15306d71a1e96d7e271fd2a0737038b5a92ca2978d2e38b6ced7966583e3d5af"}, 1749 | {file = "Pillow-8.1.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:71f31ee4df3d5e0b366dd362007740106d3210fb6a56ec4b581a5324ba254f06"}, 1750 | {file = "Pillow-8.1.2-cp38-cp38-win32.whl", hash = "sha256:98afcac3205d31ab6a10c5006b0cf040d0026a68ec051edd3517b776c1d78b09"}, 1751 | {file = "Pillow-8.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:328240f7dddf77783e72d5ed79899a6b48bc6681f8d1f6001f55933cb4905060"}, 1752 | {file = "Pillow-8.1.2-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:bead24c0ae3f1f6afcb915a057943ccf65fc755d11a1410a909c1fefb6c06ad1"}, 1753 | {file = "Pillow-8.1.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81b3716cc9744ffdf76b39afb6247eae754186838cedad0b0ac63b2571253fe6"}, 1754 | {file = "Pillow-8.1.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:63cd413ac52ee3f67057223d363f4f82ce966e64906aea046daf46695e3c8238"}, 1755 | {file = "Pillow-8.1.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:8565355a29655b28fdc2c666fd9a3890fe5edc6639d128814fafecfae2d70910"}, 1756 | {file = "Pillow-8.1.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:1940fc4d361f9cc7e558d6f56ff38d7351b53052fd7911f4b60cd7bc091ea3b1"}, 1757 | {file = "Pillow-8.1.2-cp39-cp39-win32.whl", hash = "sha256:46c2bcf8e1e75d154e78417b3e3c64e96def738c2a25435e74909e127a8cba5e"}, 1758 | {file = "Pillow-8.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:aeab4cd016e11e7aa5cfc49dcff8e51561fa64818a0be86efa82c7038e9369d0"}, 1759 | {file = "Pillow-8.1.2-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:74cd9aa648ed6dd25e572453eb09b08817a1e3d9f8d1bd4d8403d99e42ea790b"}, 1760 | {file = "Pillow-8.1.2-pp36-pypy36_pp73-manylinux2010_i686.whl", hash = "sha256:e5739ae63636a52b706a0facec77b2b58e485637e1638202556156e424a02dc2"}, 1761 | {file = "Pillow-8.1.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:903293320efe2466c1ab3509a33d6b866dc850cfd0c5d9cc92632014cec185fb"}, 1762 | {file = "Pillow-8.1.2-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:5daba2b40782c1c5157a788ec4454067c6616f5a0c1b70e26ac326a880c2d328"}, 1763 | {file = "Pillow-8.1.2-pp37-pypy37_pp73-manylinux2010_i686.whl", hash = "sha256:1f93f2fe211f1ef75e6f589327f4d4f8545d5c8e826231b042b483d8383e8a7c"}, 1764 | {file = "Pillow-8.1.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:6efac40344d8f668b6c4533ae02a48d52fd852ef0654cc6f19f6ac146399c733"}, 1765 | {file = "Pillow-8.1.2-pp37-pypy37_pp73-win32.whl", hash = "sha256:f36c3ff63d6fc509ce599a2f5b0d0732189eed653420e7294c039d342c6e204a"}, 1766 | {file = "Pillow-8.1.2.tar.gz", hash = "sha256:b07c660e014852d98a00a91adfbe25033898a9d90a8f39beb2437d22a203fc44"}, 1767 | ] 1768 | pluggy = [ 1769 | {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, 1770 | {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, 1771 | ] 1772 | prometheus-client = [ 1773 | {file = "prometheus_client-0.9.0-py2.py3-none-any.whl", hash = "sha256:b08c34c328e1bf5961f0b4352668e6c8f145b4a087e09b7296ef62cbe4693d35"}, 1774 | {file = "prometheus_client-0.9.0.tar.gz", hash = "sha256:9da7b32f02439d8c04f7777021c304ed51d9ec180604700c1ba72a4d44dceb03"}, 1775 | ] 1776 | prompt-toolkit = [ 1777 | {file = "prompt_toolkit-3.0.17-py3-none-any.whl", hash = "sha256:4cea7d09e46723885cb8bc54678175453e5071e9449821dce6f017b1d1fbfc1a"}, 1778 | {file = "prompt_toolkit-3.0.17.tar.gz", hash = "sha256:9397a7162cf45449147ad6042fa37983a081b8a73363a5253dd4072666333137"}, 1779 | ] 1780 | ptyprocess = [ 1781 | {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, 1782 | {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, 1783 | ] 1784 | py = [ 1785 | {file = "py-1.10.0-py2.py3-none-any.whl", hash = "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"}, 1786 | {file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"}, 1787 | ] 1788 | pycodestyle = [ 1789 | {file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"}, 1790 | {file = "pycodestyle-2.7.0.tar.gz", hash = "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"}, 1791 | ] 1792 | pycparser = [ 1793 | {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"}, 1794 | {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"}, 1795 | ] 1796 | pyflakes = [ 1797 | {file = "pyflakes-2.3.1-py2.py3-none-any.whl", hash = "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3"}, 1798 | {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, 1799 | ] 1800 | pygments = [ 1801 | {file = "Pygments-2.8.1-py3-none-any.whl", hash = "sha256:534ef71d539ae97d4c3a4cf7d6f110f214b0e687e92f9cb9d2a3b0d3101289c8"}, 1802 | {file = "Pygments-2.8.1.tar.gz", hash = "sha256:2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94"}, 1803 | ] 1804 | pyparsing = [ 1805 | {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, 1806 | {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, 1807 | ] 1808 | pyrsistent = [ 1809 | {file = "pyrsistent-0.17.3.tar.gz", hash = "sha256:2e636185d9eb976a18a8a8e96efce62f2905fea90041958d8cc2a189756ebf3e"}, 1810 | ] 1811 | pytest = [ 1812 | {file = "pytest-6.2.4-py3-none-any.whl", hash = "sha256:91ef2131a9bd6be8f76f1f08eac5c5317221d6ad1e143ae03894b862e8976890"}, 1813 | {file = "pytest-6.2.4.tar.gz", hash = "sha256:50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b"}, 1814 | ] 1815 | python-dateutil = [ 1816 | {file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"}, 1817 | {file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"}, 1818 | ] 1819 | pytz = [ 1820 | {file = "pytz-2021.1-py2.py3-none-any.whl", hash = "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"}, 1821 | {file = "pytz-2021.1.tar.gz", hash = "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da"}, 1822 | ] 1823 | pywin32 = [ 1824 | {file = "pywin32-300-cp35-cp35m-win32.whl", hash = "sha256:1c204a81daed2089e55d11eefa4826c05e604d27fe2be40b6bf8db7b6a39da63"}, 1825 | {file = "pywin32-300-cp35-cp35m-win_amd64.whl", hash = "sha256:350c5644775736351b77ba68da09a39c760d75d2467ecec37bd3c36a94fbed64"}, 1826 | {file = "pywin32-300-cp36-cp36m-win32.whl", hash = "sha256:a3b4c48c852d4107e8a8ec980b76c94ce596ea66d60f7a697582ea9dce7e0db7"}, 1827 | {file = "pywin32-300-cp36-cp36m-win_amd64.whl", hash = "sha256:27a30b887afbf05a9cbb05e3ffd43104a9b71ce292f64a635389dbad0ed1cd85"}, 1828 | {file = "pywin32-300-cp37-cp37m-win32.whl", hash = "sha256:d7e8c7efc221f10d6400c19c32a031add1c4a58733298c09216f57b4fde110dc"}, 1829 | {file = "pywin32-300-cp37-cp37m-win_amd64.whl", hash = "sha256:8151e4d7a19262d6694162d6da85d99a16f8b908949797fd99c83a0bfaf5807d"}, 1830 | {file = "pywin32-300-cp38-cp38-win32.whl", hash = "sha256:fbb3b1b0fbd0b4fc2a3d1d81fe0783e30062c1abed1d17c32b7879d55858cfae"}, 1831 | {file = "pywin32-300-cp38-cp38-win_amd64.whl", hash = "sha256:60a8fa361091b2eea27f15718f8eb7f9297e8d51b54dbc4f55f3d238093d5190"}, 1832 | {file = "pywin32-300-cp39-cp39-win32.whl", hash = "sha256:638b68eea5cfc8def537e43e9554747f8dee786b090e47ead94bfdafdb0f2f50"}, 1833 | {file = "pywin32-300-cp39-cp39-win_amd64.whl", hash = "sha256:b1609ce9bd5c411b81f941b246d683d6508992093203d4eb7f278f4ed1085c3f"}, 1834 | ] 1835 | pywin32-ctypes = [ 1836 | {file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"}, 1837 | {file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"}, 1838 | ] 1839 | pywinpty = [ 1840 | {file = "pywinpty-0.5.7-cp27-cp27m-win32.whl", hash = "sha256:b358cb552c0f6baf790de375fab96524a0498c9df83489b8c23f7f08795e966b"}, 1841 | {file = "pywinpty-0.5.7-cp27-cp27m-win_amd64.whl", hash = "sha256:1e525a4de05e72016a7af27836d512db67d06a015aeaf2fa0180f8e6a039b3c2"}, 1842 | {file = "pywinpty-0.5.7-cp35-cp35m-win32.whl", hash = "sha256:2740eeeb59297593a0d3f762269b01d0285c1b829d6827445fcd348fb47f7e70"}, 1843 | {file = "pywinpty-0.5.7-cp35-cp35m-win_amd64.whl", hash = "sha256:33df97f79843b2b8b8bc5c7aaf54adec08cc1bae94ee99dfb1a93c7a67704d95"}, 1844 | {file = "pywinpty-0.5.7-cp36-cp36m-win32.whl", hash = "sha256:e854211df55d107f0edfda8a80b39dfc87015bef52a8fe6594eb379240d81df2"}, 1845 | {file = "pywinpty-0.5.7-cp36-cp36m-win_amd64.whl", hash = "sha256:dbd838de92de1d4ebf0dce9d4d5e4fc38d0b7b1de837947a18b57a882f219139"}, 1846 | {file = "pywinpty-0.5.7-cp37-cp37m-win32.whl", hash = "sha256:5fb2c6c6819491b216f78acc2c521b9df21e0f53b9a399d58a5c151a3c4e2a2d"}, 1847 | {file = "pywinpty-0.5.7-cp37-cp37m-win_amd64.whl", hash = "sha256:dd22c8efacf600730abe4a46c1388355ce0d4ab75dc79b15d23a7bd87bf05b48"}, 1848 | {file = "pywinpty-0.5.7-cp38-cp38-win_amd64.whl", hash = "sha256:8fc5019ff3efb4f13708bd3b5ad327589c1a554cb516d792527361525a7cb78c"}, 1849 | {file = "pywinpty-0.5.7.tar.gz", hash = "sha256:2d7e9c881638a72ffdca3f5417dd1563b60f603e1b43e5895674c2a1b01f95a0"}, 1850 | ] 1851 | pyyaml = [ 1852 | {file = "PyYAML-5.4.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922"}, 1853 | {file = "PyYAML-5.4.1-cp27-cp27m-win32.whl", hash = "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393"}, 1854 | {file = "PyYAML-5.4.1-cp27-cp27m-win_amd64.whl", hash = "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8"}, 1855 | {file = "PyYAML-5.4.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185"}, 1856 | {file = "PyYAML-5.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253"}, 1857 | {file = "PyYAML-5.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc"}, 1858 | {file = "PyYAML-5.4.1-cp36-cp36m-win32.whl", hash = "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5"}, 1859 | {file = "PyYAML-5.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df"}, 1860 | {file = "PyYAML-5.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018"}, 1861 | {file = "PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63"}, 1862 | {file = "PyYAML-5.4.1-cp37-cp37m-win32.whl", hash = "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b"}, 1863 | {file = "PyYAML-5.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf"}, 1864 | {file = "PyYAML-5.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46"}, 1865 | {file = "PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb"}, 1866 | {file = "PyYAML-5.4.1-cp38-cp38-win32.whl", hash = "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc"}, 1867 | {file = "PyYAML-5.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696"}, 1868 | {file = "PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77"}, 1869 | {file = "PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183"}, 1870 | {file = "PyYAML-5.4.1-cp39-cp39-win32.whl", hash = "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10"}, 1871 | {file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"}, 1872 | {file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"}, 1873 | ] 1874 | pyzmq = [ 1875 | {file = "pyzmq-22.0.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c0cde362075ee8f3d2b0353b283e203c2200243b5a15d5c5c03b78112a17e7d4"}, 1876 | {file = "pyzmq-22.0.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:ff1ea14075bbddd6f29bf6beb8a46d0db779bcec6b9820909584081ec119f8fd"}, 1877 | {file = "pyzmq-22.0.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:26380487eae4034d6c2a3fb8d0f2dff6dd0d9dd711894e8d25aa2d1938950a33"}, 1878 | {file = "pyzmq-22.0.3-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:3e29f9cf85a40d521d048b55c63f59d6c772ac1c4bf51cdfc23b62a62e377c33"}, 1879 | {file = "pyzmq-22.0.3-cp36-cp36m-win32.whl", hash = "sha256:4f34a173f813b38b83f058e267e30465ed64b22cd0cf6bad21148d3fa718f9bb"}, 1880 | {file = "pyzmq-22.0.3-cp36-cp36m-win_amd64.whl", hash = "sha256:30df70f81fe210506aa354d7fd486a39b87d9f7f24c3d3f4f698ec5d96b8c084"}, 1881 | {file = "pyzmq-22.0.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7026f0353977431fc884abd4ac28268894bd1a780ba84bb266d470b0ec26d2ed"}, 1882 | {file = "pyzmq-22.0.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6d4163704201fff0f3ab0cd5d7a0ea1514ecfffd3926d62ec7e740a04d2012c7"}, 1883 | {file = "pyzmq-22.0.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:763c175294d861869f18eb42901d500eda7d3fa4565f160b3b2fd2678ea0ebab"}, 1884 | {file = "pyzmq-22.0.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:61e4bb6cd60caf1abcd796c3f48395e22c5b486eeca6f3a8797975c57d94b03e"}, 1885 | {file = "pyzmq-22.0.3-cp37-cp37m-win32.whl", hash = "sha256:b25e5d339550a850f7e919fe8cb4c8eabe4c917613db48dab3df19bfb9a28969"}, 1886 | {file = "pyzmq-22.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:3ef50d74469b03725d781a2a03c57537d86847ccde587130fe35caafea8f75c6"}, 1887 | {file = "pyzmq-22.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:60e63577b85055e4cc43892fecd877b86695ee3ef12d5d10a3c5d6e77a7cc1a3"}, 1888 | {file = "pyzmq-22.0.3-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:f5831eff6b125992ec65d973f5151c48003b6754030094723ac4c6e80a97c8c4"}, 1889 | {file = "pyzmq-22.0.3-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:9221783dacb419604d5345d0e097bddef4459a9a95322de6c306bf1d9896559f"}, 1890 | {file = "pyzmq-22.0.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:b62ea18c0458a65ccd5be90f276f7a5a3f26a6dea0066d948ce2fa896051420f"}, 1891 | {file = "pyzmq-22.0.3-cp38-cp38-win32.whl", hash = "sha256:81e7df0da456206201e226491aa1fc449da85328bf33bbeec2c03bb3a9f18324"}, 1892 | {file = "pyzmq-22.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:f52070871a0fd90a99130babf21f8af192304ec1e995bec2a9533efc21ea4452"}, 1893 | {file = "pyzmq-22.0.3-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:c5e29fe4678f97ce429f076a2a049a3d0b2660ada8f2c621e5dc9939426056dd"}, 1894 | {file = "pyzmq-22.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d18ddc6741b51f3985978f2fda57ddcdae359662d7a6b395bc8ff2292fca14bd"}, 1895 | {file = "pyzmq-22.0.3-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4231943514812dfb74f44eadcf85e8dd8cf302b4d0bce450ce1357cac88dbfdc"}, 1896 | {file = "pyzmq-22.0.3-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:23a74de4b43c05c3044aeba0d1f3970def8f916151a712a3ac1e5cd9c0bc2902"}, 1897 | {file = "pyzmq-22.0.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:532af3e6dddea62d9c49062ece5add998c9823c2419da943cf95589f56737de0"}, 1898 | {file = "pyzmq-22.0.3-cp39-cp39-win32.whl", hash = "sha256:33acd2b9790818b9d00526135acf12790649d8d34b2b04d64558b469c9d86820"}, 1899 | {file = "pyzmq-22.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:a558c5bc89d56d7253187dccc4e81b5bb0eac5ae9511eb4951910a1245d04622"}, 1900 | {file = "pyzmq-22.0.3-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:581787c62eaa0e0db6c5413cedc393ebbadac6ddfd22e1cf9a60da23c4f1a4b2"}, 1901 | {file = "pyzmq-22.0.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:38e3dca75d81bec4f2defa14b0a65b74545812bb519a8e89c8df96bbf4639356"}, 1902 | {file = "pyzmq-22.0.3-pp36-pypy36_pp73-win32.whl", hash = "sha256:2f971431aaebe0a8b54ac018e041c2f0b949a43745444e4dadcc80d0f0ef8457"}, 1903 | {file = "pyzmq-22.0.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:da7d4d4c778c86b60949d17531e60c54ed3726878de8a7f8a6d6e7f8cc8c3205"}, 1904 | {file = "pyzmq-22.0.3-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:13465c1ff969cab328bc92f7015ce3843f6e35f8871ad79d236e4fbc85dbe4cb"}, 1905 | {file = "pyzmq-22.0.3-pp37-pypy37_pp73-win32.whl", hash = "sha256:279cc9b51db48bec2db146f38e336049ac5a59e5f12fb3a8ad864e238c1c62e3"}, 1906 | {file = "pyzmq-22.0.3.tar.gz", hash = "sha256:f7f63ce127980d40f3e6a5fdb87abf17ce1a7c2bd8bf2c7560e1bbce8ab1f92d"}, 1907 | ] 1908 | requests = [ 1909 | {file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"}, 1910 | {file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"}, 1911 | ] 1912 | scikit-learn = [ 1913 | {file = "scikit-learn-0.24.1.tar.gz", hash = "sha256:a0334a1802e64d656022c3bfab56a73fbd6bf4b1298343f3688af2151810bbdf"}, 1914 | {file = "scikit_learn-0.24.1-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:9bed8a1ef133c8e2f13966a542cb8125eac7f4b67dcd234197c827ba9c7dd3e0"}, 1915 | {file = "scikit_learn-0.24.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a36e159a0521e13bbe15ca8c8d038b3a1dd4c7dad18d276d76992e03b92cf643"}, 1916 | {file = "scikit_learn-0.24.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:c658432d8a20e95398f6bb95ff9731ce9dfa343fdf21eea7ec6a7edfacd4b4d9"}, 1917 | {file = "scikit_learn-0.24.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:9dfa564ef27e8e674aa1cc74378416d580ac4ede1136c13dd555a87996e13422"}, 1918 | {file = "scikit_learn-0.24.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:9c6097b6a9b2bafc5e0f31f659e6ab5e131383209c30c9e978c5b8abdac5ed2a"}, 1919 | {file = "scikit_learn-0.24.1-cp36-cp36m-win32.whl", hash = "sha256:7b04691eb2f41d2c68dbda8d1bd3cb4ef421bdc43aaa56aeb6c762224552dfb6"}, 1920 | {file = "scikit_learn-0.24.1-cp36-cp36m-win_amd64.whl", hash = "sha256:1adf483e91007a87171d7ce58c34b058eb5dab01b5fee6052f15841778a8ecd8"}, 1921 | {file = "scikit_learn-0.24.1-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:ddb52d088889f5596bc4d1de981f2eca106b58243b6679e4782f3ba5096fd645"}, 1922 | {file = "scikit_learn-0.24.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:a29460499c1e62b7a830bb57ca42e615375a6ab1bcad053cd25b493588348ea8"}, 1923 | {file = "scikit_learn-0.24.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:0567a2d29ad08af98653300c623bd8477b448fe66ced7198bef4ed195925f082"}, 1924 | {file = "scikit_learn-0.24.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:99349d77f54e11f962d608d94dfda08f0c9e5720d97132233ebdf35be2858b2d"}, 1925 | {file = "scikit_learn-0.24.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:83b21ff053b1ff1c018a2d24db6dd3ea339b1acfbaa4d9c881731f43748d8b3b"}, 1926 | {file = "scikit_learn-0.24.1-cp37-cp37m-win32.whl", hash = "sha256:c3deb3b19dd9806acf00cf0d400e84562c227723013c33abefbbc3cf906596e9"}, 1927 | {file = "scikit_learn-0.24.1-cp37-cp37m-win_amd64.whl", hash = "sha256:d54dbaadeb1425b7d6a66bf44bee2bb2b899fe3e8850b8e94cfb9c904dcb46d0"}, 1928 | {file = "scikit_learn-0.24.1-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:3c4f07f47c04e81b134424d53c3f5e16dfd7f494e44fd7584ba9ce9de2c5e6c1"}, 1929 | {file = "scikit_learn-0.24.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c13ebac42236b1c46397162471ea1c46af68413000e28b9309f8c05722c65a09"}, 1930 | {file = "scikit_learn-0.24.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:4ddd2b6f7449a5d539ff754fa92d75da22de261fd8fdcfb3596799fadf255101"}, 1931 | {file = "scikit_learn-0.24.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:826b92bf45b8ad80444814e5f4ac032156dd481e48d7da33d611f8fe96d5f08b"}, 1932 | {file = "scikit_learn-0.24.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:259ec35201e82e2db1ae2496f229e63f46d7f1695ae68eef9350b00dc74ba52f"}, 1933 | {file = "scikit_learn-0.24.1-cp38-cp38-win32.whl", hash = "sha256:8772b99d683be8f67fcc04789032f1b949022a0e6880ee7b75a7ec97dbbb5d0b"}, 1934 | {file = "scikit_learn-0.24.1-cp38-cp38-win_amd64.whl", hash = "sha256:ed9d65594948678827f4ff0e7ae23344e2f2b4cabbca057ccaed3118fdc392ca"}, 1935 | {file = "scikit_learn-0.24.1-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:8aa1b3ac46b80eaa552b637eeadbbce3be5931e4b5002b964698e33a1b589e1e"}, 1936 | {file = "scikit_learn-0.24.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:c7f4eb77504ac586d8ac1bde1b0c04b504487210f95297235311a0ab7edd7e38"}, 1937 | {file = "scikit_learn-0.24.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:087dfede39efb06ab30618f9ab55a0397f29c38d63cd0ab88d12b500b7d65fd7"}, 1938 | {file = "scikit_learn-0.24.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:895dbf2030aa7337649e36a83a007df3c9811396b4e2fa672a851160f36ce90c"}, 1939 | {file = "scikit_learn-0.24.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:9a24d1ccec2a34d4cd3f2a1f86409f3f5954cc23d4d2270ba0d03cf018aa4780"}, 1940 | {file = "scikit_learn-0.24.1-cp39-cp39-win32.whl", hash = "sha256:fab31f48282ebf54dd69f6663cd2d9800096bad1bb67bbc9c9ac84eb77b41972"}, 1941 | {file = "scikit_learn-0.24.1-cp39-cp39-win_amd64.whl", hash = "sha256:4562dcf4793e61c5d0f89836d07bc37521c3a1889da8f651e2c326463c4bd697"}, 1942 | ] 1943 | scipy = [ 1944 | {file = "scipy-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4f12d13ffbc16e988fa40809cbbd7a8b45bc05ff6ea0ba8e3e41f6f4db3a9e47"}, 1945 | {file = "scipy-1.5.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a254b98dbcc744c723a838c03b74a8a34c0558c9ac5c86d5561703362231107d"}, 1946 | {file = "scipy-1.5.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:368c0f69f93186309e1b4beb8e26d51dd6f5010b79264c0f1e9ca00cd92ea8c9"}, 1947 | {file = "scipy-1.5.4-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:4598cf03136067000855d6b44d7a1f4f46994164bcd450fb2c3d481afc25dd06"}, 1948 | {file = "scipy-1.5.4-cp36-cp36m-win32.whl", hash = "sha256:e98d49a5717369d8241d6cf33ecb0ca72deee392414118198a8e5b4c35c56340"}, 1949 | {file = "scipy-1.5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:65923bc3809524e46fb7eb4d6346552cbb6a1ffc41be748535aa502a2e3d3389"}, 1950 | {file = "scipy-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9ad4fcddcbf5dc67619379782e6aeef41218a79e17979aaed01ed099876c0e62"}, 1951 | {file = "scipy-1.5.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:f87b39f4d69cf7d7529d7b1098cb712033b17ea7714aed831b95628f483fd012"}, 1952 | {file = "scipy-1.5.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:25b241034215247481f53355e05f9e25462682b13bd9191359075682adcd9554"}, 1953 | {file = "scipy-1.5.4-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:fa789583fc94a7689b45834453fec095245c7e69c58561dc159b5d5277057e4c"}, 1954 | {file = "scipy-1.5.4-cp37-cp37m-win32.whl", hash = "sha256:d6d25c41a009e3c6b7e757338948d0076ee1dd1770d1c09ec131f11946883c54"}, 1955 | {file = "scipy-1.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:2c872de0c69ed20fb1a9b9cf6f77298b04a26f0b8720a5457be08be254366c6e"}, 1956 | {file = "scipy-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e360cb2299028d0b0d0f65a5c5e51fc16a335f1603aa2357c25766c8dab56938"}, 1957 | {file = "scipy-1.5.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:3397c129b479846d7eaa18f999369a24322d008fac0782e7828fa567358c36ce"}, 1958 | {file = "scipy-1.5.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:168c45c0c32e23f613db7c9e4e780bc61982d71dcd406ead746c7c7c2f2004ce"}, 1959 | {file = "scipy-1.5.4-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:213bc59191da2f479984ad4ec39406bf949a99aba70e9237b916ce7547b6ef42"}, 1960 | {file = "scipy-1.5.4-cp38-cp38-win32.whl", hash = "sha256:634568a3018bc16a83cda28d4f7aed0d803dd5618facb36e977e53b2df868443"}, 1961 | {file = "scipy-1.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:b03c4338d6d3d299e8ca494194c0ae4f611548da59e3c038813f1a43976cb437"}, 1962 | {file = "scipy-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3d5db5d815370c28d938cf9b0809dade4acf7aba57eaf7ef733bfedc9b2474c4"}, 1963 | {file = "scipy-1.5.4-cp39-cp39-manylinux1_i686.whl", hash = "sha256:6b0ceb23560f46dd236a8ad4378fc40bad1783e997604ba845e131d6c680963e"}, 1964 | {file = "scipy-1.5.4-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:ed572470af2438b526ea574ff8f05e7f39b44ac37f712105e57fc4d53a6fb660"}, 1965 | {file = "scipy-1.5.4-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:8c8d6ca19c8497344b810b0b0344f8375af5f6bb9c98bd42e33f747417ab3f57"}, 1966 | {file = "scipy-1.5.4-cp39-cp39-win32.whl", hash = "sha256:d84cadd7d7998433334c99fa55bcba0d8b4aeff0edb123b2a1dfcface538e474"}, 1967 | {file = "scipy-1.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:cc1f78ebc982cd0602c9a7615d878396bec94908db67d4ecddca864d049112f2"}, 1968 | {file = "scipy-1.5.4.tar.gz", hash = "sha256:4a453d5e5689de62e5d38edf40af3f17560bfd63c9c5bd228c18c1f99afa155b"}, 1969 | ] 1970 | secretstorage = [ 1971 | {file = "SecretStorage-3.3.1-py3-none-any.whl", hash = "sha256:422d82c36172d88d6a0ed5afdec956514b189ddbfb72fefab0c8a1cee4eaf71f"}, 1972 | {file = "SecretStorage-3.3.1.tar.gz", hash = "sha256:fd666c51a6bf200643495a04abb261f83229dcb6fd8472ec393df7ffc8b6f195"}, 1973 | ] 1974 | send2trash = [ 1975 | {file = "Send2Trash-1.5.0-py3-none-any.whl", hash = "sha256:f1691922577b6fa12821234aeb57599d887c4900b9ca537948d2dac34aea888b"}, 1976 | {file = "Send2Trash-1.5.0.tar.gz", hash = "sha256:60001cc07d707fe247c94f74ca6ac0d3255aabcb930529690897ca2a39db28b2"}, 1977 | ] 1978 | six = [ 1979 | {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, 1980 | {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, 1981 | ] 1982 | soupsieve = [ 1983 | {file = "soupsieve-2.2-py3-none-any.whl", hash = "sha256:d3a5ea5b350423f47d07639f74475afedad48cf41c0ad7a82ca13a3928af34f6"}, 1984 | {file = "soupsieve-2.2.tar.gz", hash = "sha256:407fa1e8eb3458d1b5614df51d9651a1180ea5fedf07feb46e45d7e25e6d6cdd"}, 1985 | ] 1986 | terminado = [ 1987 | {file = "terminado-0.9.3-py3-none-any.whl", hash = "sha256:430e876ec9d4d93a4fd8a49e82dcfae0c25f846540d0c5ca774b397533e237e8"}, 1988 | {file = "terminado-0.9.3.tar.gz", hash = "sha256:261c0b7825fecf629666e1820b484a5380f7e54d6b8bd889fa482e99dcf9bde4"}, 1989 | ] 1990 | testpath = [ 1991 | {file = "testpath-0.4.4-py2.py3-none-any.whl", hash = "sha256:bfcf9411ef4bf3db7579063e0546938b1edda3d69f4e1fb8756991f5951f85d4"}, 1992 | {file = "testpath-0.4.4.tar.gz", hash = "sha256:60e0a3261c149755f4399a1fff7d37523179a70fdc3abdf78de9fc2604aeec7e"}, 1993 | ] 1994 | threadpoolctl = [ 1995 | {file = "threadpoolctl-2.1.0-py3-none-any.whl", hash = "sha256:38b74ca20ff3bb42caca8b00055111d74159ee95c4370882bbff2b93d24da725"}, 1996 | {file = "threadpoolctl-2.1.0.tar.gz", hash = "sha256:ddc57c96a38beb63db45d6c159b5ab07b6bced12c45a1f07b2b92f272aebfa6b"}, 1997 | ] 1998 | toml = [ 1999 | {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, 2000 | {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, 2001 | ] 2002 | tornado = [ 2003 | {file = "tornado-6.1-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32"}, 2004 | {file = "tornado-6.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c"}, 2005 | {file = "tornado-6.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9de9e5188a782be6b1ce866e8a51bc76a0fbaa0e16613823fc38e4fc2556ad05"}, 2006 | {file = "tornado-6.1-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:61b32d06ae8a036a6607805e6720ef00a3c98207038444ba7fd3d169cd998910"}, 2007 | {file = "tornado-6.1-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:3e63498f680547ed24d2c71e6497f24bca791aca2fe116dbc2bd0ac7f191691b"}, 2008 | {file = "tornado-6.1-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:6c77c9937962577a6a76917845d06af6ab9197702a42e1346d8ae2e76b5e3675"}, 2009 | {file = "tornado-6.1-cp35-cp35m-win32.whl", hash = "sha256:6286efab1ed6e74b7028327365cf7346b1d777d63ab30e21a0f4d5b275fc17d5"}, 2010 | {file = "tornado-6.1-cp35-cp35m-win_amd64.whl", hash = "sha256:fa2ba70284fa42c2a5ecb35e322e68823288a4251f9ba9cc77be04ae15eada68"}, 2011 | {file = "tornado-6.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:0a00ff4561e2929a2c37ce706cb8233b7907e0cdc22eab98888aca5dd3775feb"}, 2012 | {file = "tornado-6.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:748290bf9112b581c525e6e6d3820621ff020ed95af6f17fedef416b27ed564c"}, 2013 | {file = "tornado-6.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:e385b637ac3acaae8022e7e47dfa7b83d3620e432e3ecb9a3f7f58f150e50921"}, 2014 | {file = "tornado-6.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:25ad220258349a12ae87ede08a7b04aca51237721f63b1808d39bdb4b2164558"}, 2015 | {file = "tornado-6.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:65d98939f1a2e74b58839f8c4dab3b6b3c1ce84972ae712be02845e65391ac7c"}, 2016 | {file = "tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:e519d64089b0876c7b467274468709dadf11e41d65f63bba207e04217f47c085"}, 2017 | {file = "tornado-6.1-cp36-cp36m-win32.whl", hash = "sha256:b87936fd2c317b6ee08a5741ea06b9d11a6074ef4cc42e031bc6403f82a32575"}, 2018 | {file = "tornado-6.1-cp36-cp36m-win_amd64.whl", hash = "sha256:cc0ee35043162abbf717b7df924597ade8e5395e7b66d18270116f8745ceb795"}, 2019 | {file = "tornado-6.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7250a3fa399f08ec9cb3f7b1b987955d17e044f1ade821b32e5f435130250d7f"}, 2020 | {file = "tornado-6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ed3ad863b1b40cd1d4bd21e7498329ccaece75db5a5bf58cd3c9f130843e7102"}, 2021 | {file = "tornado-6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:dcef026f608f678c118779cd6591c8af6e9b4155c44e0d1bc0c87c036fb8c8c4"}, 2022 | {file = "tornado-6.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:70dec29e8ac485dbf57481baee40781c63e381bebea080991893cd297742b8fd"}, 2023 | {file = "tornado-6.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:d3f7594930c423fd9f5d1a76bee85a2c36fd8b4b16921cae7e965f22575e9c01"}, 2024 | {file = "tornado-6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:3447475585bae2e77ecb832fc0300c3695516a47d46cefa0528181a34c5b9d3d"}, 2025 | {file = "tornado-6.1-cp37-cp37m-win32.whl", hash = "sha256:e7229e60ac41a1202444497ddde70a48d33909e484f96eb0da9baf8dc68541df"}, 2026 | {file = "tornado-6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:cb5ec8eead331e3bb4ce8066cf06d2dfef1bfb1b2a73082dfe8a161301b76e37"}, 2027 | {file = "tornado-6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:20241b3cb4f425e971cb0a8e4ffc9b0a861530ae3c52f2b0434e6c1b57e9fd95"}, 2028 | {file = "tornado-6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c77da1263aa361938476f04c4b6c8916001b90b2c2fdd92d8d535e1af48fba5a"}, 2029 | {file = "tornado-6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fba85b6cd9c39be262fcd23865652920832b61583de2a2ca907dbd8e8a8c81e5"}, 2030 | {file = "tornado-6.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:1e8225a1070cd8eec59a996c43229fe8f95689cb16e552d130b9793cb570a288"}, 2031 | {file = "tornado-6.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d14d30e7f46a0476efb0deb5b61343b1526f73ebb5ed84f23dc794bdb88f9d9f"}, 2032 | {file = "tornado-6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8f959b26f2634a091bb42241c3ed8d3cedb506e7c27b8dd5c7b9f745318ddbb6"}, 2033 | {file = "tornado-6.1-cp38-cp38-win32.whl", hash = "sha256:34ca2dac9e4d7afb0bed4677512e36a52f09caa6fded70b4e3e1c89dbd92c326"}, 2034 | {file = "tornado-6.1-cp38-cp38-win_amd64.whl", hash = "sha256:6196a5c39286cc37c024cd78834fb9345e464525d8991c21e908cc046d1cc02c"}, 2035 | {file = "tornado-6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0ba29bafd8e7e22920567ce0d232c26d4d47c8b5cf4ed7b562b5db39fa199c5"}, 2036 | {file = "tornado-6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:33892118b165401f291070100d6d09359ca74addda679b60390b09f8ef325ffe"}, 2037 | {file = "tornado-6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7da13da6f985aab7f6f28debab00c67ff9cbacd588e8477034c0652ac141feea"}, 2038 | {file = "tornado-6.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:e0791ac58d91ac58f694d8d2957884df8e4e2f6687cdf367ef7eb7497f79eaa2"}, 2039 | {file = "tornado-6.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:66324e4e1beede9ac79e60f88de548da58b1f8ab4b2f1354d8375774f997e6c0"}, 2040 | {file = "tornado-6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a48900ecea1cbb71b8c71c620dee15b62f85f7c14189bdeee54966fbd9a0c5bd"}, 2041 | {file = "tornado-6.1-cp39-cp39-win32.whl", hash = "sha256:d3d20ea5782ba63ed13bc2b8c291a053c8d807a8fa927d941bd718468f7b950c"}, 2042 | {file = "tornado-6.1-cp39-cp39-win_amd64.whl", hash = "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4"}, 2043 | {file = "tornado-6.1.tar.gz", hash = "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"}, 2044 | ] 2045 | tqdm = [ 2046 | {file = "tqdm-4.59.0-py2.py3-none-any.whl", hash = "sha256:9fdf349068d047d4cfbe24862c425883af1db29bcddf4b0eeb2524f6fbdb23c7"}, 2047 | {file = "tqdm-4.59.0.tar.gz", hash = "sha256:d666ae29164da3e517fcf125e41d4fe96e5bb375cd87ff9763f6b38b5592fe33"}, 2048 | ] 2049 | traitlets = [ 2050 | {file = "traitlets-4.3.3-py2.py3-none-any.whl", hash = "sha256:70b4c6a1d9019d7b4f6846832288f86998aa3b9207c6821f3578a6a6a467fe44"}, 2051 | {file = "traitlets-4.3.3.tar.gz", hash = "sha256:d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7"}, 2052 | ] 2053 | typing-extensions = [ 2054 | {file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"}, 2055 | {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"}, 2056 | {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"}, 2057 | ] 2058 | uncertainties = [ 2059 | {file = "uncertainties-3.1.5-py2.py3-none-any.whl", hash = "sha256:9c031773afa85e4bc8067f3be257c718eb7dbef7dffd604aeb315ded85c9c325"}, 2060 | {file = "uncertainties-3.1.5.tar.gz", hash = "sha256:9122c1e7e074196883b4a7a946e8482807b2f89675cb5e3798b87e0608ede903"}, 2061 | ] 2062 | urllib3 = [ 2063 | {file = "urllib3-1.26.4-py2.py3-none-any.whl", hash = "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df"}, 2064 | {file = "urllib3-1.26.4.tar.gz", hash = "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937"}, 2065 | ] 2066 | wcwidth = [ 2067 | {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, 2068 | {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, 2069 | ] 2070 | webencodings = [ 2071 | {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, 2072 | {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, 2073 | ] 2074 | zipp = [ 2075 | {file = "zipp-3.4.1-py3-none-any.whl", hash = "sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098"}, 2076 | {file = "zipp-3.4.1.tar.gz", hash = "sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76"}, 2077 | ] 2078 | --------------------------------------------------------------------------------