Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
86e1642
Init structure and basic tools
f-PLT Apr 26, 2024
ce03a5a
Set CI to push and pull requests
f-PLT Apr 26, 2024
7dc6202
Add quotes to python version in CI
f-PLT Apr 26, 2024
525ea08
Rename job to Pylint
f-PLT Apr 26, 2024
2802e75
Rename step in precommit CI
f-PLT Apr 26, 2024
8a509e8
Update README.md
f-PLT Apr 26, 2024
27bba3c
Add some more utilities to Makefile
f-PLT May 1, 2024
ac52a5c
Update README.md and CONTRIBUTING.md
f-PLT May 1, 2024
10d223f
Fix typo
f-PLT May 1, 2024
a0eb2b1
Update CI
f-PLT May 1, 2024
af0ec50
Update Makefile linting targets
f-PLT May 1, 2024
d392e81
Add `flake8-pyproject`
f-PLT May 1, 2024
1ed0a84
Isolate base makefile functions
f-PLT May 8, 2024
8fcb667
Update CHANGES.md
f-PLT May 8, 2024
974a2e7
Update tox configs
f-PLT May 8, 2024
e0426f9
Add email for bug report of Makefile
f-PLT May 8, 2024
5910602
Remove unnecessary config (configured by pyproject.toml
f-PLT May 10, 2024
39f9499
Formatting and typos
f-PLT May 10, 2024
d6ee7d1
Fix bugs and add separate targets for Poetry installation
f-PLT May 10, 2024
6d4210e
Update image for README.md
f-PLT May 13, 2024
076b805
Better UX for Poetry targets + Documentation update
f-PLT May 13, 2024
2b6fa4c
Update README.md
f-PLT May 13, 2024
5b59b42
Small refactor Makefile
f-PLT May 13, 2024
64cb1be
Update message in conda-poetry-install target
f-PLT May 14, 2024
d638afb
Fix typos
f-PLT May 15, 2024
22decf2
Update CONTRIBUTING.md
f-PLT May 15, 2024
f4a6f1d
Fix attempt for conda environment problems
f-PLT May 17, 2024
cdfd467
Add back `y` flag for poetry install
f-PLT May 22, 2024
2ed9ba2
Fix typos and refactor for pipx cluster use
f-PLT May 22, 2024
97e9e9b
Add virtual environment option for pipx installation
f-PLT May 22, 2024
8396ac2
Update README.md
f-PLT May 22, 2024
f7aa168
Update and improve README.md and makefile text output for pipx
f-PLT May 22, 2024
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
36 changes: 36 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Lint

on: [pull_request, push]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
Pylint:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'

- name: Install Poetry
run: |
pip install poetry

- name: Configure Poetry
run: |
poetry config virtualenvs.create false

- name: Install dependencies
run: |
make install

- name: Run linting checks
run: |
make check-pylint
36 changes: 36 additions & 0 deletions .github/workflows/precommit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Pre-commit

on: [pull_request, push]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
Pre-commit:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'

- name: Install Poetry
run: |
pip install poetry

- name: Configure Poetry
run: |
poetry config virtualenvs.create false

- name: Install dependencies
run: |
make install

- name: Run Pre-commit checks
run: |
make precommit
173 changes: 173 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
.idea/

# VsCode
.vscode/

# Project data folder and data in general
data/*
!data/README.md
**/*.nc
**/*.tif

# Makefile and configurations
Makefile.private
scripts/config.sh
Loading