Skip to content

Commit eee0602

Browse files
authored
Merge pull request #568 from stac-utils/main
Merge v1.0 changes to the 1.0 release branch
2 parents 0b18c38 + 76ef6a3 commit eee0602

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+3326
-1757
lines changed

.readthedocs.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# .readthedocs.yaml
2+
# Read the Docs configuration file
3+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
4+
5+
version: 2
6+
7+
formats:
8+
# Temporarily disabling PDF downloads due to problem with nbsphinx in LateX builds
9+
# - pdf
10+
- epub
11+
12+
python:
13+
version: "3.7"
14+
install:
15+
- requirements: requirements-docs.txt
16+
- method: pip
17+
path: .
18+
19+
sphinx:
20+
fail_on_warning: false

CHANGELOG.md

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,47 @@
1010

1111
### Deprecated
1212

13+
### Fixed
14+
15+
## [v1.0.0]
16+
17+
### Added
18+
19+
- `ProjectionExtension.crs_string` to provide a single string to describe the coordinate reference system (CRS).
20+
Useful because projections can be defined by EPSG code, WKT, or projjson.
21+
([#548](https://github.com/stac-utils/pystac/pull/548))
22+
- SAR Extension summaries([#556](https://github.com/stac-utils/pystac/pull/556))
23+
- Migration for `sar:type` -> `sar:product_type` and `sar:polarization` ->
24+
`sar:polarizations` for pre-0.9 catalogs
25+
([#556](https://github.com/stac-utils/pystac/pull/556))
26+
- Migration from `eo:epsg` -> `proj:epsg` for pre-0.9 catalogs ([#557](https://github.com/stac-utils/pystac/pull/557))
27+
- Collection summaries for Point Cloud Extension ([#558](https://github.com/stac-utils/pystac/pull/558))
28+
- `PhenomenologyType` enum for recommended values of `pc:type` & `SchemaType` enum for
29+
valid values of `type` in [Point Cloud Schema
30+
Objects](https://github.com/stac-extensions/pointcloud#schema-object)
31+
([#548](https://github.com/stac-utils/pystac/pull/548))
32+
- `to_dict` and equality definition for `extensions.item_asset.AssetDefinition` ([#564](https://github.com/stac-utils/pystac/pull/564))
33+
- `Asset.common_metadata` property ([#563](https://github.com/stac-utils/pystac/pull/563))
34+
35+
### Changed
36+
37+
- The `from_dict` method on STACObjects will set the object's root link when a `root` parameter is present. An ItemCollection `from_dict` with a root parameter will set the root on each of it's Items. ([#549](https://github.com/stac-utils/pystac/pull/549))
38+
- Calling `ExtensionManagementMixin.validate_has_extension` with `add_if_missing = True`
39+
on an ownerless `Asset` will raise a `STACError` ([#554](https://github.com/stac-utils/pystac/pull/554))
40+
- `PointcloudSchema` -> `Schema`, `PointcloudStatistic` -> `Statistic` for consistency
41+
with naming convention in other extensions
42+
([#548](https://github.com/stac-utils/pystac/pull/548))
43+
- `RequiredPropertyMissing` always raised when trying to get a required property that is
44+
`None` (`STACError` or `KeyError` was previously being raised in some cases)
45+
([#561](https://github.com/stac-utils/pystac/pull/561))
46+
47+
### Fixed
48+
49+
- Added `Collections` as a type that can be extended for extensions whose fields can appear in collection summaries ([#547](https://github.com/stac-utils/pystac/pull/547))
50+
- Allow resolved self links when getting an object's self href ([#555](https://github.com/stac-utils/pystac/pull/555))
51+
- Fixed type annotation on SummariesLabelExtension.label_properties setter ([#562](https://github.com/stac-utils/pystac/pull/562))
52+
- Allow comparable types with alternate parameter naming of __lt__ method to pass structural type linting for RangeSummary ([#562](https://github.com/stac-utils/pystac/pull/562))
53+
1354
## [v1.0.0-rc.3]
1455

1556
### Added
@@ -436,7 +477,8 @@ use `Band.create`
436477

437478
Initial release.
438479

439-
[Unreleased]: <https://github.com/stac-utils/pystac/compare/v1.0.0-rc.3..main>
480+
[Unreleased]: <https://github.com/stac-utils/pystac/compare/v1.0.0..main>
481+
[v1.0.0]: <https://github.com/stac-utils/pystac/compare/v1.0.0-rc.3..v1.0.0>
440482
[v1.0.0-rc.3]: <https://github.com/stac-utils/pystac/compare/v1.0.0-rc.2..v1.0.0-rc.3>
441483
[v1.0.0-rc.2]: <https://github.com/stac-utils/pystac/compare/v1.0.0-rc.1..v1.0.0-rc.2>
442484
[v1.0.0-rc.1]: <https://github.com/stac-utils/pystac/compare/v1.0.0-beta.3..v1.0.0-rc.1>

docs/api.rst

Lines changed: 228 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,106 @@ ExtensionManagementMixin
294294
:members:
295295
:show-inheritance:
296296

297+
Datacube Extension
298+
------------------
299+
300+
These classes are representations of the :stac-ext:`EO Extension Spec <eo>`.
301+
302+
DimensionType
303+
~~~~~~~~~~~~~
304+
305+
.. autoclass:: pystac.extensions.datacube.DimensionType
306+
:members:
307+
:undoc-members:
308+
:show-inheritance:
309+
310+
HorizontalSpatialDimensionAxis
311+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
312+
313+
.. autoclass:: pystac.extensions.datacube.HorizontalSpatialDimensionAxis
314+
:members:
315+
:undoc-members:
316+
:show-inheritance:
317+
318+
VerticalSpatialDimensionAxis
319+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
320+
321+
.. autoclass:: pystac.extensions.datacube.VerticalSpatialDimensionAxis
322+
:members:
323+
:undoc-members:
324+
:show-inheritance:
325+
326+
Dimension
327+
~~~~~~~~~
328+
329+
.. autoclass:: pystac.extensions.datacube.Dimension
330+
:members:
331+
:show-inheritance:
332+
333+
HorizontalSpatialDimension
334+
~~~~~~~~~~~~~~~~~~~~~~~~~~
335+
336+
.. autoclass:: pystac.extensions.datacube.HorizontalSpatialDimension
337+
:members:
338+
:show-inheritance:
339+
:inherited-members:
340+
341+
VerticalSpatialDimension
342+
~~~~~~~~~~~~~~~~~~~~~~~~
343+
344+
.. autoclass:: pystac.extensions.datacube.VerticalSpatialDimension
345+
:members:
346+
:show-inheritance:
347+
:inherited-members:
348+
349+
TemporalSpatialDimension
350+
~~~~~~~~~~~~~~~~~~~~~~~~
351+
352+
.. autoclass:: pystac.extensions.datacube.TemporalSpatialDimension
353+
:members:
354+
:show-inheritance:
355+
:inherited-members:
356+
357+
AdditionalDimension
358+
~~~~~~~~~~~~~~~~~~~
359+
360+
.. autoclass:: pystac.extensions.datacube.AdditionalDimension
361+
:members:
362+
:show-inheritance:
363+
:inherited-members:
364+
365+
DatacubeExtension
366+
~~~~~~~~~~~~~~~~~
367+
368+
.. autoclass:: pystac.extensions.datacube.DatacubeExtension
369+
:members:
370+
:show-inheritance:
371+
:inherited-members:
372+
373+
CollectionDatacubeExtension
374+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
375+
376+
.. autoclass:: pystac.extensions.datacube.CollectionDatacubeExtension
377+
:members:
378+
:show-inheritance:
379+
:inherited-members:
380+
381+
ItemDatacubeExtension
382+
~~~~~~~~~~~~~~~~~~~~~
383+
384+
.. autoclass:: pystac.extensions.datacube.ItemDatacubeExtension
385+
:members:
386+
:show-inheritance:
387+
:inherited-members:
388+
389+
AssetDatacubeExtension
390+
~~~~~~~~~~~~~~~~~~~~~~
391+
392+
.. autoclass:: pystac.extensions.datacube.AssetDatacubeExtension
393+
:members:
394+
:show-inheritance:
395+
:inherited-members:
396+
297397
Electro-Optical Extension
298398
-------------------------
299399

@@ -365,6 +465,27 @@ FileExtension
365465
:show-inheritance:
366466
:undoc-members:
367467

468+
Item Assets Extension
469+
---------------------
470+
471+
These classes are representations of the :stac-ext:`Item Assets Extension Spec
472+
<item-assets>`.
473+
474+
AssetDefinition
475+
~~~~~~~~~~~~~~~
476+
477+
.. autoclass:: pystac.extensions.item_assets.AssetDefinition
478+
:members:
479+
:undoc-members:
480+
:show-inheritance:
481+
482+
ItemAssetsExtension
483+
~~~~~~~~~~~~~~~~~~~
484+
485+
.. autoclass:: pystac.extensions.item_assets.ItemAssetsExtension
486+
:members:
487+
:show-inheritance:
488+
368489
Label Extension
369490
---------------
370491

@@ -423,17 +544,62 @@ LabelExtension
423544
Pointcloud Extension
424545
--------------------
425546

426-
Implements the :stac-ext:`Point Cloud Extension <pointcloud>`.
547+
These classes are representations of the :stac-ext:`Pointcloud Extension Spec
548+
<pointcloud>`.
427549

428-
PointcloudItemExt
550+
PhenomenologyType
429551
~~~~~~~~~~~~~~~~~
430552

431-
**TEMPORARILY REMOVED**
553+
.. autoclass:: pystac.extensions.pointcloud.PhenomenologyType
554+
:members:
555+
:undoc-members:
556+
:show-inheritance:
432557

433-
.. .. autoclass:: pystac.extensions.pointcloud.PointcloudItemExt
434-
.. :members:
435-
.. :undoc-members:
436-
.. :show-inheritance:
558+
SchemaType
559+
~~~~~~~~~~
560+
561+
.. autoclass:: pystac.extensions.pointcloud.SchemaType
562+
:members:
563+
:undoc-members:
564+
:show-inheritance:
565+
566+
Schema
567+
~~~~~~
568+
569+
.. autoclass:: pystac.extensions.pointcloud.Schema
570+
:members:
571+
:inherited-members:
572+
:show-inheritance:
573+
574+
Statistic
575+
~~~~~~~~~
576+
577+
.. autoclass:: pystac.extensions.pointcloud.Statistic
578+
:members:
579+
:inherited-members:
580+
:show-inheritance:
581+
582+
PointcloudExtension
583+
~~~~~~~~~~~~~~~~~~~
584+
585+
.. autoclass:: pystac.extensions.pointcloud.PointcloudExtension
586+
:members:
587+
:inherited-members:
588+
:show-inheritance:
589+
590+
ItemPointcloudExtension
591+
~~~~~~~~~~~~~~~~~~~~~~~
592+
593+
.. autoclass:: pystac.extensions.pointcloud.ItemPointcloudExtension
594+
:members:
595+
:show-inheritance:
596+
597+
AssetPointcloudExtension
598+
~~~~~~~~~~~~~~~~~~~~~~~~
599+
600+
.. autoclass:: pystac.extensions.pointcloud.AssetPointcloudExtension
601+
:members:
602+
:show-inheritance:
437603

438604
Projection Extension
439605
--------------------
@@ -499,8 +665,63 @@ RasterExtension
499665
:show-inheritance:
500666
:inherited-members:
501667

668+
SAR Extension
669+
-------------
670+
These classes are representations of the :stac-ext:`SAR Extension Spec
671+
<sar>`.
672+
673+
FrequencyBand
674+
~~~~~~~~~~~~~
675+
676+
.. autoclass:: pystac.extensions.sar.FrequencyBand
677+
:members:
678+
:undoc-members:
679+
:show-inheritance:
680+
681+
Polarization
682+
~~~~~~~~~~~~
683+
684+
.. autoclass:: pystac.extensions.sar.Polarization
685+
:members:
686+
:undoc-members:
687+
:show-inheritance:
688+
689+
ObservationDirection
690+
~~~~~~~~~~~~~~~~~~~~
691+
692+
.. autoclass:: pystac.extensions.sar.ObservationDirection
693+
:members:
694+
:undoc-members:
695+
:show-inheritance:
696+
697+
SarExtension
698+
~~~~~~~~~~~~
699+
700+
.. autoclass:: pystac.extensions.sar.SarExtension
701+
:members:
702+
:show-inheritance:
703+
:inherited-members:
704+
705+
ItemSarExtension
706+
~~~~~~~~~~~~~~~~
707+
708+
.. autoclass:: pystac.extensions.sar.ItemSarExtension
709+
:members:
710+
:show-inheritance:
711+
:inherited-members:
712+
713+
AssetSarExtension
714+
~~~~~~~~~~~~~~~~~
715+
716+
.. autoclass:: pystac.extensions.sar.AssetSarExtension
717+
:members:
718+
:show-inheritance:
719+
:inherited-members:
720+
502721
Satellite Extension
503722
-------------------
723+
These classes are representations of the :stac-ext:`Satellite Extension Spec
724+
<sat>`.
504725

505726
OrbitState
506727
~~~~~~~~~~

pystac/__init__.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,13 @@
3030
Extent,
3131
SpatialExtent,
3232
TemporalExtent,
33-
Provider,
34-
ProviderRole,
3533
Summaries,
3634
)
35+
from pystac.common_metadata import CommonMetadata
3736
from pystac.summaries import RangeSummary
38-
from pystac.item import Item, Asset, CommonMetadata
37+
from pystac.item import Item, Asset
3938
from pystac.item_collection import ItemCollection
40-
39+
from pystac.provider import ProviderRole, Provider
4140
import pystac.validation
4241

4342
import pystac.extensions.hooks

0 commit comments

Comments
 (0)