Skip to main content

Sky Kit

Easy to use out-of-the-box satellite imagery package for Python aficionado.

Adding fun to satellites coolness 😎

Warning: This is still a work in progress. Please do not use in production, yet.

Seriously, what is it? 🧐

Sky kit is an ensemble of methods to ease satellite imagery processing, from and to developers and data scientists. Working with any satellite imagery provider, should be as easy as:

from skykit.providers import <ProviderName>

Install 🚀

As with any python package, pip is your friend:

pip install skykit

Usage 🎡

Quick Start

The following shows details of a tile from Sentinel-2, that includes Paris (France), from 01/03/2019 to 08/03/2019:

from datetime import date
from skykit.providers import Sentinel2

sat = Sentinel2(username="xxx", password="yyy")

tiles = sat.query(
    coordinates=(2.349014, 48.864716),     # Paris (FR) coordinates
    dates=(date(2019,3,1), date(2019,3,8)) # From march 1, 2019 to march 8, 2019
    )

len(tiles) # returns 6

tile = tiles[0]         # Pick any tile you want, or filter more
print(tile['summary'])  # returns 'Date: 2019-03-02T10:50:29.024Z, Instrument: MSI, Mode: , Satellite: Sentinel-2, Size: 730.27 MB'

In the previous example, the tiles variable will include meta information of every tile returned from Sentinel-2 query.

Features

Connecting to satellite images providers

Actually, Sky kit support the following ticked providers (others coming):

  • Sentinel 1
  • Sentinel 2
  • Landsat 7
  • Landsat 8
  • Modis
  • Cbers-4
  • Aqua

All image providers are grouped into skykit.providers module. Invoking a provider (like Sentinel-2) can be done like this:

from skykit.providers import Sentinel2

We then need to initialize the connection with the provider. eg with Sentinel-2:

sat = Sentinel2(username="xxx", password="yyy")

Nota: Sentinel 1 & 2 require having credentials to connect to Copernicus Open Access Hub. Once created, insert your credentials in the code above.

Todo 🔭

  • Write a better documentation. Look for readthedocs.io
  • Add providers
  • Create a reusable abstraction of Tile, to create a uniform use of tiles, no matter which provider
  • Ease working with tiles meta data (usually about the scene and satellite)
  • Allow querying using a polygon
  • Allow querying using an address
  • Use friendly dates (like text: "26/03/2019"), of use from="..." and to="..." instead of date=(...)
  • Allow working on specific bands. Something like:
image = tile.get('b04') # or tile.b04() ???
  • More tests <-- ⚠ URGENT
  • Create a CI/CD pipeline to publish tags into PyPi

This list is not exhaustive.

Contribution 💪

Please suggest contributions using Github's Pull Requests.

License 🤮

Read the LICENSE.txt file.

Thanks 🙏

Metadata

Release files for skykit 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for skykit 0.1.3
File Size Uploaded
skykit-0.1.3.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skykit 0.1.3
File Interpreter ABI Platform
skykit-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 9.9 kB

Release files / skykit-0.1.3.tar.gz

Download URL skykit-0.1.3.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8195dd8ad90f27926e7fc262949dce4e6db5893066f5ff589ddf6220a5a34312
BLAKE2b-256 checksum
How to use checksums
bf11b29cdf6819e489eba32e52bf66464ffc6c301d266376c29a43d2c55f38b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

Release files / skykit-0.1.3-py3-none-any.whl

Download URL skykit-0.1.3-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
387a4fe8f7967045b5659f54dc406a2672ba1dbb02d97a514ef212e557e49336
BLAKE2b-256 checksum
How to use checksums
71b5275e3f2c58247a407d8107b8787e537664b24f7a799550b9ad9c120a8ea6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

3 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page