Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #27

Merged
merged 144 commits into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from 143 commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
7198db6
Update python-pylint.yml
wvenialbo Oct 24, 2024
7ac2612
chore(vscode): update file exclusion pattern
wvenialbo Jan 11, 2025
2d2b151
docs(utils): clarify error message
wvenialbo Jan 11, 2025
b5224e2
fix(utils): correct error message formatting
wvenialbo Jan 11, 2025
39fcc48
chore(worflow): Update python-pylint.yml
wvenialbo Jan 29, 2025
8309b5c
chore(worflow): Update python-pylint.yml (2)
wvenialbo Jan 29, 2025
3f267c7
chore(worflow): Update python-pylint.yml (3)
wvenialbo Jan 29, 2025
19d44da
Merge branch 'main' into support/pylint-workflow
wvenialbo Jan 29, 2025
9a6f3c1
chore(ci): Update pylint workflow
wvenialbo Jan 29, 2025
bb14f52
chore(ci): Update pylint workflow
wvenialbo Jan 29, 2025
31c6252
Merge pull request #15 from wvenialbo/support/pylint-workflow
wvenialbo Jan 29, 2025
e3d2095
Merge pull request #16 from wvenialbo/develop
wvenialbo Jan 29, 2025
759db4d
chore(vscode): Update IDE settings
wvenialbo Jan 29, 2025
239c648
fix(utils): Fix error message
wvenialbo Jan 29, 2025
b4bcc68
refactor(tests): Update basic test functions
wvenialbo Jan 29, 2025
9f60b4a
Merge pull request #17 from wvenialbo/develop
wvenialbo Jan 29, 2025
0c6de04
refactor(locator): refactor GOES product locators
wvenialbo Jan 29, 2025
3bcf715
refactor(locator): refactor GOES product locators
wvenialbo Jan 29, 2025
79a73ee
refactor(datasource): remove duplicate code
wvenialbo Jan 29, 2025
a8ef2c9
chore(ide): temporary disable pyling warnings
wvenialbo Jan 29, 2025
ced112a
chore(ci): Add support checking for Python 3.11
wvenialbo Jan 29, 2025
33f19d6
chore(ci): Add support checking for Python 3.10
wvenialbo Jan 29, 2025
de2c381
chore(ci): Add support checking for Python 3.9
wvenialbo Jan 29, 2025
d4ec6a1
chore(ci): Add support checking for Python 3.8
wvenialbo Jan 29, 2025
982fbbc
chore(ci): Remove support for Python 3.8
wvenialbo Jan 29, 2025
411b6d2
chore(ci): Add support checking for Python 3.13
wvenialbo Jan 29, 2025
686b925
chore(ci): remove deprecated Python workflows
wvenialbo Jan 29, 2025
d411687
chore(ci): Change quotes style
wvenialbo Jan 29, 2025
5964d2a
chore(ci): Add Pylint workflow for code analysis with Bandit
wvenialbo Jan 29, 2025
eb4b3ce
chore(ci): Fix action naming typo
wvenialbo Jan 29, 2025
d699dd3
chore(ci): Add Ruff workflow
wvenialbo Jan 29, 2025
1f1f75c
chore(ci): Add MyPy workflow for type checking
wvenialbo Jan 29, 2025
71eab73
chore(ci): Add PyFlakes workflow for code analysis
wvenialbo Jan 29, 2025
0afe027
chore(ci): Remove Python 3.9 from PyFlakes checks
wvenialbo Jan 29, 2025
c8548a6
chore(ci): Add Python 3.9 to PyFlakes checks
wvenialbo Jan 29, 2025
6565ff7
chore(ci): Remove Python 3.9 from MyPy workflow
wvenialbo Jan 29, 2025
3f39d68
chore(ci): Install types for MyPy in workflow
wvenialbo Jan 29, 2025
4747650
chore(ci): Add run to MyPy workflow
wvenialbo Jan 29, 2025
c0dab9f
chore(ci): Refactor MyPy workflow
wvenialbo Jan 29, 2025
e6cc974
chore(ci): Rename build job to code-linting in Ruff workflow
wvenialbo Jan 29, 2025
a18a837
chore(ci): Rename build job to code-linting in Pylint workflow
wvenialbo Jan 29, 2025
f85e9c8
chore(ci): Rename build job to code-linting in PyFlakes workflow
wvenialbo Jan 29, 2025
8f60717
chore(ci): Add MyPy workflow for type checking
wvenialbo Jan 29, 2025
b137b81
chore(ci): Update MyPy workflow for clearer job naming and reintroduc…
wvenialbo Jan 29, 2025
bbf9307
chore(ci): Add security checking job with Bandit to workflow
wvenialbo Jan 29, 2025
5279681
chore(ci): Remove backup MyPy workflow file
wvenialbo Jan 29, 2025
206ee10
chore(ci): Update MyPy workflow to include boto3-stubs installation
wvenialbo Jan 29, 2025
77ca364
chore(ci): Remove redundant build job from Bandit workflow
wvenialbo Jan 29, 2025
a380de2
chore(ci): Update workflows names and triggers
wvenialbo Jan 29, 2025
3826c89
chore(ci): Add Python linting workflow
wvenialbo Jan 29, 2025
f0eb2f8
chore(scripts): Add PowerShell script for uploading package to PyPI
wvenialbo Jan 29, 2025
2a24293
chore(ci): Add workflow to delete old workflow runs
wvenialbo Jan 29, 2025
765a566
Merge pull request #18 from wvenialbo/support/solve-pylint-issues
wvenialbo Jan 29, 2025
366ac45
Merge pull request #19 from wvenialbo/develop
wvenialbo Jan 29, 2025
f3a046b
chore(ci): Add PyCodeStyle workflow for code format checking
wvenialbo Jan 29, 2025
5fc33b0
chore(ci): Add ISort workflow for import format checking
wvenialbo Jan 29, 2025
7318918
chore(ci): Add Flake8 workflow for code format checking
wvenialbo Jan 29, 2025
c10c6bc
chore(ci): Add Black workflow for code format checking
wvenialbo Jan 29, 2025
1ad3fa5
chore(ci): Add AutoPEP8 workflow for code format checking
wvenialbo Jan 29, 2025
6a1a38f
chore(ci): Add ISort, Black, PyCodeStyle, AutoPEP8, and Flake8 workfl…
wvenialbo Jan 29, 2025
dce9d3b
Merge pull request #20 from wvenialbo/chore/workflows
wvenialbo Jan 29, 2025
32986ea
Merge pull request #21 from wvenialbo/develop
wvenialbo Jan 29, 2025
54e083e
refactor: Update type hints and improve docstring clarity in ProductL…
wvenialbo Jan 29, 2025
f7a1c73
refactor: Update docstring to clarify ValueError exception in GOESPro…
wvenialbo Jan 29, 2025
3e63ff5
refactor: Add ValueError exception raise documentation in GOESProduct…
wvenialbo Jan 29, 2025
50c9a94
refactor: Update variable name and improve ValueError documentation i…
wvenialbo Jan 29, 2025
b8ed486
refactor: Remove unnecessary line breaks in module docstring for clarity
wvenialbo Jan 29, 2025
0b15857
refactor: Remove unnecessary blank line in GOESProductLocatorDMWV cla…
wvenialbo Jan 29, 2025
d58a7c5
refactor: Update docstring to clarify ValueError exception in GOESPro…
wvenialbo Jan 29, 2025
0589526
refactor: Simplify docstrings in DatasourceBase class for clarity
wvenialbo Jan 29, 2025
ea88596
refactor: Simplify docstring formatting in Downloader class
wvenialbo Jan 29, 2025
08007fc
refactor: Correct variable name in AVAILABLE_CHANNELS set comprehensi…
wvenialbo Jan 29, 2025
d3d5d51
refactor(goes-dl): fix linting issues
wvenialbo Jan 29, 2025
80d3a0c
refactor(constants): remove type annotations from DownloadStatus attr…
wvenialbo Jan 29, 2025
5fe3a2d
Merge pull request #22 from wvenialbo/support/flake8-issues
wvenialbo Jan 29, 2025
6f4477b
Merge pull request #23 from wvenialbo/develop
wvenialbo Jan 29, 2025
87bbef4
Merge branch 'develop' into feature/load-local-content
wvenialbo Jan 30, 2025
09b02ce
Merge branch 'feature/load-local-content' of https://github.com/wveni…
wvenialbo Jan 30, 2025
9dd040c
refactor(downloader): remove type annotations
wvenialbo Jan 30, 2025
24df7da
refactor(downloader): change return type
wvenialbo Jan 30, 2025
fb8b8af
chore(goes-dl): Add py.typed file for type hints
wvenialbo Jan 30, 2025
cfcdd32
refactor(file_repository): improve error handling for directory checks
wvenialbo Jan 30, 2025
9237e07
feat(datasource_local): add DatasourceLocal class for handling local …
wvenialbo Jan 30, 2025
3417e6a
feat(datasource): add DatasourceLocal to the public API
wvenialbo Jan 30, 2025
c936ec8
feat(test): add tests for Downloader with DatasourceLocal
wvenialbo Jan 30, 2025
78a595d
Merge pull request #24 from wvenialbo/feature/load-local-content
wvenialbo Jan 30, 2025
647311b
refactor(downloader): remove redundant notes from documentation
wvenialbo Jan 30, 2025
cecc66a
feat(datasource): expose DownloadStatus in the public API
wvenialbo Jan 30, 2025
626f97b
feat(downloader): add FileRepository reference to Downloader class
wvenialbo Jan 30, 2025
cbbb129
refactor(downloader): change variable name
wvenialbo Jan 30, 2025
14b724e
feat(downloader): refactor download_file method to use a private method
wvenialbo Jan 30, 2025
9c33a89
refactor(datasource): change download_file method to return None and …
wvenialbo Jan 30, 2025
cda22b4
refactor(datasource): update download_file method to return None and …
wvenialbo Jan 30, 2025
4daba4a
refactor(datasource): remove _download_file method and associated Dow…
wvenialbo Jan 30, 2025
b81e1bf
refactor(datasource): update download_file method to return bytes ins…
wvenialbo Jan 30, 2025
925bc77
refactor(datasource): remove repository attribute and related initial…
wvenialbo Jan 30, 2025
645d911
refactor(datasource): remove repository attribute from DatasourceBase…
wvenialbo Jan 30, 2025
c6c0df4
refactor(datasource): rename listdir method to list_files for clarity
wvenialbo Jan 30, 2025
4789bf0
refactor(datasource): simplify DatasourceLocal by removing repository…
wvenialbo Jan 30, 2025
1ac8e74
refactor(datasource): rename listdir method to list_files for consist…
wvenialbo Jan 30, 2025
7649a6f
refactor(datasource): rename listdir method to list_files and remove …
wvenialbo Jan 30, 2025
e44c1e0
refactor(datasource_http): add comment to clarify socket error handling
wvenialbo Jan 30, 2025
414ab88
refactor(datasource_http): simplify hostname validation by removing u…
wvenialbo Jan 30, 2025
957ffb9
refactor(datasource_aws): remove repository handling and rename listd…
wvenialbo Jan 30, 2025
b4bafe3
refactor(datasource): remove DatasourceRepository class and associate…
wvenialbo Jan 30, 2025
4c90a1e
refactor(datasource_http): remove private documentation
wvenialbo Jan 30, 2025
3dced3d
refactor(datasource_aws): remove redundant docstrings from methods
wvenialbo Jan 30, 2025
428dd9f
refactor(datasource_aws): update comments to clarify url.join() behav…
wvenialbo Jan 30, 2025
55608ee
refactor(downloader): improve error handling and remove redundant doc…
wvenialbo Jan 30, 2025
0d4f306
refactor(downloader): clarify date format description in docstring
wvenialbo Jan 30, 2025
319d564
refactor(datasource): remove unused DatasourceRepository import
wvenialbo Jan 30, 2025
288458a
refactor(datasource): remove DownloaderRepository and update __all__ …
wvenialbo Jan 30, 2025
8cacf79
refactor(downloader): move DownloadStatus enumeration from datasource…
wvenialbo Jan 30, 2025
2a18705
refactor(downloader): move downloader to base
wvenialbo Jan 30, 2025
2796136
refactor(downloader): inherit from DownloaderBase and simplify initia…
wvenialbo Jan 30, 2025
e4a0ff1
refactor(tests): simplify Downloader initialization in test cases
wvenialbo Jan 30, 2025
882400f
refactor(tests): update repository paths in test_goes3 function
wvenialbo Jan 30, 2025
e12c09e
refactor(downloader): enhance documentation for Downloader initializa…
wvenialbo Jan 30, 2025
a2758e4
refactor(downloader): update type hint for repository parameter in Do…
wvenialbo Jan 30, 2025
2468a9e
refactor(downloader): update type hint for repository parameter to al…
wvenialbo Jan 30, 2025
694caf3
docs: update README to include badges for code quality tools and enha…
wvenialbo Jan 30, 2025
54e9f20
Merge pull request #25 from wvenialbo/support/simplify-datasource
wvenialbo Jan 30, 2025
ddc1c6e
refactor(goes-dl): rename the package directory
wvenialbo Jan 30, 2025
3c14a6c
docs: update README to reflect package name change from GOES_DL to go…
wvenialbo Jan 30, 2025
49b343f
docs: update README to reflect support for fourth-generation GOES sat…
wvenialbo Jan 30, 2025
554ea1e
refactor: update package name from GOES_DL to goesdl in pyproject.toml
wvenialbo Jan 30, 2025
f147162
docs: update docstring to reflect package name change from GOES_DL to…
wvenialbo Jan 30, 2025
2ca6d1e
refactor(test.py): update import statements to reflect package name c…
wvenialbo Jan 30, 2025
8f48520
refactor(toolchain.ps1): update project path to reflect package name …
wvenialbo Jan 30, 2025
f367f67
refactor(test_gridsat_locator_b1.py): update import statement to refl…
wvenialbo Jan 30, 2025
4fa9708
refactor(test_gridsat_product_gc.py): update import statement to refl…
wvenialbo Jan 30, 2025
9d8814c
refactor(test_utils_url.py): update import statement to reflect packa…
wvenialbo Jan 30, 2025
2de76cb
refactor(ci): update check path to reflect package name change to goesdl
wvenialbo Jan 30, 2025
53e3306
refactor(toolchain.ps1): update project path to reflect new directory…
wvenialbo Jan 30, 2025
8ed19cf
refactor(examples): remove Download_GridSat_B1_data.ipynb as it is no…
wvenialbo Jan 30, 2025
f7f466e
feat(examples): add usage examples for downloading GridSat-B1 data
wvenialbo Jan 30, 2025
17d10e2
refactor(examples): remove Download_GridSat_B1_dataset.ipynb as it is…
wvenialbo Jan 30, 2025
43bd4c1
chore: update documentation for clarity and consistency
wvenialbo Jan 30, 2025
88e3fbe
No code changes made
wvenialbo Jan 30, 2025
e88e5c4
docs: enhance README with link to examples directory
wvenialbo Jan 30, 2025
29c82bb
chore(goes-dl): bump version to v0.1-rc4
wvenialbo Jan 30, 2025
37f89d1
Merge pull request #26 from wvenialbo/release/v0.1-rc4
wvenialbo Jan 30, 2025
df1ba66
fix(file_repository): clarify error message for existing directory
wvenialbo Jan 30, 2025
90161d5
Merge branch 'main' into develop
wvenialbo Jan 30, 2025
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
66 changes: 66 additions & 0 deletions .github/workflows/delete-old-workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Delete old workflow runs
on:
workflow_dispatch:
inputs:
days:
description: 'Days-worth of runs to keep for each workflow'
required: true
default: '30'
minimum_runs:
description: 'Minimum runs to keep for each workflow'
required: true
default: '6'
delete_workflow_pattern:
description: 'Name or filename of the workflow (if not set, all workflows are targeted)'
required: false
delete_workflow_by_state_pattern:
description: 'Filter workflows by state: active, deleted, disabled_fork, disabled_inactivity, disabled_manually'
required: true
default: "ALL"
type: choice
options:
- "ALL"
- active
- deleted
- disabled_inactivity
- disabled_manually
delete_run_by_conclusion_pattern:
description: 'Remove runs based on conclusion: action_required, cancelled, failure, skipped, success'
required: true
default: "ALL"
type: choice
options:
- "ALL"
- "Unsuccessful: action_required,cancelled,failure,skipped"
- action_required
- cancelled
- failure
- skipped
- success
dry_run:
description: 'Logs simulated changes, no deletions are performed'
required: false

