Skip to content

Commit

Permalink
Use pyproject.toml and src root dir (#9)
Browse files Browse the repository at this point in the history
* Use pyproject.toml and src root dir
  • Loading branch information
sandorkertesz authored May 8, 2024
1 parent 2b92aca commit bd15815
Show file tree
Hide file tree
Showing 9 changed files with 52 additions and 54 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/legacy-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
- name: Install Conda environment with Micromamba
uses: mamba-org/provision-with-micromamba@v12
with:
environment-file: environment.yml
environment-file: tests/environment-unit-tests.yml
environment-name: DEVELOP
channels: conda-forge
cache-env: true
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# setuptools-scm
version.py
_version.py

# Sphinx automatic generation of API
docs/_api/
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
autodoc_typehints = "none"

# autoapi configuration
autoapi_dirs = ["../earthkit/geo"]
autoapi_dirs = ["../src/earthkit/geo"]
autoapi_ignore = ["*/version.py", "sphinxext/*"]
autoapi_options = [
"members",
Expand Down
55 changes: 47 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,58 @@
[build-system]
requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2"]
requires = ["setuptools>=61", "setuptools-scm>=8.0"]

[project]
authors = [
{name = "European Centre for Medium-Range Weather Forecasts (ECMWF)", email = "[email protected]"}
]
classifiers = [
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Operating System :: OS Independent"
]
dependencies = [
"scipy"
]
description = "Geospatial computations"
dynamic = ["version"]
license = {text = "Apache License Version 2.0"}
name = "earthkit-geo"
readme = "README.md"
requires-python = ">= 3.8"

[project.optional-dependencies]
test = [
"pytest",
"pytest-cov"
]

[project.urls]
Documentation = "https://earthkit-geo.readthedocs.io/"
Homepage = "https://github.com/ecmwf/earthkit-geo/"
Issues = "https://github.com/ecmwf/earthkit-geo.issues"
Repository = "https://github.com/ecmwf/earthkit-geo/"

[tool.coverage.run]
branch = true
branch = "true"

[tool.isort]
profile = "black"

[tool.pydocstyle]
add_ignore = ["D1", "D200", "D205", "D400", "D401", "D403"]
add_ignore = ["D1", "D200", "D205", "D400", "D401"]
convention = "numpy"

[tool.setuptools.packages.find]
include = ["earthkit.geo"]
where = ["src/"]

[tool.setuptools_scm]
write_to = "earthkit/geo/version.py"
write_to_template = '''
# Do not change! Do not track in version control!
__version__ = "{version}"
'''
version_file = "src/earthkit/geo/_version.py"
42 changes: 0 additions & 42 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,45 +1,3 @@
[metadata]
name = earthkit-geo
license = Apache License 2.0
description = A format-agnostic Python interface for geospatial data
classifiers =
Development Status :: 2 - Pre-Alpha
Intended Audience :: Science/Research
License :: OSI Approved :: Apache Software License
Operating System :: OS Independent
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Topic :: Scientific/Engineering
long_description_content_type=text/markdown
long_description = file: README.md
test_suite = tests

[options]
packages = find_namespace:
install_requires =
scipy
include_package_data = True

[options.packages.find]
include = earthkit.*

[options.extras_require]
test =
pytest
pytest-cov
pytest-forked
pytest-timeout
nbformat
nbconvert

[flake8]
max-line-length = 110
extend-ignore = E203, W503

[mypy]
strict = False
ignore_missing_imports = True
2 changes: 1 addition & 1 deletion earthkit/geo/__init__.py → src/earthkit/geo/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
try:
# NOTE: the `version.py` file must not be present in the git repository
# as it is generated by setuptools at install time
from .version import __version__
from ._version import __version__
except ImportError: # pragma: no cover
# Local copy or not installed with setuptools
__version__ = "999"
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion earthkit/geo/distance.py → src/earthkit/geo/distance.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ def _arclength_to_chordlength(arc_length):

class GeoKDTree:
def __init__(self, lats, lons):
"""KDTree built from ``lats`` and ``lons``."""
"""Build a KDTree from ``lats`` and ``lons``."""
from scipy.spatial import KDTree

lats = np.asarray(lats).flatten()
Expand Down
File renamed without changes.

0 comments on commit bd15815

Please sign in to comment.