-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into mcflugen/update-templates
- Loading branch information
Showing
32 changed files
with
769 additions
and
151 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: Test CLI | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
test-cli: | ||
# We want to run on external PRs, but not on our own internal PRs as they'll be run | ||
# by the push to the branch. Without this if check, checks are duplicated since | ||
# internal PRs match both the push and pull_request events. | ||
if: | ||
github.event_name == 'push' || github.event.pull_request.head.repo.full_name != | ||
github.repository | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
defaults: | ||
run: | ||
shell: bash -l {0} | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, macos-latest] | ||
python-version: ["3.10", "3.11", "3.12"] | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
- 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 nox tomli | ||
|
||
- name: Run the tests | ||
run: nox --session test test-cli --python ${{ matrix.python-version }} --verbose | ||
|
||
- name: Coveralls | ||
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.9' | ||
uses: AndreMiras/coveralls-python-action@v20201129 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
"""The *babelizer*.""" | ||
|
||
from ._version import __version__ | ||
|
||
__all__ = ["__version__"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,20 @@ | ||
"""The command line interface to the babelizer.""" | ||
|
||
import fnmatch | ||
import os | ||
import pathlib | ||
import sys | ||
import tempfile | ||
from functools import partial | ||
|
||
import click | ||
import git | ||
import pkg_resources | ||
|
||
if sys.version_info >= (3, 12): # pragma: no cover (PY12+) | ||
import importlib.resources as importlib_resources | ||
else: # pragma: no cover (<PY312) | ||
import importlib_resources | ||
|
||
|
||
from .errors import OutputDirExistsError, ScanError, SetupPyError, ValidationError | ||
from .metadata import BabelMetadata | ||
|
@@ -70,7 +77,7 @@ def init(meta, template, quiet, verbose, package_version): | |
META is babelizer configuration information, usually saved to a file. | ||
""" | ||
output = pathlib.Path(".") | ||
template = template or pkg_resources.resource_filename("babelizer", "data") | ||
template = template or str(importlib_resources.files("babelizer") / "data") | ||
|
||
if not quiet: | ||
out(f"reading template from {template}") | ||
|
@@ -138,7 +145,7 @@ def update(template, quiet, verbose): | |
err("this does not appear to be a babelized folder (missing 'babel.yaml')") | ||
raise click.Abort() | ||
|
||
template = template or pkg_resources.resource_filename("babelizer", "data") | ||
template = template or str(importlib_resources.files("babelizer") / "data") | ||
|
||
if not quiet: | ||
out(f"reading template from {template}") | ||
|
@@ -332,7 +339,7 @@ def ask_until_done(text): | |
"package_author_email": email | ||
or ask("Babelizing author email", default="[email protected]"), | ||
"package_license": license | ||
or ask("License to use for the babelized project", default="MIT"), | ||
or ask("License to use for the babelized project", default="MIT License"), | ||
"summary": summary | ||
or ask("Brief description of what the library does", default=""), | ||
} | ||
|
@@ -359,9 +366,7 @@ def ask_until_done(text): | |
} | ||
|
||
libraries = {} | ||
if (not prompt) or any( | ||
[x is not None for x in (name, library, header, entry_point)] | ||
): | ||
if (not prompt) or any(x is not None for x in (name, library, header, entry_point)): | ||
babelized_class = name or ask("Name of babelized class", default="<name>") | ||
libraries[babelized_class] = { | ||
"language": language, | ||
|
@@ -385,11 +390,13 @@ def ask_until_done(text): | |
libraries[babelized_class] = { | ||
"language": language, | ||
"library": ask(f"[{babelized_class}] Name of library to babelize"), | ||
"header": ask( | ||
f"[{babelized_class}] Name of header file containing BMI class " | ||
) | ||
if language != "python" | ||
else "__UNUSED__", | ||
"header": ( | ||
ask( | ||
f"[{babelized_class}] Name of header file containing BMI class " | ||
) | ||
if language != "python" | ||
else "__UNUSED__" | ||
), | ||
"entry_point": ask(f"[{babelized_class}] Name of BMI class "), | ||
} | ||
if not yes("Add another library?", default=False): | ||
|
3 changes: 1 addition & 2 deletions
3
babelizer/data/{{cookiecutter.package_name}}/{{cookiecutter.package_name}}/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
"""Utility functions used by the babelizer.""" | ||
|
||
import pathlib | ||
import subprocess | ||
import sys | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
[library.HeatModel] | ||
language = "fortran" | ||
library = "bmiheatf" | ||
header = "" | ||
entry_point = "bmi_heat" | ||
|
||
[build] | ||
undef_macros = [] | ||
define_macros = [] | ||
libraries = [] | ||
library_dirs = [] | ||
include_dirs = [] | ||
extra_compile_args = [] | ||
|
||
[package] | ||
name = "pymt_heatf" | ||
requirements = [""] | ||
|
||
[info] | ||
github_username = "pymt-lab" | ||
package_author = "csdms" | ||
package_author_email = "[email protected]" | ||
package_license = "MIT License" | ||
summary = "PyMT plugin for the Fortran heat model" | ||
|
||
[ci] | ||
python_version = ["3.9"] | ||
os = ["linux", "mac", "windows"] |
Oops, something went wrong.