diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000..17216d5cc3 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,79 @@ +[build-system] +requires = ["setuptools>=61.0", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "global-workflow" +version = "0.1.0" +description = "NOAA Global Workflow Python Infrastructure" +readme = "README.md" +requires-python = "~=3.11" +authors = [ + { name = "Barry Baker" } +] +license = { text = "BSD-3-Clause" } +classifiers = [ + "Programming Language :: Python :: 3", + "Operating System :: OS Independent", +] +dependencies = [ + "certifi", + "cftime", + "click", + "f90nml", + "jcb @ git+https://github.com/noaa-emc/jcb.git@0.1.0", + "Jinja2", + "MarkupSafe", + "netCDF4", + "numpy", + "pandas", + "PyYAML", + "xarray", + "wxflow @ git+https://github.com/noaa-emc/wxflow.git@v0.4.0", +] + +[project.optional-dependencies] +gcafs = [ + # GCAFS Specific dependencies if any are identified later +] +globus = [ + "globus-cli", +] +gfs = [ + # GFS specific dependencies if any are identified later +] +gefs = [ + # GEFS specific dependencies if any are identified later +] +sfs = [ + # SFS specific dependencies if any are identified later +] +testing = [ + "pytest", + "pytest-cov", + "pycodestyle", +] +docs = [ + "sphinx", + "sphinx-rtd-theme", + "sphinxcontrib-bibtex", + "sphinx-autobuild", + "sphinx-copybutton", +] +deployment = [ + "pip-tools" +] +all = [ + "global-workflow[gcafs,globus,gfs,gefs,sfs,testing,docs,deployment]", +] + +[tool.setuptools] +package-dir = {"" = "ush/python"} + +[tool.setuptools.packages.find] +where = ["ush/python"] +include = ["pygfs*", "jcb*", "ufsda*", "soca*", "pyiodaconv*", "gsincdiag_to_ioda*"] + +[tool.pytest.ini_options] +testpaths = ["dev/test", "dev/ctests"] +python_files = "*.py" diff --git a/versions/requirements_gcafs.txt b/versions/requirements_gcafs.txt index e7fb328035..1f26cc99f8 100644 --- a/versions/requirements_gcafs.txt +++ b/versions/requirements_gcafs.txt @@ -2,16 +2,15 @@ certifi==2026.2.25 cftime==1.6.5 click==8.3.1 f90nml==1.5.0 -jcb==0.1.0 -Jinja2==3.1.6 -MarkupSafe==3.0.3 -netCDF4==1.7.4 +jcb @ git+https://github.com/noaa-emc/jcb.git@0.1.0 +jinja2==3.1.6 +markupsafe==3.0.3 +netcdf4==1.7.4 numpy==2.4.2 packaging==26.0 pandas==3.0.1 -pycodestyle==2.14.0 python-dateutil==2.9.0.post0 -PyYAML==6.0.3 +pyyaml==6.0.3 six==1.17.0 -wxflow==0.3.0 -xarray==2026.2.0 \ No newline at end of file +wxflow @ git+https://github.com/noaa-emc/wxflow.git@v0.4.0 +xarray==2026.2.0