Skip to content

Commit

Permalink
Merge branch 'develop' into release/v0.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
TiagoOpenCosmos committed Feb 25, 2025
2 parents c123293 + 43dcc96 commit 7881c54
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 27 deletions.
52 changes: 35 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The **DataCosmos SDK** allows Open Cosmos' customers to interact with the **Data
The easiest way to install the SDK is via **pip**:

```sh
pip install datacosmos
pip install datacosmos=={version}
```

## Getting Started
Expand All @@ -22,7 +22,7 @@ The recommended way to initialize the SDK is by passing a `Config` object with a

```python
from datacosmos.datacosmos_client import DatacosmosClient
from datacosmos.config import Config
from config.config import Config

config = Config(
authentication={
Expand Down Expand Up @@ -114,7 +114,7 @@ stac_client.delete_collection(collection_id)
#### 1. **Search Items**

```python
from datacosmos.stac.models.search_parameters import SearchParameters
from datacosmos.stac.item.models.search_parameters import SearchParameters

parameters = SearchParameters(collections=["example-collection"], limit=1)
items = list(stac_client.search_items(parameters=parameters))
Expand All @@ -135,35 +135,53 @@ items = stac_client.fetch_collection_items(collection_id="example-collection")
#### 4. **Create a New STAC Item**

```python
from pystac import Item, Asset
from datetime import datetime
from pystac import Item, Asset
from pystac.utils import str_to_datetime

stac_item = Item(
id="new-item",
geometry={"type": "Point", "coordinates": [102.0, 0.5]},
bbox=[101.0, 0.0, 103.0, 1.0],
datetime=datetime.utcnow(),
properties={},
collection="example-collection"
id="MENUT_000001418_20240211120920_20240211120932_new_release.tiff",
geometry={
"type": "Polygon",
"coordinates": [
[
[-24.937406454761664, 64.5931773445667],
[-19.6596824245997, 64.5931773445667],
[-19.6596824245997, 63.117895100111724],
[-24.937406454761664, 63.117895100111724],
[-24.937406454761664, 64.5931773445667]
]
]
},
bbox=[
-24.937406454761664,
63.117895100111724,
-19.6596824245997,
64.5931773445667
],
datetime=str_to_datetime("2024-02-11T12:09:32Z"),
properties={"processing:level": "L0"},
collection="menut-l0",
)

stac_item.add_asset(
"image",
"thumbnail",
Asset(
href="https://example.com/sample-image.tiff",
media_type="image/tiff",
roles=["data"],
title="Sample Image"
href="https://test.app.open-cosmos.com/api/data/v0/storage/full/menut/l0/2024/02/11/MENUT_000001418_20240211120920_20240211120932.tiff/thumbnail.webp",
media_type="image/webp",
roles=["thumbnail"],
title="Thumbnail",
description="Thumbnail of the image"
)
)

stac_client.create_item(collection_id="example-collection", item=stac_item)
stac_client.create_item(collection_id="menutl-l0", item=stac_item)
```

#### 5. **Update an Existing STAC Item**

```python
from datacosmos.stac.models.item_update import ItemUpdate
from datacosmos.stac.item.models.item_update import ItemUpdate
from pystac import Asset, Link

update_payload = ItemUpdate(
Expand Down
5 changes: 0 additions & 5 deletions config/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,3 @@
This package includes modules for loading and managing authentication
configurations.
"""

# Expose Config class for easier imports
from .config import Config

__all__ = ["Config"]
1 change: 1 addition & 0 deletions config/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ class Config(BaseSettings):
model_config = SettingsConfigDict(
env_nested_delimiter="__",
nested_model_default_partial_update=True,
extra="allow",
)

authentication: Optional[M2MAuthenticationConfig] = None
Expand Down
1 change: 1 addition & 0 deletions config/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Models for configuration settings."""
2 changes: 1 addition & 1 deletion datacosmos/stac/collection/collection_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from datacosmos.datacosmos_client import DatacosmosClient
from datacosmos.stac.collection.models.collection_update import CollectionUpdate
from datacosmos.utils.http_response import check_api_response
from datacosmos.utils.http_response.check_api_response import check_api_response


class CollectionClient:
Expand Down
2 changes: 1 addition & 1 deletion datacosmos/stac/item/item_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from datacosmos.exceptions.datacosmos_exception import DatacosmosException
from datacosmos.stac.item.models.item_update import ItemUpdate
from datacosmos.stac.item.models.search_parameters import SearchParameters
from datacosmos.utils.http_response import check_api_response
from datacosmos.utils.http_response.check_api_response import check_api_response


class ItemClient:
Expand Down
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "datacosmos"
version = "0.0.1"
version = "0.0.2"
authors = [
{ name="Open Cosmos", email="support@open-cosmos.com" },
]
Expand Down Expand Up @@ -33,8 +33,8 @@ dev = [
"pydocstyle==6.1.1"
]

[tool.setuptools]
packages = ["datacosmos"]
[tool.setuptools.packages.find]
include = ["datacosmos*", "config*"]

[tool.bandit]
exclude_dirs = [".venv"]
Expand Down

0 comments on commit 7881c54

Please sign in to comment.