Skip to content

Commit bfa8677

Browse files
Merge pull request #178 from nasa/release/1.4.0
Release/1.4.0
2 parents e551a02 + 3163705 commit bfa8677

17 files changed

Lines changed: 565 additions & 423 deletions

.github/workflows/build-pipeline.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ on:
1212
workflow_dispatch:
1313

1414
env:
15-
POETRY_VERSION: "1.3.2"
16-
PYTHON_VERSION: "3.10"
15+
POETRY_VERSION: "2.1.3"
16+
PYTHON_VERSION: "3.12"
1717
REGISTRY: ghcr.io
1818
IMAGE_NAME: ${{ github.repository }}
1919

@@ -36,7 +36,7 @@ jobs:
3636
with:
3737
python-version: ${{ env.PYTHON_VERSION }}
3838
- name: Install Poetry
39-
uses: abatilo/actions-poetry@v3.0.1
39+
uses: abatilo/actions-poetry@v4.0.0
4040
with:
4141
poetry-version: ${{ env.POETRY_VERSION }}
4242
- name: Get version
@@ -90,7 +90,7 @@ jobs:
9090
echo "venue=ops" >> $GITHUB_ENV
9191
9292
- name: Run Snyk as a blocking step
93-
uses: snyk/actions/python-3.10@master
93+
uses: snyk/actions/python-3.11@master
9494
env:
9595
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
9696
with:
@@ -101,7 +101,7 @@ jobs:
101101
--severity-threshold=high
102102
--fail-on=all
103103
- name: Run Snyk on Python
104-
uses: snyk/actions/python-3.10@master
104+
uses: snyk/actions/python-3.11@master
105105
env:
106106
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
107107
with:

.github/workflows/release-created.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ on:
55
create
66

77
env:
8-
POETRY_VERSION: "1.3.2"
9-
PYTHON_VERSION: "3.10"
8+
POETRY_VERSION: "2.1.3"
9+
PYTHON_VERSION: "3.12"
1010

1111
jobs:
1212
# First job in the workflow builds and verifies the software artifacts
@@ -26,7 +26,7 @@ jobs:
2626
with:
2727
python-version: ${{ env.PYTHON_VERSION }}
2828
- name: Install Poetry
29-
uses: abatilo/actions-poetry@v3.0.1
29+
uses: abatilo/actions-poetry@v4.0.0
3030
with:
3131
poetry-version: ${{ env.POETRY_VERSION }}
3232
- name: Bump minor version

.github/workflows/run_tests.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ on:
1313
workflow_dispatch:
1414

1515
env:
16-
POETRY_VERSION: "1.3.2"
17-
PYTHON_VERSION: "3.10"
16+
POETRY_VERSION: "2.1.3"
17+
PYTHON_VERSION: "3.12"
1818

1919
jobs:
2020
build_and_test:
@@ -30,7 +30,7 @@ jobs:
3030
python-version: ${{ env.PYTHON_VERSION }}
3131

3232
- name: Set up Poetry
33-
uses: abatilo/actions-poetry@v3.0.1
33+
uses: abatilo/actions-poetry@v4.0.0
3434
with:
3535
poetry-version: ${{ env.POETRY_VERSION }}
3636

@@ -39,14 +39,14 @@ jobs:
3939

4040
- name: Lint
4141
run: |
42-
poetry run ruff check batcher
42+
poetry run ruff check batchee
4343
4444
- name: Run tests with coverage
4545
run: |
46-
poetry run pytest --cov=batcher --cov-report=xml:build/reports/coverage.xml --cov-report=html:build/reports/coverage.html tests/
46+
poetry run pytest --cov=batchee --cov-report=xml:build/reports/coverage.xml --cov-report=html:build/reports/coverage.html tests/
4747
4848
- name: Upload coverage reports to Codecov
49-
uses: codecov/codecov-action@v4
49+
uses: codecov/codecov-action@v5
5050
with:
5151
token: ${{ secrets.CODECOV_TOKEN }}
5252
verbose: true

