Skip to content

Commit a388c79

Browse files
Merge branch 'main' into Database_authorization_capability_with_SSL_disabled
2 parents 295694b + 3930769 commit a388c79

Some content is hidden

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

69 files changed

+2475
-1681
lines changed

.github/workflows/cicd.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@ jobs:
9696
run: |
9797
pip install ./stac_fastapi/core
9898
99+
- name: Install helpers library stac-fastapi
100+
run: |
101+
pip install ./stac_fastapi/sfeos_helpers
102+
99103
- name: Install elasticsearch stac-fastapi
100104
run: |
101105
pip install ./stac_fastapi/elasticsearch[dev,server]

.github/workflows/deploy_mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ jobs:
3030
python -m pip install --upgrade pip
3131
python -m pip install \
3232
stac_fastapi/core \
33+
stac_fastapi/sfeos_helpers \
3334
stac_fastapi/elasticsearch[docs] \
3435
stac_fastapi/opensearch \
3536

.github/workflows/publish.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,18 @@ jobs:
3535
# Publish to PyPI
3636
twine upload dist/*
3737
38+
- name: Build and publish sfeos_helpers
39+
working-directory: stac_fastapi/sfeos_helpers
40+
env:
41+
TWINE_USERNAME: "__token__"
42+
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
43+
run: |
44+
# Build package
45+
python setup.py sdist bdist_wheel
46+
47+
# Publish to PyPI
48+
twine upload dist/*
49+
3850
- name: Build and publish stac-fastapi-elasticsearch
3951
working-directory: stac_fastapi/elasticsearch
4052
env:

CHANGELOG.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,37 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
66
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
77

8+
89
## [Unreleased]
910

11+
### Changed
12+
13+
- Updated mkdocs/ sfeos doucmentation page [#386](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/386)
14+
15+
## [v5.0.0a0] - 2025-05-29
16+
1017
### Added
1118

19+
- Created new `sfeos_helpers` package to improve code organization and maintainability [#376](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/376)
20+
- Added introduction section - What is stac-fastapi-elasticsearch-opensearch? - to README [#384](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/384)
21+
1222
### Changed
1323

24+
- Refactored utility functions into dedicated modules within `sfeos_helpers` [#376](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/376):
25+
- Created `database` package with specialized modules for index, document, and utility operations
26+
- Created `aggregation` package for Elasticsearch/OpenSearch-specific aggregation functionality
27+
- Moved shared logic from core module to helper functions for better code reuse
28+
- Separated utility functions from constant mappings for clearer code organization
29+
- Updated documentation to reflect recent code refactoring [#376](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/376)
30+
- Improved README documentation with consistent formatting and enhanced sections [#381](https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/pull/381):
31+
- Added sfeos logo and banner
32+
- Added a comprehensive Quick Start guide
33+
- Reorganized sections for better navigation
34+
- Reformatted content with bullet points for improved readability
35+
- Added more detailed examples for API interaction
36+
1437
### Fixed
1538

16-
1739
## [v4.2.0] - 2025-05-15
1840

1941
### Added
@@ -388,7 +410,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
388410
- Use genexp in execute_search and get_all_collections to return results.
389411
- Added db_to_stac serializer to item_collection method in core.py.
390412

391-
[Unreleased]: https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/compare/v4.2.0...main
413+
[Unreleased]: https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/compare/v5.0.0a0...main
414+
[v5.0.0a0]: https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/compare/v4.2.0...v5.0.0a0
392415
[v4.2.0]: https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/compare/v4.1.0...v4.2.0
393416
[v4.1.0]: https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/compare/v4.0.0...v4.1.0
394417
[v4.0.0]: https://github.com/stac-utils/stac-fastapi-elasticsearch-opensearch/compare/v3.2.5...v4.0.0

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ pybase-install:
9595
pip install -e ./stac_fastapi/api[dev] && \
9696
pip install -e ./stac_fastapi/types[dev] && \
9797
pip install -e ./stac_fastapi/extensions[dev] && \
98-
pip install -e ./stac_fastapi/core
98+
pip install -e ./stac_fastapi/core && \
99+
pip install -e ./stac_fastapi/sfeos_helpers
99100

100101
.PHONY: install-es
101102
install-es: pybase-install

README.md

Lines changed: 427 additions & 251 deletions
Large diffs are not rendered by default.

assets/STAC-01.png

55 KB
Loading

assets/VITO.png

9.26 KB
Loading

assets/elasticsearch.png

81.9 KB
Loading

assets/fastapi.svg

Lines changed: 1 addition & 0 deletions
Loading

assets/opensearch.svg

Lines changed: 10 additions & 0 deletions
Loading

assets/python.png

19.7 KB
Loading

assets/sfeos.png

1.51 MB
Loading

assets/stac-030-long.png

-95.9 KB
Binary file not shown.

compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ services:
99
environment:
1010
- STAC_FASTAPI_TITLE=stac-fastapi-elasticsearch
1111
- STAC_FASTAPI_DESCRIPTION=A STAC FastAPI with an Elasticsearch backend
12-
- STAC_FASTAPI_VERSION=4.2.0
12+
- STAC_FASTAPI_VERSION=5.0.0a0
1313
- STAC_FASTAPI_LANDING_PAGE_ID=stac-fastapi-elasticsearch
1414
- APP_HOST=0.0.0.0
1515
- APP_PORT=8080
@@ -42,7 +42,7 @@ services:
4242
environment:
4343
- STAC_FASTAPI_TITLE=stac-fastapi-opensearch
4444
- STAC_FASTAPI_DESCRIPTION=A STAC FastAPI with an Opensearch backend
45-
- STAC_FASTAPI_VERSION=4.2.0
45+
- STAC_FASTAPI_VERSION=5.0.0a0
4646
- STAC_FASTAPI_LANDING_PAGE_ID=stac-fastapi-opensearch
4747
- APP_HOST=0.0.0.0
4848
- APP_PORT=8082

dockerfiles/Dockerfile.ci.es

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ RUN apt-get update && \
1212
COPY . /app/
1313

1414
RUN pip3 install --no-cache-dir -e ./stac_fastapi/core && \
15+
pip3 install --no-cache-dir -e ./stac_fastapi/sfeos_helpers && \
1516
pip3 install --no-cache-dir ./stac_fastapi/elasticsearch[server]
1617

1718
USER root

dockerfiles/Dockerfile.ci.os

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ RUN apt-get update && \
1212
COPY . /app/
1313

1414
RUN pip3 install --no-cache-dir -e ./stac_fastapi/core && \
15+
pip3 install --no-cache-dir -e ./stac_fastapi/sfeos_helpers && \
1516
pip3 install --no-cache-dir ./stac_fastapi/opensearch[server]
1617

1718
USER root

dockerfiles/Dockerfile.deploy.es

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ WORKDIR /app
1313
COPY . /app
1414

1515
RUN pip install --no-cache-dir -e ./stac_fastapi/core
16+
RUN pip install --no-cache-dir -e ./stac_fastapi/sfeos_helpers
1617
RUN pip install --no-cache-dir ./stac_fastapi/elasticsearch[server]
1718

1819
EXPOSE 8080

dockerfiles/Dockerfile.deploy.os

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ WORKDIR /app
1313
COPY . /app
1414

1515
RUN pip install --no-cache-dir -e ./stac_fastapi/core
16+
RUN pip install --no-cache-dir -e ./stac_fastapi/sfeos_helpers
1617
RUN pip install --no-cache-dir ./stac_fastapi/opensearch[server]
1718

1819
EXPOSE 8080

dockerfiles/Dockerfile.dev.es

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ WORKDIR /app
1616
COPY . /app
1717

1818
RUN pip install --no-cache-dir -e ./stac_fastapi/core
19+
RUN pip install --no-cache-dir -e ./stac_fastapi/sfeos_helpers
1920
RUN pip install --no-cache-dir -e ./stac_fastapi/elasticsearch[dev,server]

dockerfiles/Dockerfile.dev.os

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ WORKDIR /app
1616
COPY . /app
1717

1818
RUN pip install --no-cache-dir -e ./stac_fastapi/core
19+
RUN pip install --no-cache-dir -e ./stac_fastapi/sfeos_helpers
1920
RUN pip install --no-cache-dir -e ./stac_fastapi/opensearch[dev,server]

dockerfiles/Dockerfile.docs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ WORKDIR /opt/src
1212

1313
RUN python -m pip install \
1414
stac_fastapi/core \
15+
stac_fastapi/sfeos_helpers \
1516
stac_fastapi/elasticsearch \
1617
stac_fastapi/opensearch
1718

docs/mkdocs.yml

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,33 +21,57 @@ nav:
2121
- Tips and Tricks: tips-and-tricks.md
2222
- API:
2323
- stac_fastapi.elasticsearch:
24-
- app: api/stac_fastapi/elasticsearch/app.md
2524
- index: api/stac_fastapi/elasticsearch/index.md
25+
- app: api/stac_fastapi/elasticsearch/app.md
2626
- config: api/stac_fastapi/elasticsearch/config.md
2727
- database_logic: api/stac_fastapi/elasticsearch/database_logic.md
28-
- index: api/stac_fastapi/elasticsearch/index.md
2928
- version: api/stac_fastapi/elasticsearch/version.md
3029
- stac_fastapi.opensearch:
31-
- app: api/stac_fastapi/opensearch/app.md
3230
- index: api/stac_fastapi/opensearch/index.md
31+
- app: api/stac_fastapi/opensearch/app.md
3332
- config: api/stac_fastapi/opensearch/config.md
3433
- database_logic: api/stac_fastapi/opensearch/database_logic.md
35-
- index: api/stac_fastapi/opensearch/index.md
3634
- version: api/stac_fastapi/opensearch/version.md
35+
- sfeos_helpers:
36+
- index: api/sfeos_helpers/index.md
37+
- aggregation:
38+
- module: api/sfeos_helpers/aggregation/index.md
39+
- client: api/sfeos_helpers/aggregation/client.md
40+
- format: api/sfeos_helpers/aggregation/format.md
41+
- database:
42+
- module: api/sfeos_helpers/database/index.md
43+
- datetime: api/sfeos_helpers/database/datetime.md
44+
- document: api/sfeos_helpers/database/document.md
45+
- index: api/sfeos_helpers/database/index.md
46+
- mapping: api/sfeos_helpers/database/mapping.md
47+
- query: api/sfeos_helpers/database/query.md
48+
- utils: api/sfeos_helpers/database/utils.md
49+
- filter:
50+
- module: api/sfeos_helpers/filter/index.md
51+
- client: api/sfeos_helpers/filter/client.md
52+
- cql2: api/sfeos_helpers/filter/cql2.md
53+
- transform: api/sfeos_helpers/filter/transform.md
54+
- mappings: api/sfeos_helpers/mappings.md
55+
- version: api/sfeos_helpers/version.md
3756
- stac_fastapi.core:
3857
- index: api/stac_fastapi/core/index.md
3958
- base_database_logic: api/stac_fastapi/core/base_database_logic.md
4059
- base_settings: api/stac_fastapi/core/base_settings.md
60+
- basic_auth: api/stac_fastapi/core/basic_auth.md
4161
- core: api/stac_fastapi/core/core.md
4262
- datetime_utils: api/stac_fastapi/core/datetime_utils.md
4363
- extensions:
4464
- module: api/stac_fastapi/core/extensions/index.md
65+
- aggregation: api/stac_fastapi/core/extensions/aggregation.md
66+
- fields: api/stac_fastapi/core/extensions/fields.md
4567
- filter: api/stac_fastapi/core/extensions/filter.md
4668
- query: api/stac_fastapi/core/extensions/query.md
4769
- models:
4870
- module: api/stac_fastapi/core/models/index.md
4971
- links: api/stac_fastapi/core/models/links.md
5072
- search: api/stac_fastapi/core/models/search.md
73+
- rate_limit: api/stac_fastapi/core/rate_limit.md
74+
- route_dependencies: api/stac_fastapi/core/route_dependencies.md
5175
- serializers: api/stac_fastapi/core/serializers.md
5276
- session: api/stac_fastapi/core/session.md
5377
- utilities: api/stac_fastapi/core/utilities.md

docs/src/stylesheets/extra.css

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
11
:root {
22
--md-primary-fg-color: rgb(13, 118, 160);
3-
}
3+
}
4+
5+
/* Control the size of the main logo */
6+
img[src*="sfeos.png"] {
7+
max-width: 100%;
8+
height: auto;
9+
width: auto !important;
10+
max-height: 200px;
11+
}
12+
13+
/* Control the size of sponsor logos */
14+
img[src*="logo"], img[src*="VITO.png"] {
15+
max-height: 60px !important;
16+
width: auto !important;
17+
height: auto !important;
18+
}
19+
20+
/* Control the size of technology logos */
21+
img[src*="STAC-01.png"],
22+
img[src*="python.png"],
23+
img[src*="fastapi.svg"],
24+
img[src*="elasticsearch.png"],
25+
img[src*="opensearch.svg"] {
26+
max-height: 50px !important;
27+
width: auto !important;
28+
height: auto !important;
29+
}
30+
31+
/* Make sure all images are responsive and don't overflow */
32+
img {
33+
max-width: 100%;
34+
height: auto;
35+
}

