d2spy


Named2spy JSON
Version 0.4.0 PyPI version JSON
download
home_pageNone
SummaryPython package for interacting with a Data to Science instance.
upload_time2025-10-22 01:35:23
maintainerNone
docs_urlNone
authorJinha Jung
requires_python<4.0,>=3.9
licenseMIT
keywords python data to science uas
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Welcome to Data to Science Python (d2spy)

[![image](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/gdslab/d2spy/blob/master)
[![Jupyter Notebook](https://img.shields.io/badge/Open%20in%20JuypterHub%20-%20%233776AB?logo=jupyter&logoColor=%23F37626&labelColor=%23F5F5F5)](https://lab.d2s.org)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

<p align="center">
  <img
    src="https://py.d2s.org/assets/d2s-logo.png"
    alt="Data to Science logo"
    width="128"
  >
</p>

D2spy is a Python package for interacting with Data to Science instances.

## Installation

Install the core package with minimal dependencies:

```bash
pip install d2spy
```

Or install with geospatial features for raster clipping and EXIF extraction:

```bash
pip install d2spy[geo]
```

### What's the difference?

**Core installation (`d2spy`):**
- Requires only `requests` library
- Full API access: authentication, projects, flights, data uploads
- Server-side analysis: NDVI, ExG, zonal statistics (job submission)
- Perfect for: lightweight integrations, CI/CD pipelines, QGIS plugins (which already include geo libraries)

**Geo installation (`d2spy[geo]`):**
- Adds `rasterio`, `geopandas`, and `exifread` libraries
- Client-side geospatial processing: raster clipping, EXIF data extraction, bounding box generation
- Required for: `DataProduct.clip()`, `get_exif_data()`, `get_bounding_box_from_exif_data()`

### Bundling with QGIS Plugins

If you're bundling d2spy in a QGIS plugin, extract the wheel and copy the `d2spy` folder into your plugin directory. Since QGIS already includes most geospatial libraries, geo features will work automatically without needing to install `d2spy[geo]`.

## Features

### Core Features (available with base installation)
- Sign in to your Data to Science instance
- Access your projects, flights, and data products
- Create new projects and flights
- Upload data products to flights (rasters, point clouds, raw data)
- Server-side analysis: NDVI, ExG, zonal statistics

### Geospatial Features (requires `d2spy[geo]`)
- Client-side raster clipping by polygon
- Extract EXIF data from images
- Generate bounding boxes from image collections

## Documentation

- [Homepage](https://py.d2s.org/)
- [Guides](https://py.d2s.org/guides)
- [API Reference](https://py.d2s.org/api_client/)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "d2spy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "python, data to science, uas",
    "author": "Jinha Jung",
    "author_email": "jinha@purdue.edu",
    "download_url": "https://files.pythonhosted.org/packages/1f/67/a038cc8aa5d421835160f410d473457f95c39b05270356d5eae5cdac82a8/d2spy-0.4.0.tar.gz",
    "platform": null,
    "description": "# Welcome to Data to Science Python (d2spy)\n\n[![image](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/gdslab/d2spy/blob/master)\n[![Jupyter Notebook](https://img.shields.io/badge/Open%20in%20JuypterHub%20-%20%233776AB?logo=jupyter&logoColor=%23F37626&labelColor=%23F5F5F5)](https://lab.d2s.org)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n<p align=\"center\">\n  <img\n    src=\"https://py.d2s.org/assets/d2s-logo.png\"\n    alt=\"Data to Science logo\"\n    width=\"128\"\n  >\n</p>\n\nD2spy is a Python package for interacting with Data to Science instances.\n\n## Installation\n\nInstall the core package with minimal dependencies:\n\n```bash\npip install d2spy\n```\n\nOr install with geospatial features for raster clipping and EXIF extraction:\n\n```bash\npip install d2spy[geo]\n```\n\n### What's the difference?\n\n**Core installation (`d2spy`):**\n- Requires only `requests` library\n- Full API access: authentication, projects, flights, data uploads\n- Server-side analysis: NDVI, ExG, zonal statistics (job submission)\n- Perfect for: lightweight integrations, CI/CD pipelines, QGIS plugins (which already include geo libraries)\n\n**Geo installation (`d2spy[geo]`):**\n- Adds `rasterio`, `geopandas`, and `exifread` libraries\n- Client-side geospatial processing: raster clipping, EXIF data extraction, bounding box generation\n- Required for: `DataProduct.clip()`, `get_exif_data()`, `get_bounding_box_from_exif_data()`\n\n### Bundling with QGIS Plugins\n\nIf you're bundling d2spy in a QGIS plugin, extract the wheel and copy the `d2spy` folder into your plugin directory. Since QGIS already includes most geospatial libraries, geo features will work automatically without needing to install `d2spy[geo]`.\n\n## Features\n\n### Core Features (available with base installation)\n- Sign in to your Data to Science instance\n- Access your projects, flights, and data products\n- Create new projects and flights\n- Upload data products to flights (rasters, point clouds, raw data)\n- Server-side analysis: NDVI, ExG, zonal statistics\n\n### Geospatial Features (requires `d2spy[geo]`)\n- Client-side raster clipping by polygon\n- Extract EXIF data from images\n- Generate bounding boxes from image collections\n\n## Documentation\n\n- [Homepage](https://py.d2s.org/)\n- [Guides](https://py.d2s.org/guides)\n- [API Reference](https://py.d2s.org/api_client/)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python package for interacting with a Data to Science instance.",
    "version": "0.4.0",
    "project_urls": null,
    "split_keywords": [
        "python",
        " data to science",
        " uas"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0f8125c31171633bf0103e77763efe2f2d560a2e8461148d6a55bd01b44c2ed",
                "md5": "9704c752f15671d026f2603f73c66d3c",
                "sha256": "ca2feb3b458386092087b7e517cd83d5aa895645f751ce5748fc3ebb63e0d02a"
            },
            "downloads": -1,
            "filename": "d2spy-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9704c752f15671d026f2603f73c66d3c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 40529,
            "upload_time": "2025-10-22T01:35:22",
            "upload_time_iso_8601": "2025-10-22T01:35:22.811058Z",
            "url": "https://files.pythonhosted.org/packages/e0/f8/125c31171633bf0103e77763efe2f2d560a2e8461148d6a55bd01b44c2ed/d2spy-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1f67a038cc8aa5d421835160f410d473457f95c39b05270356d5eae5cdac82a8",
                "md5": "cbf4aae96e8709fb562317a3ec60d123",
                "sha256": "8ec5297cc67f75deb29c4bce1d5d527e52aeb8dc5fefda98702ed5bc2434e6ed"
            },
            "downloads": -1,
            "filename": "d2spy-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "cbf4aae96e8709fb562317a3ec60d123",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 28206,
            "upload_time": "2025-10-22T01:35:23",
            "upload_time_iso_8601": "2025-10-22T01:35:23.678746Z",
            "url": "https://files.pythonhosted.org/packages/1f/67/a038cc8aa5d421835160f410d473457f95c39b05270356d5eae5cdac82a8/d2spy-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-22 01:35:23",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "d2spy"
}
        
Elapsed time: 1.33868s