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 usefrom="..."andto="..."instead ofdate=(...) - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| skykit-0.1.3.tar.gz | 4.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|