examples/auth/compose.basic_auth.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ services:
99
environment:
1010
- STAC_FASTAPI_TITLE=stac-fastapi-elasticsearch
1111
- STAC_FASTAPI_DESCRIPTION=A STAC FastAPI with an Elasticsearch backend
12-
- STAC_FASTAPI_VERSION=4.2.0
12+
- STAC_FASTAPI_VERSION=5.0.0a0
1313
- STAC_FASTAPI_LANDING_PAGE_ID=stac-fastapi-elasticsearch
1414
- APP_HOST=0.0.0.0
1515
- APP_PORT=8080
@@ -43,7 +43,7 @@ services:
4343
environment:
4444
- STAC_FASTAPI_TITLE=stac-fastapi-opensearch
4545
- STAC_FASTAPI_DESCRIPTION=A STAC FastAPI with an Opensearch backend
46-
- STAC_FASTAPI_VERSION=4.2.0
46+
- STAC_FASTAPI_VERSION=5.0.0a0
4747
- STAC_FASTAPI_LANDING_PAGE_ID=stac-fastapi-opensearch
4848
- APP_HOST=0.0.0.0
4949
- APP_PORT=8082

examples/auth/compose.oauth2.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ services:
99
environment:
1010
- STAC_FASTAPI_TITLE=stac-fastapi-elasticsearch
1111
- STAC_FASTAPI_DESCRIPTION=A STAC FastAPI with an Elasticsearch backend
12-
- STAC_FASTAPI_VERSION=4.2.0
12+
- STAC_FASTAPI_VERSION=5.0.0a0
1313
- STAC_FASTAPI_LANDING_PAGE_ID=stac-fastapi-elasticsearch
1414
- APP_HOST=0.0.0.0
1515
- APP_PORT=8080
@@ -44,7 +44,7 @@ services:
4444
environment:
4545
- STAC_FASTAPI_TITLE=stac-fastapi-opensearch
4646
- STAC_FASTAPI_DESCRIPTION=A STAC FastAPI with an Opensearch backend
47-
- STAC_FASTAPI_VERSION=4.2.0
47+
- STAC_FASTAPI_VERSION=5.0.0a0
4848
- STAC_FASTAPI_LANDING_PAGE_ID=stac-fastapi-opensearch
4949
- APP_HOST=0.0.0.0
5050
- APP_PORT=8082