jobs:
del_runs:
runs-on: ubuntu-latest
permissions:
actions: write
contents: read
steps:
- name: Delete workflow runs
uses: Mattraks/delete-workflow-runs@v2
with:
token: ${{ github.token }}
repository: ${{ github.repository }}
retain_days: ${{ github.event.inputs.days }}
keep_minimum_runs: ${{ github.event.inputs.minimum_runs }}
delete_workflow_pattern: ${{ github.event.inputs.delete_workflow_pattern }}
delete_workflow_by_state_pattern: ${{ github.event.inputs.delete_workflow_by_state_pattern }}
delete_run_by_conclusion_pattern: >-
${{
startsWith(github.event.inputs.delete_run_by_conclusion_pattern, 'Unsuccessful:')
&& 'action_required,cancelled,failure,skipped'
|| github.event.inputs.delete_run_by_conclusion_pattern
}}
dry_run: ${{ github.event.inputs.dry_run }}
25 changes: 25 additions & 0 deletions .github/workflows/python-autopep.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: AutoPEP

on: [workflow_dispatch]

jobs:
autopep:
name: Code format checking with AutoPEP8
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade autopep8
pip install -r requirements.txt
- name: Analysing the code with autopep8
run: |
autopep8 "./src/goesdl" --recursive --jobs 0 --diff --aggressive
25 changes: 25 additions & 0 deletions .github/workflows/python-bandit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Bandit

