{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# S2P - Satellite Stereo Pipeline\n\n[![Build Status](https://travis-ci.com/cmla/s2p.svg?branch=dev)](https://travis-ci.com/cmla/s2p)\n\nS2P is a Python library and command line tool that implements a stereo\npipeline which produces elevation models from images taken by high resolution\noptical satellites such as Pl\u00e9iades, WorldView, QuickBird, Spot or Ikonos. It\ngenerates 3D point clouds and digital surface models from stereo pairs (two\nimages) or tri-stereo sets (three images) in a completely automatic fashion.\n\nS2P was used to win the 2016 [IARPA Multi-View Stereo 3D Mapping Challenge](https://www.iarpa.gov/challenges/3dchallenge.html).\n\nA wide variety of stereo correlation algorithms are supported, including several\nflavors of semi-global matching (SGM), TV-L1 optical flow, etc.\n\nThe main language is Python, although several operations are handled by\nbinaries written in C.\n\nThe pipeline is implemented in the Python package `s2p`. It can be used\nto produce surface models and 3D point clouds from arbitrarily large regions\nof interest or from complete images. If needed, it cuts the region of interest\nin several small tiles and process them in parallel.\n\nIts main source code repository is https://github.com/cmla/s2p.\n\n\n# Dependencies\n\n## GDAL\nThe main dependency is GDAL. Version 2.1.0 or newer is required.\n\n### On Ubuntu\n`gdal` can be installed with `apt-get`. In order to get a recent version we\nrecommend adding the PPA `ubuntugis-unstable` (first command below):\n\n sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable\n sudo apt-get update\n sudo apt-get install libgdal-dev gdal-bin\n\n### On macOS\n[Download](http://www.kyngchaos.com/files/software/frameworks/GDAL_Complete-2.4.dmg)\nand install the `.dmg` file. Update your `PATH` after the installation by\nrunning this command:\n\n export PATH=\"$PATH:/Library/Frameworks/GDAL.framework/Programs\"\n\nCopy it in your `~/.profile`.\n\n## Other dependencies (geographiclib, fftw)\n\nOn Ubuntu:\n\n apt-get install build-essential geographiclib-tools libgeographic-dev libfftw3-dev libgeotiff-dev libtiff5-dev\n\nOn macOS:\n\n brew install geographiclib fftw\n\n\n# Installation\n\n pip install s2p\n\nAlternatively, if you want to get the latest commit or want to edit the\nsources, install it in editable mode from a git clone:\n\n git clone https://github.com/cmla/s2p.git --recursive\n cd s2p\n pip install -e .\n\nThe `--recursive` option for `git clone` allows to clone all git submodules, such\nas the [iio](https://github.com/mnhrdt/iio) library.\n\nIf the `--recursive` option wasn't used when cloning, the submodules can now be\nretrieved with\n\n git submodule update --init\n\nAll `s2p` python submodules are located in the `s2p` package. Some python\nfunctions of these modules rely on external binaries. Most of these binaries\nwere written on purpose for the needs of the pipeline, and their source code is\nprovided here in the `c` folder. For the other binaries, the source code is\nprovided in the `3rdparty` folder.\n\nAll the sources (ours and 3rdparties) are compiled from the same makefile. Just\nrun `make all` from the `s2p` folder to compile them. This will create a `bin`\ndirectory containing all the needed binaries. This makefile is used when\nrunning `pip install .`\n\nYou can test if S2P is correctly working using:\n\n make test\n\n## Docker image\n[![Docker Status](http://dockeri.co/image/cmla/s2p)](https://hub.docker.com/r/cmla/s2p/)\n\nA precompiled docker image is available and ready to use:\n\n docker pull cmla/s2p\n\n\n# Usage\n\n`s2p` is a Python library that can be imported into other applications. It also\ncomes with a Command Line Interface (CLI).\n\n## From the command line\n\nThe `s2p` CLI has an extensive help that can be printed with the `-h` and `--help` switches.\n\n $ s2p -h\n usage: s2p.py [-h] config.json\n\n S2P: Satellite Stereo Pipeline\n\n positional arguments:\n config.json path to a json file containing the paths to input and\n output files and the algorithm parameters\n\n optional arguments:\n -h, --help show this help message and exit\n\nTo run the whole pipeline, call `s2p` with a json configuration file as unique argument:\n\n s2p tests/data/input_pair/config.json\n\nAll the parameters of the algorithm, paths to input and output data are stored\nin the json file. See the provided `test.json` file for an example, and the\ncomments in the file `s2p/config.py` for some explanations about the roles\nof these parameters.\n\nNotice that each input image must have RPC coefficients, either in its GeoTIFF\ntags or in a companion `.xml` or `.txt` file.\n\n#### ROI definition\n\nThe processed Region of interest (ROI) is defined by the image coordinates (x,\ny) of its top-left corner, and its dimensions (w, h) in pixels. These four\nnumbers must be given in the `json` configuration file, as in the `test.json`\nexample file. They are ignored if the parameter `'full_img'` is set to `true`.\nIn that case the full image will be processed.\n\n#### File paths in json configuration files\n\nIn the json configuration files, input and output paths are relative to the json\nfile location, not to the current working directory.\n\n\n### MicMac (optional)\n\nIf you want to use MicMac for the stereo matching step, you must install it\nfirst and create a symlink to the micmac directory (the one containing a 'bin'\nfolder with a bunch of executables in it, among with 'MICMAC' and 'mm3d') in\nthe 'bin' folder:\n\n ln -s PATH_TO_YOUR_MICMAC_DIR bin/micmac\n\n\n## References\n\nIf you use this software please cite the following papers:\n\n[*An automatic and modular stereo pipeline for pushbroom\nimages*](http://dx.doi.org/10.5194/isprsannals-II-3-49-2014), Carlo de\nFranchis, Enric Meinhardt-Llopis, Julien Michel, Jean-Michel Morel, Gabriele\nFacciolo. ISPRS Annals 2014.\n\n[*On Stereo-Rectification of Pushbroom\nImages*](http://dx.doi.org/10.1109/ICIP.2014.7026102), Carlo de Franchis, Enric\nMeinhardt-Llopis, Julien Michel, Jean-Michel Morel, Gabriele Facciolo. ICIP\n2014.\n\n[*Automatic sensor orientation refinement of Pl\u00e9iades stereo\nimages*](http://dx.doi.org/10.1109/IGARSS.2014.6946762), Carlo de Franchis,\nEnric Meinhardt-Llopis, Julien Michel, Jean-Michel Morel, Gabriele Facciolo.\nIGARSS 2014.\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/cmla/s2p", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "s2p", "package_url": "https://pypi.org/project/s2p/", "platform": "", "project_url": "https://pypi.org/project/s2p/", "project_urls": { "Homepage": "https://github.com/cmla/s2p" }, "release_url": "https://pypi.org/project/s2p/1.0b18/", "requires_dist": [ "numpy", "scipy", "rasterio[s3,test] (>=1.0.14)", "utm", "pyproj (>=2.0.2)", "beautifulsoup4[lxml]", "plyfile", "ransac", "rpcm (>=1.3)", "requests" ], "requires_python": "", "summary": "Satellite Stereo Pipeline.", "version": "1.0b18" }, "last_serial": 5603044, "releases": { "1.0b10": [ { "comment_text": "", "digests": { "md5": "0528a4cba46a6c1d7345a818a6f5f2a6", "sha256": "32ba1a231b6ca142d09d162f3e6750fdcca62661f01f4558bdb0aa0bee89d26d" }, "downloads": -1, "filename": "s2p-1.0b10-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "0528a4cba46a6c1d7345a818a6f5f2a6", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2269038, "upload_time": "2019-05-20T08:46:15", "url": "https://files.pythonhosted.org/packages/42/7f/d643252275d5ce95402e6b2f0114e369a7a9db2e08097b5659c86b16c339/s2p-1.0b10-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "2e5824dab565bb0e492023bd9c44d038", "sha256": "db9167c5553cefe3ead0ea75b4d23b9d697a7c63fc562f2be498b5a1b820e29b" }, "downloads": -1, "filename": "s2p-1.0b10.tar.gz", "has_sig": false, "md5_digest": "2e5824dab565bb0e492023bd9c44d038", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2439011, "upload_time": "2019-05-16T12:29:35", "url": "https://files.pythonhosted.org/packages/be/2c/5808b0ac6a2d102f14d934c83c61e6f115f4d8240d4a958d0384b86028c0/s2p-1.0b10.tar.gz" } ], "1.0b11": [ { "comment_text": "", "digests": { "md5": "25289e6811f435c57c117f75c706e30a", "sha256": "a42dd54544f404874f429f25db9bbfa642de8fa5e38ced054a447db9a720a8bc" }, "downloads": -1, "filename": "s2p-1.0b11-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "25289e6811f435c57c117f75c706e30a", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2271501, "upload_time": "2019-05-20T08:46:17", "url": "https://files.pythonhosted.org/packages/66/a1/36d5236dc5753e2f960a7087356c40fa07e3c07774abfa9250f4808463e0/s2p-1.0b11-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "e6400f0e888323bbf2a7633be6fe62c2", "sha256": "411730f51c20b113a0825822157cbe7aa5177a81cd170683ab07b7fea2e005f5" }, "downloads": -1, "filename": "s2p-1.0b11.tar.gz", "has_sig": false, "md5_digest": "e6400f0e888323bbf2a7633be6fe62c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2416822, "upload_time": "2019-05-20T08:46:20", "url": "https://files.pythonhosted.org/packages/65/05/8004babbf2416a4832025021dd15bc9d1f34ab8bc0b024c483606ca49391/s2p-1.0b11.tar.gz" } ], "1.0b12": [ { "comment_text": "", "digests": { "md5": "22cd20fc781e34c581f62e4fcc86ac24", "sha256": "3ff92b597e010acf42a469bc85c4a6f53b6e50e60f378e79112f756521ab355e" }, "downloads": -1, "filename": "s2p-1.0b12-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "22cd20fc781e34c581f62e4fcc86ac24", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2268025, "upload_time": "2019-05-20T09:05:12", "url": "https://files.pythonhosted.org/packages/a1/2c/32517de33870de47f54bf45b3b53a49f770990b1b28db953661ce43af21f/s2p-1.0b12-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "baf61f9be1d87d3c2d482319120c62a7", "sha256": "88d3030d346bf5842db3b8e89c77a3f105bfbe6cd9e4e631bb3d763d78a5e8d8" }, "downloads": -1, "filename": "s2p-1.0b12.tar.gz", "has_sig": false, "md5_digest": "baf61f9be1d87d3c2d482319120c62a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2416823, "upload_time": "2019-05-20T09:05:14", "url": "https://files.pythonhosted.org/packages/1e/b2/bed077ce7cef3f75ddf3e6ae9d2a57274ef15696259ddcdf235ba233fc17/s2p-1.0b12.tar.gz" } ], "1.0b13": [ { "comment_text": "", "digests": { "md5": "49366532bdc0eab8c614f967e54b547b", "sha256": "0712ac8c215a8617ec52e13966301adb31a903d0365faa099da4753f778222e3" }, "downloads": -1, "filename": "s2p-1.0b13-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "49366532bdc0eab8c614f967e54b547b", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2268024, "upload_time": "2019-05-20T12:53:38", "url": "https://files.pythonhosted.org/packages/51/be/c52c0211e012c308b2b2c573a5f70dcd27d052ff5cb0c7ba6b4ae53bd76f/s2p-1.0b13-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "4540b76389ad5537c0ea2db7892fed46", "sha256": "c3df1589438c101869531ff6a825f3850ce8bec4dfc62bb6621eae6805381fc2" }, "downloads": -1, "filename": "s2p-1.0b13.tar.gz", "has_sig": false, "md5_digest": "4540b76389ad5537c0ea2db7892fed46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2416828, "upload_time": "2019-05-20T12:53:40", "url": "https://files.pythonhosted.org/packages/b9/32/889d7f9a51fdaf88834f319ee67cb3dfa790e0857a17f641c627d9aa382d/s2p-1.0b13.tar.gz" } ], "1.0b14": [ { "comment_text": "", "digests": { "md5": "07437087111b37ddda720dde0613d36e", "sha256": "8635a00c3666a6a53d11169102a18558d58e9748be05e15916a056f02c01944d" }, "downloads": -1, "filename": "s2p-1.0b14-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "07437087111b37ddda720dde0613d36e", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2268167, "upload_time": "2019-05-21T14:04:02", "url": "https://files.pythonhosted.org/packages/be/d8/154342eda97c8e1c66b9d499c95ca75cffcd4056a420b8916c3f8eb16176/s2p-1.0b14-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "f14dca4ae0303cea577ea333e18c123e", "sha256": "6b70f27a3e3bc9804c3364366901fe8287f7b1aace551c4e934abddaa01b664b" }, "downloads": -1, "filename": "s2p-1.0b14.tar.gz", "has_sig": false, "md5_digest": "f14dca4ae0303cea577ea333e18c123e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2416988, "upload_time": "2019-05-21T14:04:04", "url": "https://files.pythonhosted.org/packages/28/4b/7c7fe6401c32a7672a6dbab78feb3a0c844ca8ce74a21dcb3789a57d89d1/s2p-1.0b14.tar.gz" } ], "1.0b16": [ { "comment_text": "", "digests": { "md5": "d2a1bc9dbb02fabeaa657345ec420a0d", "sha256": "10aa8dbe49976bc9ece9f9ba113cc2fe39c751ae31db00fca376c4d63aa36c92" }, "downloads": -1, "filename": "s2p-1.0b16-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "d2a1bc9dbb02fabeaa657345ec420a0d", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2600275, "upload_time": "2019-06-15T15:38:20", "url": "https://files.pythonhosted.org/packages/bb/39/80f4aa16b8b43b0404aa6dfe3948a5abe3592526908b10ce703b711e20fa/s2p-1.0b16-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a7232e910ebbda22fee5d9ca0a5bd9dc", "sha256": "b7f6aa01dfebcb7ea94e0a085d73d91764eb3dc53283a07ad903dd895d6bf9af" }, "downloads": -1, "filename": "s2p-1.0b16.tar.gz", "has_sig": false, "md5_digest": "a7232e910ebbda22fee5d9ca0a5bd9dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2504429, "upload_time": "2019-06-15T15:38:33", "url": "https://files.pythonhosted.org/packages/42/57/4e1d96af37c7e61fdbc80f4649645efdf9c13893270aa8fefcd6ee7f8bf0/s2p-1.0b16.tar.gz" } ], "1.0b17": [ { "comment_text": "", "digests": { "md5": "451250b5838da0437e6debe6836dba6c", "sha256": "788da904cb2803f2d66ae34e717dd3ce50566db97a8a59cdca936fb2f6852804" }, "downloads": -1, "filename": "s2p-1.0b17-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "451250b5838da0437e6debe6836dba6c", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2357931, "upload_time": "2019-07-22T00:40:42", "url": "https://files.pythonhosted.org/packages/6f/c2/e7e2216263e8ecfa09f2eefaf44a0043c1168443c8c2c9da4f4c2c992353/s2p-1.0b17-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "99e14ab0d1a1780c3b72f9364cc282fd", "sha256": "fa84716c6db1baa0cfe1032af74705b7528d2ea52a82c16c394387fe7d72c448" }, "downloads": -1, "filename": "s2p-1.0b17.tar.gz", "has_sig": false, "md5_digest": "99e14ab0d1a1780c3b72f9364cc282fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3654130, "upload_time": "2019-07-22T00:40:53", "url": "https://files.pythonhosted.org/packages/0e/ec/e10312742407b36c2a4d647175a89c6b610a3e4e45c3f8e0c14c388cf10a/s2p-1.0b17.tar.gz" } ], "1.0b18": [ { "comment_text": "", "digests": { "md5": "3f372a11860c87f5d9ce1c1f5fd1292a", "sha256": "a3370bce43018ce3a1dab5a356cf7635f34f89b10a5653305e41c334a68a2eeb" }, "downloads": -1, "filename": "s2p-1.0b18-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "3f372a11860c87f5d9ce1c1f5fd1292a", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2342145, "upload_time": "2019-07-30T02:50:42", "url": "https://files.pythonhosted.org/packages/1c/7e/55661f0f49d0f52733259cf6dd3b705a46fda7284710accda17d0ac5ff15/s2p-1.0b18-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "6fa751e033689c04b91aad2db54c0ded", "sha256": "965ccdb81f04a3113c5258282c41e28b210c6bba44159e1f9c9c675efa45d3e3" }, "downloads": -1, "filename": "s2p-1.0b18.tar.gz", "has_sig": false, "md5_digest": "6fa751e033689c04b91aad2db54c0ded", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3952510, "upload_time": "2019-07-30T02:50:48", "url": "https://files.pythonhosted.org/packages/38/4f/652243661940c97b77980417a90cc3cc59c193d22a54de9b6dac5546bbd0/s2p-1.0b18.tar.gz" } ], "1.0b2": [ { "comment_text": "", "digests": { "md5": "f88f32e784ab809c359abd6ec13d972d", "sha256": "1ee36ebb7348916955ca646b36d1546e625c35c02c3c0f0c2b5c6b7ef33c4bc7" }, "downloads": -1, "filename": "s2p-1.0b2.tar.gz", "has_sig": false, "md5_digest": "f88f32e784ab809c359abd6ec13d972d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2440347, "upload_time": "2019-03-15T09:40:57", "url": "https://files.pythonhosted.org/packages/67/a6/e7233128998b5069262e2028bd28a89b8f871a9b7b0300742632160d2216/s2p-1.0b2.tar.gz" } ], "1.0b4": [ { "comment_text": "", "digests": { "md5": "a0e30c27100ea6717072299e754976ac", "sha256": "215c2a18225eb1fefcc89e50aacacced17f7dc113ee435c274e098079a7e2cd2" }, "downloads": -1, "filename": "s2p-1.0b4.tar.gz", "has_sig": false, "md5_digest": "a0e30c27100ea6717072299e754976ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2440332, "upload_time": "2019-03-15T17:10:43", "url": "https://files.pythonhosted.org/packages/5b/0b/b51fdedc16e33990fab0ae45ef63f1c5650d47ccfd14edd535d11403440d/s2p-1.0b4.tar.gz" } ], "1.0b5": [ { "comment_text": "", "digests": { "md5": "d0161461eaa3684fa2718d659c886863", "sha256": "b42f26e567b73696e2e537a0f52dde27149958d99cfe454196619fd1c5b3a449" }, "downloads": -1, "filename": "s2p-1.0b5.tar.gz", "has_sig": false, "md5_digest": "d0161461eaa3684fa2718d659c886863", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2441358, "upload_time": "2019-03-15T17:50:09", "url": "https://files.pythonhosted.org/packages/b4/c9/020fda66ed70ae9adbe332326410241e88825839549d1144ab4b84bce7aa/s2p-1.0b5.tar.gz" } ], "1.0b6": [ { "comment_text": "", "digests": { "md5": "a18adb4536649d48c51c1b7bf6baed3b", "sha256": "cb3accea0fc489c5303c3a6d88fbbdc94286997f8be7363eff14abc73f2e166d" }, "downloads": -1, "filename": "s2p-1.0b6.tar.gz", "has_sig": false, "md5_digest": "a18adb4536649d48c51c1b7bf6baed3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2441373, "upload_time": "2019-03-18T10:12:24", "url": "https://files.pythonhosted.org/packages/79/4a/47bcf4aec87a77a090d051716701bba29ba721ba0f69a9e9076fd5f4030e/s2p-1.0b6.tar.gz" } ], "1.0b7": [ { "comment_text": "", "digests": { "md5": "027074ab442f22a128dd453db0c76731", "sha256": "42f94b24ca60a9534607d889d2a1185c7f1b779cec2641ffa5f6560e406566f1" }, "downloads": -1, "filename": "s2p-1.0b7.tar.gz", "has_sig": false, "md5_digest": "027074ab442f22a128dd453db0c76731", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2438845, "upload_time": "2019-04-18T12:01:42", "url": "https://files.pythonhosted.org/packages/51/18/4a307ecf75b2e31cce8c22f850f7ef137c51dab59fe59cbb7f86635267de/s2p-1.0b7.tar.gz" } ], "1.0b8": [ { "comment_text": "", "digests": { "md5": "5d2a37b0cc9a1cfadc1f296da08e49c7", "sha256": "e358e46152b27f511c0c3cd814ae1e36a9bb78451a1bdf0525745c04b457c850" }, "downloads": -1, "filename": "s2p-1.0b8.tar.gz", "has_sig": false, "md5_digest": "5d2a37b0cc9a1cfadc1f296da08e49c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2438957, "upload_time": "2019-04-19T11:08:41", "url": "https://files.pythonhosted.org/packages/d7/64/69174f9af27f994f42ec035a5d3f613c2d1dc07f10383f7afc91614878e1/s2p-1.0b8.tar.gz" } ], "1.0b9": [ { "comment_text": "", "digests": { "md5": "44ea4a784ecee5f298bb545887ad2e58", "sha256": "50d9f53cd594726a9c435b166fd29510338163f50f5f5eef81ca297f2dbbf364" }, "downloads": -1, "filename": "s2p-1.0b9.tar.gz", "has_sig": false, "md5_digest": "44ea4a784ecee5f298bb545887ad2e58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2438999, "upload_time": "2019-05-16T08:25:15", "url": "https://files.pythonhosted.org/packages/f8/94/ce13ed326b7ee9fae6e0b86f32e83a009ffa8d0202cc60cb5e749795ad62/s2p-1.0b9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f372a11860c87f5d9ce1c1f5fd1292a", "sha256": "a3370bce43018ce3a1dab5a356cf7635f34f89b10a5653305e41c334a68a2eeb" }, "downloads": -1, "filename": "s2p-1.0b18-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "3f372a11860c87f5d9ce1c1f5fd1292a", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 2342145, "upload_time": "2019-07-30T02:50:42", "url": "https://files.pythonhosted.org/packages/1c/7e/55661f0f49d0f52733259cf6dd3b705a46fda7284710accda17d0ac5ff15/s2p-1.0b18-cp36-cp36m-macosx_10_13_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "6fa751e033689c04b91aad2db54c0ded", "sha256": "965ccdb81f04a3113c5258282c41e28b210c6bba44159e1f9c9c675efa45d3e3" }, "downloads": -1, "filename": "s2p-1.0b18.tar.gz", "has_sig": false, "md5_digest": "6fa751e033689c04b91aad2db54c0ded", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3952510, "upload_time": "2019-07-30T02:50:48", "url": "https://files.pythonhosted.org/packages/38/4f/652243661940c97b77980417a90cc3cc59c193d22a54de9b6dac5546bbd0/s2p-1.0b18.tar.gz" } ] }