examples/auth/compose.route_dependencies.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ services:
99
environment:
1010
- STAC_FASTAPI_TITLE=stac-fastapi-elasticsearch
1111
- STAC_FASTAPI_DESCRIPTION=A STAC FastAPI with an Elasticsearch backend
12-
- STAC_FASTAPI_VERSION=4.2.0
12+
- STAC_FASTAPI_VERSION=5.0.0a0
1313
- STAC_FASTAPI_LANDING_PAGE_ID=stac-fastapi-elasticsearch
1414
- APP_HOST=0.0.0.0
1515
- APP_PORT=8080
@@ -43,7 +43,7 @@ services:
4343
environment:
4444
- STAC_FASTAPI_TITLE=stac-fastapi-opensearch
4545
- STAC_FASTAPI_DESCRIPTION=A STAC FastAPI with an Opensearch backend
46-
- STAC_FASTAPI_VERSION=4.2.0
46+
- STAC_FASTAPI_VERSION=5.0.0a0
4747
- STAC_FASTAPI_LANDING_PAGE_ID=stac-fastapi-opensearch
4848
- APP_HOST=0.0.0.0
4949
- APP_PORT=8082

examples/rate_limit/compose.rate_limit.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ services:
99
environment:
1010
- STAC_FASTAPI_TITLE=stac-fastapi-elasticsearch
1111
- STAC_FASTAPI_DESCRIPTION=A STAC FastAPI with an Elasticsearch backend
12-
- STAC_FASTAPI_VERSION=4.2.0
12+
- STAC_FASTAPI_VERSION=5.0.0a0
1313
- STAC_FASTAPI_LANDING_PAGE_ID=stac-fastapi-elasticsearch
1414
- APP_HOST=0.0.0.0
1515
- APP_PORT=8080
@@ -43,7 +43,7 @@ services:
4343
environment:
4444
- STAC_FASTAPI_TITLE=stac-fastapi-opensearch
4545
- STAC_FASTAPI_DESCRIPTION=A STAC FastAPI with an Opensearch backend
46-
- STAC_FASTAPI_VERSION=4.2.0
46+
- STAC_FASTAPI_VERSION=5.0.0a0
4747
- APP_HOST=0.0.0.0
4848
- APP_PORT=8082
4949
- RELOAD=true

0 commit comments

Comments
 (0)