on: [workflow_dispatch]

jobs:
bandit:
name: Security checking with Bandit
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade bandit
pip install -r requirements.txt
- name: Analysing the code with bandit
run: |
bandit "./src/goesdl" --recursive
25 changes: 25 additions & 0 deletions .github/workflows/python-black.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Black

on: [workflow_dispatch]

jobs:
black:
name: Code format checking with Black
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade black
pip install -r requirements.txt
- name: Analysing the code with black
run: |
black "./src/goesdl" --check
25 changes: 25 additions & 0 deletions .github/workflows/python-docsig.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: DocSig

on: [workflow_dispatch]

jobs:
docsig:
name: Document method signature checking with DocSig
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade docsig
pip install -r requirements.txt
- name: Analysing the code with docsig
run: |
docsig "./src/goesdl"
32 changes: 32 additions & 0 deletions .github/workflows/python-flake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Flake8

on: [workflow_dispatch]

jobs:
flake:
name: Linting and style checking with Flake8
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade flake8
pip install --upgrade pep8-naming
pip install --upgrade flake8-bugbear
pip install --upgrade flake8-pyproject
pip install --upgrade flake8-builtins
pip install --upgrade flake8-annotations
pip install --upgrade flake8-comprehensions
pip install --upgrade darglint2
pip install -r requirements.txt
- name: Analysing the code with flake8
run: |
flake8 "./src/goesdl"
25 changes: 25 additions & 0 deletions .github/workflows/python-isort.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: ISort

on: [workflow_dispatch]

jobs:
isort:
name: Import format checking with ISort
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade isort
pip install -r requirements.txt
- name: Analysing the code with isort
run: |
isort "./src/goesdl" --check --diff
Loading