{ "info": { "author": "Gabriel Pelouze", "author_email": "gabriel.pelouze@ias.u-psud.fr", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Astronomy" ], "description": "# EIS pointing\n\nTools to correct the pointing of Hinode/EIS.\n\nThis Python package implements the method described in the paper\n[Pelouze et al. 2019, Sol Phys 294:59](https://ui.adsabs.harvard.edu/abs/2019SoPh..294...59P/abstract).\n\n## Usage\n\n### From the command line\n\nThis tool can be run from the command line by calling\n`compute_eis_pointing`:\n\n~~~\nusage: compute_eis_pointing [-h] [-s STEPS_FILE] [--io IO] [-c CORES]\n [--cache-aia-data]\n filename [filename ...]\n\nDetermine the pointing of Hinode/EIS.\n\npositional arguments:\n filename The names of the level 0 EIS files, eg.\n 'eis_l0_20100815_192002'.\n\noptional arguments:\n -h, --help show this help message and exit\n -s STEPS_FILE, --steps-file STEPS_FILE\n Path to a yaml file containing the registration steps.\n --io IO Directory where output files are written,\n default: ./io.\n -c CORES, --cores CORES\n Maximum number of cores used for parallelisation,\n default: 4.\n --cache-aia-data Cache the AIA data to a file. This uses a lot of\n storage, but speeds things up when the same raster is\n aligned for the second time.\n~~~\n\n**Examples (command line):**\n\n~~~bash\ncompute_eis_pointing -c16 eis_l0_20140810_042212\ncompute_eis_pointing --steps-file steps/shift_only.yml eis_l0_20140810_042212\n~~~\n\n### As a Python module\n\nThe tool can also be used from within a Python script, using\n`eis_pointing.compute()`.\n\n~~~\ncompute(*filename, steps_file=None, io='io', cores=4, cache_aia_data=False)\n Perform all computation steps to determine the optimal EIS pointing.\n\n Parameters\n ==========\n filename : list\n The names of the level 0 EIS files, eg. 'eis_l0_20100815_192002'.\n steps_file : str or None (default: None)\n Path to a yaml file containing the registration steps.\n io :\u00a0str (default: 'io')\n Directory where output files are written.\n cores : int (default: 4)\n Maximum number of cores used for parallelisation.\n cache_aia_data : bool (default: False)\n Cache the AIA data to a file. This uses a lot of storage, but speeds\n things up when the same raster is aligned for the second time.\n~~~\n\n**Examples (Python):**\n\n~~~python\nimport eis_pointing\neis_pointing.compute('eis_l0_20140810_042212', cores=16)\neis_pointing.compute('eis_l0_20140810_042212', steps_file='steps/shift_only.yml')\n~~~\n\n## Installation\n\nInstall the latest release by running: `pip install eis_pointing`.\n\nAlternatively, the latest version can be installed from GitHub by cloning this\nrepository with `git clone https://github.com/gpelouze/eis_pointing`, then\nrunning `cd eis_pointing`, and `pip install .`.\n\n### Optional: install SolarSoft\n\nBefore computing the optimal pointing, this tool can download, prepare, and\nexport the EIS data by calling external IDL routines from [SolarSoft]. For\nthese features to be available, a functioning installation of SolarSoft\ncontaining the EIS instrument is required. [Install SolarSoft][install-ssw],\nand set the environment variable `$SSW` to your installation path (by default,\nSolarSoft is assumed to be installed installed into `/usr/local/ssw`).\n\nIt is perfectly fine not to install or configure SolarSoft to run with this\ntool. In this case, you will need to manually download the EIS level0 FITS,\nprepare them into level1 FITS, and save a windata structure containing the\nFe\u00a0XII 195.119\u00a0\u00c5 line to a `.sav` file placed in\n`/windata/eis_windata_.sav`.\nSee [pipeline](#pipeline) for details on how to do this.\n\n[SolarSoft]: http://www.ascl.net/1208.013\n[install-ssw]: http://www.lmsal.com/solarsoft/sswdoc/solarsoft/ssw_install_howto.html\n\n## Customisation\n\nThe registration steps used to find the optimal pointing can be customised in a\nYAML file, and passed to `eis_pointing` using the `--steps-file` parameter (see\nexamples above). The file should have a top-level key named `steps` that\ncontains a list of registration steps. Each step must specify at least a\n`type`, chosen between `shift`, `rotshift`, and `slitshift`.\n\nBy default, EIS data are coaligned with synthetic AIA raster. To coalign with a\nsingle AIA image, add the top-level key `single_aia_frame: True`. In this case,\nthe reference AIA image chosen at the middle of the EIS raster.\n\nSee files in [`steps/`](steps/) for examples.\n\nWhen no file is specified, the default behaviour is the same as using\n[`steps/full_registration.yml`](steps/full_registration.yml).\n\n## Code structure\n\n### Pipeline\n\nAll the steps required to determine the optimal pointing data from EIS level 0\nfiles are defined in `driver.py`. The appropriate functions are called by the\nexecutable `compute_eis_pointing` when using the tool from the CLI, or by\n`eis_pointing.compute()` when using it as a Python module.\n\n1. **Download data** Download the required EIS level 0 FITS,\n and place them in the EIS data files and directory structure\n described in [EIS Software Note #18][swn18]\n (eg. `$HINODE_DATA/eis/level0/2014/08/10/eis_l0_20140810_042212.fits`).\n\n2. **Prepare data** Generate EIS level 1 FITS from level 0, and save it to the\n EIS data files and directory structure\n (eg. `$HINODE_DATA/eis/level1/2014/08/10/eis_l1_20140810_042212.fits`).\n Performed by `eis_pointing/prep.pro`, which calls the SolarSoft routine\n `eis_prep.pro`.\n\n3. **Export windata** Save a `windata` structure containing the\n Fe\u00a0XII 195.119\u00a0\u00c5 line, obtained using the SolarSoft function\n `eis_getwindata` (see [EIS Software Note #21][swn21]).\n The structure is saved to `/windata/eis_windata_.sav`\n (eg. `./io/windata/windata_20140810_042212.sav`).\n Performed by `eis_pointing/export_windata.pro`.\n\n---\n\n**Alternative to steps 1-3 without SolarSoft** If SolarSoft is not installed or\nconfigured, you will need to separately generate a windata structure containing\nthe Fe\u00a0XII 195.119\u00a0\u00c5 line, and save it to\n`/windata/eis_windata_.sav`.\n\nExample (SSW):\n\n~~~IDL\nwd = eis_getwindata('eis_l1_20140810_042212.fits', 195.119, /refill)\nsave, wd, filename='./io/windata/windata_20140810_042212.sav'\n~~~\n\nOnce this is done, run the tool normally, either from the [command\nline](#from-the-command-line), or as a [Python module](#as-a-python-module). It\nwill detect the existing `.sav` file, and skip steps 1-3.\n\n---\n\n4. **Compute the EIS emission**\n Generate an intensity map of the Fe\u00a0XII 195.119\u00a0\u00c5 line by summing\n the spectra between 194.969 and 195.269\u00a0\u00c5. Data are saved to\n `/eis_aia_emission/eis_aia_emission_.fits` (eg.\n `./io/eis_aia_emission/eis_aia_emission_20140810_042212.fits`).\n Performed by `eis_pointing.eis_aia_emission.compute()`.\n\n5. **Determine the optimal pointing** Determine the optimal pointing for EIS\n using the intensity map generated at the previous step, and AIA 193 data\n retrieved from [Medoc][medoc-homepage] as a reference. (The AIA FITS are\n downloaded to `./sdo/aia`, or to `$SDO_DATA/aia/` if the environment\n variable `$SDO_DATA` is set set.)\n Results from the alignment (ie. new EIS coordinates) are saved to\n `/pointing/eis_pointing_.fits`. Diagnostics plots, correlation\n cubes, as well as a YAML file containing the results from the coregistration\n are also saved to `/pointing_verification//`. Performed by\n `eis_pointing.eis_aia_registration.optimal_pointing()`.\n\n[swn18]: ftp://sohoftp.nascom.nasa.gov/solarsoft/hinode/eis/doc/eis_notes/18_FILES/eis_swnote_18.pdf\n[swn21]: ftp://sohoftp.nascom.nasa.gov/solarsoft/hinode/eis/doc/eis_notes/21_WINDATA/eis_swnote_21.pdf\n[medoc-homepage]: https://idoc.ias.u-psud.fr/MEDOC\n\n\n### Coregistration functions: `eis_pointing.coregister`\n\n- `images` contains functions to register images in translation, relatively to\n another image.\n- `rasters` contains functions to register images in translation and rotation,\n relatively to a synthetic raster.\n- `slits` functions to register slit positions (ie. vertical columns in an\n image) separately, relatively to a synthetic raster.\n- `tools` functions shared among the previous submodules.\n\n### Functions shared by different components `eis_pointing.utils`\n\n- `aia_raster`: defines `AIARasterGenerator` that builds synthetic rasters\n from AIA data. Also contains `SimpleCache` and `FileCache`.\n- `cli`: argument parsing and output display.\n- `eis`, `aia.py`: functions to handle native EIS and AIA data, filenames,\n and data queries. This does not take care of transformed data such as\n `AIARasterGenerator`.\n- `files`: manage local filenames (ie. those in `io/`); canonical EIS or AIA\n filenames are handled in `eis.py` or `aia.py`.\n- `idl`: run IDL or SSW code from Python, load and format data returned by\n IDL. Contains `IDLFunction`, `SSWFunction` and `IDLStructure`.\n- `num`: tools that extend numpy or scipy.\n- `plots`: help generate plots at step 4.\n- `sun`: generic solar computations.\n\n## Reference / License\n\nIf you use this package for a publication, please acknowledge the following\npaper:\n[Pelouze et al. 2019, Sol Phys 294:59](https://ui.adsabs.harvard.edu/abs/2019SoPh..294...59P/abstract).\n\nThis package is released under a MIT open source licence. See `LICENSE.txt`.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gpelouze/eis_pointing", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "eis-pointing", "package_url": "https://pypi.org/project/eis-pointing/", "platform": "", "project_url": "https://pypi.org/project/eis-pointing/", "project_urls": { "Homepage": "https://github.com/gpelouze/eis_pointing" }, "release_url": "https://pypi.org/project/eis-pointing/2019.7.1/", "requires_dist": [ "astropy (>=3.0)", "python-dateutil (>=2.7)", "matplotlib (>=2.0)", "numpy (>=1.15)", "requests (>=2.19)", "scipy (>=1.0)", "PyYAML (>=3.13)", "pySitools2" ], "requires_python": ">=3.5", "summary": "Tools to correct the pointing of Hinode/EIS", "version": "2019.7.1" }, "last_serial": 5470420, "releases": { "2018.10.30": [ { "comment_text": "", "digests": { "md5": "bf81bb0ae651f93bbdb93f875df21c8a", "sha256": "00c3afa78c2135477c1414831101c9efa45cf608d9c578bb6302c1a08d9344cc" }, "downloads": -1, "filename": "eis_pointing-2018.10.30-py3-none-any.whl", "has_sig": false, "md5_digest": "bf81bb0ae651f93bbdb93f875df21c8a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 49920, "upload_time": "2018-10-30T16:12:34", "url": "https://files.pythonhosted.org/packages/0c/6a/5302672a85bc5d02acca6e216d6f83c717256c1772003c0afa0f7723636f/eis_pointing-2018.10.30-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "915c4f9bcd693436bf1859b7b0824662", "sha256": "157dbb8acd879929ba2e7aca0e745f6b375ea4cb0bb6f47324d085f82be3f937" }, "downloads": -1, "filename": "eis_pointing-2018.10.30.tar.gz", "has_sig": false, "md5_digest": "915c4f9bcd693436bf1859b7b0824662", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 42723, "upload_time": "2018-10-30T16:12:36", "url": "https://files.pythonhosted.org/packages/5c/33/35f8ec90e2373724ccafb48fa43154eb461f257c422e105eb4d6d07baebd/eis_pointing-2018.10.30.tar.gz" } ], "2018.11.20": [ { "comment_text": "", "digests": { "md5": "921d1d6057e3c0b60d8735837d5f9041", "sha256": "54c8af09523bc228230d7ffac5c4a348e990270bc1ca8e03be17d7c058e659e6" }, "downloads": -1, "filename": "eis_pointing-2018.11.20-py3-none-any.whl", "has_sig": false, "md5_digest": "921d1d6057e3c0b60d8735837d5f9041", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 50029, "upload_time": "2018-11-20T13:21:24", "url": "https://files.pythonhosted.org/packages/cf/c1/cc04cf60b7f9c19560a5a5fff28dc17faabc70f0b85f8d4932ff85011c16/eis_pointing-2018.11.20-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e1749644cf620fd52970210ecdd7a11", "sha256": "a87739285a6a621987dc7fa150a80140156d068285e76f6827817cfb5f063054" }, "downloads": -1, "filename": "eis_pointing-2018.11.20.tar.gz", "has_sig": false, "md5_digest": "3e1749644cf620fd52970210ecdd7a11", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 42931, "upload_time": "2018-11-20T13:21:26", "url": "https://files.pythonhosted.org/packages/f4/6a/b37e0974a1839569d7304653abc8ff0e03db0794fd3af69dd8d5ba69f295/eis_pointing-2018.11.20.tar.gz" } ], "2018.12.19": [ { "comment_text": "", "digests": { "md5": "cbe1697c94c4ba2051422bd0d5f805b3", "sha256": "4ecf113da393a58cd8936a9e98793fbe2a7a6119b6b98fd44f5e2bf3ea30aba4" }, "downloads": -1, "filename": "eis_pointing-2018.12.19-py3-none-any.whl", "has_sig": false, "md5_digest": "cbe1697c94c4ba2051422bd0d5f805b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 50157, "upload_time": "2018-12-19T17:26:44", "url": "https://files.pythonhosted.org/packages/06/4b/e8ddc91c8a907cf5fffb5031b71551a51fc83c8fa68497bdf50334d986eb/eis_pointing-2018.12.19-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a55e4e1d82a21bee0b8d4d64dc94f91", "sha256": "9cd622fd1f6dd6f7212a3b554adca3d62c7350351113d29745fec3c25c87c659" }, "downloads": -1, "filename": "eis_pointing-2018.12.19.tar.gz", "has_sig": false, "md5_digest": "9a55e4e1d82a21bee0b8d4d64dc94f91", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 43369, "upload_time": "2018-12-19T17:26:46", "url": "https://files.pythonhosted.org/packages/33/3b/4a84230012a6f3b8ffadc682475a6d0cd7a3728bf167464431ef6d8225ba/eis_pointing-2018.12.19.tar.gz" } ], "2018.12.4": [ { "comment_text": "", "digests": { "md5": "369c63d08b7b4fcb458b8b85453431e6", "sha256": "06d97d1697497511c1aabe1bcf5d05820431bf3ca3e5ff1b70c92137e7fadf3e" }, "downloads": -1, "filename": "eis_pointing-2018.12.4-py3-none-any.whl", "has_sig": false, "md5_digest": "369c63d08b7b4fcb458b8b85453431e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 49959, "upload_time": "2018-12-04T15:06:39", "url": "https://files.pythonhosted.org/packages/17/59/db517e772df8d34ad2e5e9f9798ae15988db1e082b5476239a8798b290e4/eis_pointing-2018.12.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57c5e0bf22793bf60ce2496935dc2bd0", "sha256": "e9d3aa447be45a342a548ed6f634cae492295f985a2879f2c3ad174aa6d4c2ba" }, "downloads": -1, "filename": "eis_pointing-2018.12.4.tar.gz", "has_sig": false, "md5_digest": "57c5e0bf22793bf60ce2496935dc2bd0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 42922, "upload_time": "2018-12-04T15:06:40", "url": "https://files.pythonhosted.org/packages/68/80/98e834192f806b424792ffe8cfa696c10db49ce9fb0ad8a8ab69e283f6a1/eis_pointing-2018.12.4.tar.gz" } ], "2019.2.6": [ { "comment_text": "", "digests": { "md5": "198fa680d3b0ce5e948dc8838d615982", "sha256": "0566a457d31fc0c860c758e9e6cb298eaf3836640596068b39899f2ea3d71633" }, "downloads": -1, "filename": "eis_pointing-2019.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "198fa680d3b0ce5e948dc8838d615982", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 51718, "upload_time": "2019-02-06T18:39:45", "url": "https://files.pythonhosted.org/packages/3d/17/9ab66798a17e978afc7563eaad6906ad5541a2e747bdb88fd61faa7b7903/eis_pointing-2019.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c98722a39ca7e7ab4b1acf4debfeec11", "sha256": "a0709d1d7e653675e95452c2cedbe8d67458accf25f187ba8c17a0fbb36e2b5e" }, "downloads": -1, "filename": "eis_pointing-2019.2.6.tar.gz", "has_sig": false, "md5_digest": "c98722a39ca7e7ab4b1acf4debfeec11", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 44605, "upload_time": "2019-02-06T18:39:47", "url": "https://files.pythonhosted.org/packages/d1/c9/8da365417864fa0a29eae7707b62cae8a102175076a5a4383530867ef5e7/eis_pointing-2019.2.6.tar.gz" } ], "2019.2.9": [ { "comment_text": "", "digests": { "md5": "dc7221b6ae2f4577feff0f981d41e5d8", "sha256": "e93eea30a8e20fef4dd14d9f3270a152e557803a70eda2af1d7538a450aebdfe" }, "downloads": -1, "filename": "eis_pointing-2019.2.9-py3-none-any.whl", "has_sig": false, "md5_digest": "dc7221b6ae2f4577feff0f981d41e5d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 52047, "upload_time": "2019-02-09T16:40:09", "url": "https://files.pythonhosted.org/packages/c4/7f/6f5e13f89dbe00a6bb9d0b5d4bdd1cb2ec88436f998f7fd4da116c5b84f2/eis_pointing-2019.2.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86ddd12861c965bcf5ab383c1fbe3579", "sha256": "5f1b0d07a0f9284810bb3db450b936276000397c34511520ae0b5f5579d05889" }, "downloads": -1, "filename": "eis_pointing-2019.2.9.tar.gz", "has_sig": false, "md5_digest": "86ddd12861c965bcf5ab383c1fbe3579", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45098, "upload_time": "2019-02-09T16:40:12", "url": "https://files.pythonhosted.org/packages/1c/c3/83ebbbf57c6a228473dd853914a4f5c10b790c588ffe216dcad3b07e4541/eis_pointing-2019.2.9.tar.gz" } ], "2019.3.11": [ { "comment_text": "", "digests": { "md5": "903ff6b60b552d755b581cd9efb5b776", "sha256": "be941ca1a08e1d144508dbfa21712d0ff271d25fd855aeed40e38816eb30e6e4" }, "downloads": -1, "filename": "eis_pointing-2019.3.11-py3-none-any.whl", "has_sig": false, "md5_digest": "903ff6b60b552d755b581cd9efb5b776", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 52116, "upload_time": "2019-03-12T12:44:18", "url": "https://files.pythonhosted.org/packages/d4/92/55af6924396cb9842a4b925053a65b256123f481c1a2abb0158a234b9421/eis_pointing-2019.3.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef238ad86c17cd29cf219efe5227dc76", "sha256": "2a906cd30e9fd0ffae9cd704ebfdfef75961c6bdb3619ad5bac8c2b176d690ef" }, "downloads": -1, "filename": "eis_pointing-2019.3.11.tar.gz", "has_sig": false, "md5_digest": "ef238ad86c17cd29cf219efe5227dc76", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45225, "upload_time": "2019-03-12T12:44:20", "url": "https://files.pythonhosted.org/packages/3e/b6/6765dc48693e4cd1a0ea0d5178efc96bf8d39327bf30dc76db7c9e0fa781/eis_pointing-2019.3.11.tar.gz" } ], "2019.4.1": [ { "comment_text": "", "digests": { "md5": "5e670817090f27a4fb49ba9fae393c8a", "sha256": "a022d53e536ee71ea8b71bd01af02db9f2a3339ece6ddb573fac5fc4d5677fad" }, "downloads": -1, "filename": "eis_pointing-2019.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5e670817090f27a4fb49ba9fae393c8a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 52221, "upload_time": "2019-04-01T12:50:59", "url": "https://files.pythonhosted.org/packages/a3/a3/e5b5ce4143f1b10f5816f5be7e51b6cbd20343f619dfefc6a602ebf0b8fd/eis_pointing-2019.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c3b974eb6cb5df3cec596769fcf2322", "sha256": "625e59737d13288608fb0a9e4dbd6c1cd02e214f060a7dacc59b10529e52e7a8" }, "downloads": -1, "filename": "eis_pointing-2019.4.1.tar.gz", "has_sig": false, "md5_digest": "0c3b974eb6cb5df3cec596769fcf2322", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45477, "upload_time": "2019-04-01T12:51:01", "url": "https://files.pythonhosted.org/packages/4c/9b/379ffe3fefc99366539c3ee3460cae122d310cb0fa961d6279bb8fb3d93c/eis_pointing-2019.4.1.tar.gz" } ], "2019.7.1": [ { "comment_text": "", "digests": { "md5": "e44ca4af9edbc0eb9b08b245726f6c63", "sha256": "b872d316b46c7315d87ce9608550366fe9541a8c92cc0c1f2427ecf7f1f40769" }, "downloads": -1, "filename": "eis_pointing-2019.7.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e44ca4af9edbc0eb9b08b245726f6c63", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 52250, "upload_time": "2019-07-01T10:16:57", "url": "https://files.pythonhosted.org/packages/5b/e4/c4e6ae492d97ce3633186a9fdd7447ebbfdb0b4d96623c94c4e74ae0c0ff/eis_pointing-2019.7.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29192220201f331f4c7d0cc3e3c28fae", "sha256": "b1167edff5d94f8330651bfbd3c5dcbd403f3b4d1cee239172f88cef8d1c4341" }, "downloads": -1, "filename": "eis_pointing-2019.7.1.tar.gz", "has_sig": false, "md5_digest": "29192220201f331f4c7d0cc3e3c28fae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45543, "upload_time": "2019-07-01T10:16:59", "url": "https://files.pythonhosted.org/packages/1e/78/8b4bae2f93ed8bb9ab34991d359329c030f6e2c9634c896346b253d5c1dd/eis_pointing-2019.7.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e44ca4af9edbc0eb9b08b245726f6c63", "sha256": "b872d316b46c7315d87ce9608550366fe9541a8c92cc0c1f2427ecf7f1f40769" }, "downloads": -1, "filename": "eis_pointing-2019.7.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e44ca4af9edbc0eb9b08b245726f6c63", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 52250, "upload_time": "2019-07-01T10:16:57", "url": "https://files.pythonhosted.org/packages/5b/e4/c4e6ae492d97ce3633186a9fdd7447ebbfdb0b4d96623c94c4e74ae0c0ff/eis_pointing-2019.7.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29192220201f331f4c7d0cc3e3c28fae", "sha256": "b1167edff5d94f8330651bfbd3c5dcbd403f3b4d1cee239172f88cef8d1c4341" }, "downloads": -1, "filename": "eis_pointing-2019.7.1.tar.gz", "has_sig": false, "md5_digest": "29192220201f331f4c7d0cc3e3c28fae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45543, "upload_time": "2019-07-01T10:16:59", "url": "https://files.pythonhosted.org/packages/1e/78/8b4bae2f93ed8bb9ab34991d359329c030f6e2c9634c896346b253d5c1dd/eis_pointing-2019.7.1.tar.gz" } ] }