Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Create mosaics of Cloud Optimized GeoTIFF based on the mosaicJSON specification.
Documentation: https://developmentseed.org/cogeo-mosaic/
Source Code: https://github.com/developmentseed/cogeo-mosaic
Read the official announcement https://medium.com/devseed/cog-talk-part-2-mosaics-bbbf474e66df
python -m pip install pip -U
python -m pip install cogeo-mosaic --pre
# Or from source
python -m pip install git+http://github.com/developmentseed/cogeo-mosaic
Notes:
libgeos
a requirement.
Shapely wheels should be available for most environment, if not, you'll need to have libgeos installed.See CONTRIBUTING.md
See LICENSE
Created by Development Seed
See contributors for a listing of individual contributors.
remove deprecated methods
update morecantile requirement to >=5.0,<7.0
update rio-tiler requirement to >=7.0,<8.0
update Info
model
# before
class Info(BaseModel):
bounds: BBox = Field(default=(-180, -90, 180, 90))
center: Optional[Tuple[float, float, int]] = None
minzoom: int = Field(0, ge=0, le=30)
maxzoom: int = Field(30, ge=0, le=30)
name: Optional[str] = None
quadkeys: List[str] = []
tilematrixset: Optional[str] = None
# now
class Info(BaseModel):
bounds: BBox = Field(default=(-180, -90, 180, 90))
crs: str
center: Optional[Tuple[float, float, int]] = None
name: Optional[str] = None
quadkeys: List[str] = []
mosaic_tilematrixset: Optional[str] = None
mosaic_minzoom: int = Field(0, ge=0, le=30)
mosaic_maxzoom: int = Field(30, ge=0, le=30)
asset_prefix
in Mosaic Backendspy.typed
file (https://peps.python.org/pep-0561)morecantile
requirement to >=5.0,<6.0
rio-tiler
requirement to >=6.0,<7.0
pydantic
requirement to ~=2.0
coord_crs
to MosaicBackend.point()
methodtilematrixset
in MosaicBackend.info()
responseHttpBackend
post_init methodupdate morecantile>=4.1,<5.0
and rio-tiler>=5.0,<6.0
requirements
replace supermercado
with supermorecado
to burn geometries as tiles for different TMS
update MosaicJSON models to 0.0.3
specification (adds tilematrixset
, asset_type
, asset_prefix
, data_type
, colormap
and layers
attributes)
allow Mosaic creation using other TileMatrixSet (default is still WebMercatorQuad
)
add tms
support to MosaicBackend to read tile in other TMS than the mosaic TileMatrixSet
# Before
# Mosaic and output Tile in WebMercatorQuad
with MosaicBackend("mosaic.json") as mosaic:
img, _ = mosaic.tile(0, 0, 0)
# Now
# Mosaic in WebMercatorQuad (default), output tile in WGS84
WGS1984Quad = morecantile.tms.get("WGS1984Quad")
with MosaicBackend("mosaic.json", tms=WGS1984Quad) as mosaic:
img, _ = mosaic.tile(0, 0, 0)
az://
prefix for private Azure Blob Storage Backend.mercantile
and switch to morecantile>=3.14.0.0a2
>=3.0.0a6
) and update backend reader type information>=3.0.0a5
)MosaicBackend
to match Backend input names.requests
to httpx
BaseBackend.assets_for_bbox()
method (https://github.com/developmentseed/cogeo-mosaic/pull/184)breaking changes
BaseBackend.metadata()
method (can be replaced by BaseBackend.mosaic_def.dict(exclude={"tiles"})
)cogeo_mosaic.models.Metadata
modelBaseBackend.path
-> BaseBackend.input
attribute (input
was added in rio-tiler BaseReader)gs://...
) mosaic backend (author @AndreaGiardini, https://github.com/developmentseed/cogeo-mosaic/pull/179)breaking
gzip
is now only applied if the path endswith .gz
backend_options
attribute in base backends. This attribute was used to pass optional gzip
option and/or STAC related optionsstac_api_options
and mosaic_options
)SQLite
backend (https://github.com/developmentseed/cogeo-mosaic/pull/148)mosaic_def
in read-only backend (https://github.com/developmentseed/cogeo-mosaic/pull/162)MemoryBackend
(https://github.com/developmentseed/cogeo-mosaic/pull/163)breaking
.point()
methods to return a list in form of [(asset1, values)]
(https://github.com/developmentseed/cogeo-mosaic/pull/168)overview
command (https://github.com/developmentseed/cogeo-mosaic/issues/71#issuecomment-748265645)rio-cogeo
dependencies2.0.0rc4
)rio_tiler.mercator
functions..feature()
method)MosaicNotFoundError
when mosaic doesn't exists in the DynamoDB table.cogeo_mosaic/backends/http.py
-> cogeo_mosaic/backends/web.py
to avoid conflicts (author @kylebarron, https://github.com/developmentseed/cogeo-mosaic/pull/133)cogeo_mosaic.logger.logger
)stac_next_link_key
has be specified if you know the STAC API is using the latest specs:with MosaicBackend(
f"stac+{stac_endpoint}",
query.copy(),
11,
14,
backend_options={
"accessor": lambda feature: feature["id"],
"stac_next_link_key": "next",
}
) as mosaic:
to-geojson
CLI to create a GeoJSON from a mosaicJSON document (#128)refactored DynamoDB backend to store multiple mosaics in one table (https://github.com/developmentseed/cogeo-mosaic/pull/127)
dynamodb://{REGION}?/{TABLE}:{MOSAIC}
renamed exception MosaicExists
to MosaicExistsError
renamed option fetch_quadkeys
to quadkeys
in DynamoDBBackend.info() method
add quadkeys
option in Backends.info()
to return (or not) the list of quadkeys (https://github.com/developmentseed/cogeo-mosaic/pull/129)
moves get_assets
to the base Backend (https://github.com/developmentseed/cogeo-mosaic/pull/131)
remove multi_level mosaic support (https://github.com/developmentseed/cogeo-mosaic/issues/122)
minimum_tile_cover
is > 1 (https://github.com/developmentseed/cogeo-mosaic/issues/117)Note: We changed the versioning scheme to {major}.{minor}.{path}{pre}{prenum}
reverse
option in .tile
and .point
to get values from assets in reversed order.point
method (#108)attr
to define backend classesbackend_options
is now used to pass options (*kwargs) to the _read
methodoverview
function.overview
function.This is a major version, meaning a lot of refactoring was done and may lead to breaking changes.
last
pixel_methodupdate_mosaic
utility function/tiles/point
endpoint to get points values from a mosaic/mosaic/info/<mosaicid>
to /mosaic/<mosaicid>/info
minimum_tile_cover
option for mosaic creation (#16)tile_cover_sort
option (#16)FAQs
CLI and Backends to work with MosaicJSON.
We found that cogeo-mosaic demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.