.pre-commit-config.yaml

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@ ci:
55
autofix_prs: false # Comment "pre-commit.ci autofix" on a PR to trigger
66

77
default_language_version:
8-
python: python3.10
8+
python: python3.12
99

1010
repos:
1111
- repo: https://github.com/gitleaks/gitleaks
12-
rev: v8.21.2
12+
rev: v8.28.0
1313
hooks:
1414
- id: gitleaks
1515

1616
- repo: https://github.com/pre-commit/pre-commit-hooks
17-
rev: v5.0.0
17+
rev: v6.0.0
1818
hooks:
1919
# Validate format
2020
- id: check-yaml
@@ -38,19 +38,13 @@ repos:
3838
- id: trailing-whitespace
3939

4040
- repo: https://github.com/astral-sh/ruff-pre-commit
41-
rev: v0.7.3
41+
rev: v0.12.9
4242
hooks:
4343
- id: ruff
4444
args: ["--fix", "--exit-non-zero-on-fix"]
4545
- id: ruff-format
4646

4747
- repo: https://github.com/pre-commit/mirrors-mypy
48-
rev: v1.13.0
48+
rev: v1.17.1
4949
hooks:
5050
- id: mypy
51-
52-
# TODO: Reconsider using the alexjs hook when there is a way to ignore particular warnings and/or files.
53-
# - repo: "https://github.com/mfisher87/alexjs-pre-commit-mirror"
54-
# rev: "v11.0.1" # Use the sha / tag you prefer
55-
# hooks:
56-
# - id: "alex"

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Common Changelog](https://common-changelog.org/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [1.4.0] - 2025-08-20
8+
9+
### Changed
10+
11+
- update grouping algorithm to use day in US Central as the first part of unique grouping identifier ([#177](https://github.com/nasa/batchee/pull/177))([**@ank1m**](https://github.com/ank1m))
12+
- update package name to match repository name ([#171](https://github.com/nasa/batchee/pull/171))([**@danielfromearth**](https://github.com/danielfromearth))
13+
- update the default python version from 3.10 to 3.12 ([#180](https://github.com/nasa/batchee/pull/180))([**@danielfromearth**](https://github.com/danielfromearth))
14+
715
## [1.3.0] - 2024-11-19
816

917
### Changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
FROM python:3.10-slim
2+
FROM python:3.12-slim
33

44
RUN apt-get update \
55
&& DEBIAN_FRONTEND=noninteractive apt-get upgrade -y \

README.md

Lines changed: 59 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<p align="center">
2-
<img alt="batchee, a python package for grouping together filenames to enable subsequent batched operations (such as concatenation)."
2+
<img alt="Batchee logo"
33
src="https://github.com/danielfromearth/batchee/assets/114174502/8b1a92a5-eccc-4674-9c00-3698e752077e" width="250"
44
/>
55
</p>
@@ -8,14 +8,14 @@
88
<a href="https://www.repostatus.org/#active" target="_blank">
99
<img src="https://www.repostatus.org/badges/latest/active.svg" alt="Project Status: Active – The project has reached a stable, usable state and is being actively developed">
1010
</a>
11-
<a href="http://mypy-lang.org/" target="_blank">
12-
<img src="http://www.mypy-lang.org/static/mypy_badge.svg" alt="Mypy checked">
11+
<a href="https://mypy-lang.org/" target="_blank">
12+
<img src="https://www.mypy-lang.org/static/mypy_badge.svg" alt="Mypy checked">
1313
</a>
1414
<a href="https://pypi.org/project/batchee/" target="_blank">
1515
<img src="https://img.shields.io/pypi/pyversions/batchee.svg" alt="Python Versions">
1616
</a>
1717
<a href="https://pypi.org/project/batchee" target="_blank">
18-
<img src="https://img.shields.io/pypi/v/batchee?color=%2334D058label=pypi%20package" alt="Package version">
18+
<img src="https://img.shields.io/pypi/v/batchee?color=%2334D058&label=pypi%20package" alt="Package version">
1919
</a>
2020
<a href="https://codecov.io/gh/nasa/batchee">
2121
<img src="https://codecov.io/gh/nasa/batchee/graph/badge.svg?token=WDj92iN7c4" alt="Code coverage">
@@ -26,42 +26,82 @@
2626

2727

2828
# Overview
29-
_____
3029

31-
_Batchee_ groups together filenames so that further operations (such as concatenation) can be performed separately on each group of files.
30+
**Batchee** is a Python package that intelligently groups filenames together, enabling efficient batch operations like concatenation.
3231

33-
## Installing
34-
_____
32+
### What does it do?
3533

36-
For local development, one can clone the repository and then use poetry or pip from the local directory:
34+
Batchee analyzes filename patterns and groups related files together.
35+
For example (_note that these are pseudo-real, not actual, TEMPO file names_):
36+
37+
```shell
38+
batchee TEMPO_NO2_L2_S006G01.nc TEMPO_NO2_L2_S006G02.nc TEMPO_NO2_L2_S007G08.nc TEMPO_NO2_L2_S007G09.nc
39+
```
40+
41+
**Output:**
42+
- `TEMPO_NO2_L2_S006G01.nc`, `TEMPO_NO2_L2_S006G02.nc` → Group 1 (scan 6)
43+
- `TEMPO_NO2_L2_S007G08.nc`, `TEMPO_NO2_L2_S007G09.nc` → Group 2 (scan 7)
44+
45+
This enables batch processing operations on each group separately.
46+
47+
### Key Features
48+
- Automatic filename grouping based on configurable patterns
49+
- Command-line interface and Python API for integration with NASA Harmony service orchestrator
50+
- Verbose logging for debugging
51+
52+
## Installation
53+
54+
### From PyPI (Recommended)
55+
```shell
56+
pip install batchee
57+
```
58+
59+
### From Source (Development)
60+
61+
For local development or the latest features:
3762

3863
```shell
3964
git clone <Repository URL>
65+
cd batchee
4066
```
4167

42-
###### (Option A) using poetry:
43-
i) Follow the instructions for installing `poetry` [here](https://python-poetry.org/docs/).
68+
**(Option A) using poetry (Recommended for development):**
69+
70+
```shell
71+
# Install poetry: https://python-poetry.org/docs/
72+
poetry install
73+
```
4474

45-
ii) Run ```poetry install``` from the repository directory.
75+
**(Option B) using pip:**
4676

47-
###### (Option B) using pip: Run ```pip install .``` from the repository directory.
77+
```shell
78+
pip install .
79+
```
4880

4981
## Usage
50-
_____
82+
83+
### Basic Usage
5184

5285
```shell
5386
batchee [file_names ...]
5487
```
5588

56-
###### Or, If installed using a `poetry` environment:
89+
### With Poetry (if installed via poetry)
5790
```shell
5891
poetry run batchee [file_names ...]
5992
```
6093

61-
#### Options
94+
### Options
95+
96+
- **`-h, --help`** - Show help message and exit
97+
- **`-v, --verbose`** - Enable verbose output to stdout; useful for debugging
98+
99+
## Contributing
100+
101+
Issues and pull requests welcome on [GitHub](https://github.com/nasa/batchee/).
102+
103+
## License & Attribution
62104

63-
- `-h`, `--help` show this help message and exit
64-
- `-v`, `--verbose` Enable verbose output to stdout; useful for debugging
105+
Batchee is released under the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0).
65106

66-
---
67107
This package is NASA Software Release Authorization (SRA) # LAR-20440-1
File renamed without changes.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
2525
# either express or implied. See the License for the specific language governing permissions and
2626
# limitations under the License.
27-
"""A Harmony CLI wrapper around the concatenate-batcher"""
27+
"""A Harmony CLI wrapper around batchee"""
2828

2929
from argparse import ArgumentParser
3030

3131
import harmony_service_lib
3232

33-
from batcher.harmony.service_adapter import ConcatBatching as HarmonyAdapter
33+
from batchee.harmony.service_adapter import ConcatBatching as HarmonyAdapter
3434

3535

3636
def main(config: harmony_service_lib.util.Config = None) -> None:

0 commit comments

Comments
 (0)