Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environment**
- OS:
- Python version:
- Package version:

**Additional context**
Add any other context about the problem here.
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Feature request
about: Suggest an idea or enhancement
title: ''
labels: enhancement
assignees: ''

---

**Feature Description**
Describe the feature or enhancement.

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
10 changes: 10 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Overview

## Related Issue

## Additional Information

## Checklist

- [ ] Code adheres to the project's style guidelines.
- [ ] All automated checks have passed.
97 changes: 97 additions & 0 deletions .github/workflows/package.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: package

on:
push:
branches:
- feature
- feature/**
- develop
- main
tags:
- v*.*.*

pull_request:
branches:
- feature
- feature/**
- develop
- main

permissions:
contents: read

jobs:
ci:
if: github.event_name == 'pull_request' || startsWith(github.ref, 'refs/heads/')
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
python-version:
- "3.10"
- "3.11"
- "3.12"

steps:
- uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: pip

- name: Install tooling
run: |
pip install hatch ruff

- name: Ruff Check
run: ruff check .

- name: Ruff Lint
run: ruff format --check .

- name: Run tests
run: hatch run test:test-q

publish:
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest

environment: release

permissions:
id-token: write
contents: read

steps:
- uses: actions/checkout@v6

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.11"
cache: pip

- name: Install Hatch
run: pip install hatch

- name: Verify tag matches project version
run: |
TAG_VERSION="${GITHUB_REF_NAME#v}"
PROJECT_VERSION="$(hatch version)"

echo "Tag version: ${TAG_VERSION}"
echo "Project version: ${PROJECT_VERSION}"

if [ "${TAG_VERSION}" != "${PROJECT_VERSION}" ]; then
echo "Tag ${GITHUB_REF_NAME} does not match project version ${PROJECT_VERSION}"
exit 1
fi

- name: Build package
run: hatch build

- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
72 changes: 0 additions & 72 deletions .github/workflows/publish-pypi.yml

This file was deleted.

95 changes: 95 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [v0.1.8] - 2026-04-29

### Fixed

- Avoid inserting the user name twice in the `tmpUrl` variable of the `main` section

## [v0.1.7] - 2026-04-17

### Fixed

- Fix typo introduced in v0.1.6

## [v0.1.6] - 2026-04-17

### Changed

- Added support for generating a minimal STAC catalog for `File` outputs.

## [v0.1.5] - 2026-01-21

### Changed

- Adopted PEP 621 standard for project metadata in `pyproject.toml`

### Removed

- Removed unnecessary `__init__.py` file for cleaner package structure

## [v0.1.4] - 2026-01-19

### Changed

- `CommonExecutionHandler` now inherits from `zoo_runner_common.handlers.ExecutionHandler`

## [v0.1.3] - 2026-01-19

### Fixed

- Fixed import to enable use of `botocore.session`

## [v0.1.2] - 2026-01-19

### Changed

- Updated `zoo-runner-common` dependency from `>=0.1.0` to `>=0.1.2` to support the new package structure and import paths (`from zoo_runner_common import ...`)

## [v0.1.1] - 2026-01-18

### Added

- Package is now officially available on PyPI: `pip install zoo-template-common`
- Automated CI/CD pipeline for PyPI publication on new releases
- Added `zoo-runner-common` (>=0.1.0) as an official dependency
- Complete PyPI metadata: classifiers, keywords, and project URLs
- Enhanced documentation with real-world examples

### Changed

- License updated to Apache-2.0
- Minimum Python version raised to 3.10 (supports 3.10, 3.11, 3.12)
- Updated documentation to reflect latest service template patterns

### Fixed
- Multiple typos in codebase and documentation
- Package structure improvements for better imports

## [v0.1.0] - 2026-01-18

### Added

- Initial release of `zoo-template-common`
- `CommonExecutionHandler`: extensible base class for CWL workflow execution with pre/post-execution hooks, automatic STAC catalog output processing, Kubernetes pod environment variable and node selector management, secrets handling, and tool log integration
- `CustomStacIO`: STAC I/O class with S3 support via `boto3` for reading and writing STAC catalogs from/to S3 or local file systems
- MkDocs Material documentation site
- Core dependencies: `loguru>=0.7.0`, `pystac>=1.8.0`, `pyyaml>=6.0`, `boto3>=1.28.0`, `botocore>=1.31.0`

[Unreleased]: https://github.com/ZOO-Project/zoo-template-common/compare/v0.1.8...HEAD
[v0.1.8]: https://github.com/ZOO-Project/zoo-template-common/compare/v0.1.7...v0.1.8
[v0.1.7]: https://github.com/ZOO-Project/zoo-template-common/compare/v0.1.6...v0.1.7
[v0.1.6]: https://github.com/ZOO-Project/zoo-template-common/compare/v0.1.5...v0.1.6
[v0.1.5]: https://github.com/ZOO-Project/zoo-template-common/compare/v0.1.4...v0.1.5
[v0.1.4]: https://github.com/ZOO-Project/zoo-template-common/compare/v0.1.3...v0.1.4
[v0.1.3]: https://github.com/ZOO-Project/zoo-template-common/compare/v0.1.2...v0.1.3
[v0.1.2]: https://github.com/ZOO-Project/zoo-template-common/compare/v0.1.1...v0.1.2
[v0.1.1]: https://github.com/ZOO-Project/zoo-template-common/compare/v0.1.0...v0.1.1
[v0.1.0]: https://github.com/ZOO-Project/zoo-template-common/releases/tag/v0.1.0
4 changes: 4 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Code of Conduct
===============

Contributors to ZOO-Project are expected to act respectfully toward others in accordance with [the OSGeo Code of Conduct](https://www.osgeo.org/resources/osgeo-code-of-conduct/).
Loading