uw-ssec / MAWpy

Mobility Analysis Workflow in Python
https://mawpy.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
1 stars 3 forks source link

build: add toml file and code refactor as python package (first pass) #2

Closed anujsinha3 closed 1 month ago

anujsinha3 commented 1 month ago

1

General:

• Detected build backend: hatchling.build

├── PY001 Has a pyproject.toml ✅ ├── PY002 Has a README.(md|rst) file ✅ ├── PY003 Has a LICENSE* file ✅ ├── PY004 Has docs folder ✅ ├── PY005 Has tests folder ✅ ├── PY006 Has pre-commit config ✅ └── PY007 Supports an easy task runner (nox or tox) ✅

PyProject: ├── PP002 Has a proper build-system table ✅ ├── PP003 Does not list wheel as a build-dep ✅ ├── PP301 Has pytest in pyproject ❌ │ Must have a [tool.pytest.ini_options] configuration section in pyproject.toml. If you must have it somewhere else (such as to support pytest<6), ignore this check.
├── PP302 Sets a minimum pytest to at least 6 [skipped] ├── PP303 Sets the test paths [skipped] ├── PP304 Sets the log level in pytest [skipped] ├── PP305 Specifies xfail_strict [skipped] ├── PP306 Specifies strict config [skipped] ├── PP307 Specifies strict markers [skipped] ├── PP308 Specifies useful pytest summary [skipped] └── PP309 Filter warnings specified [skipped]

GitHub Actions: ├── GH100 Has GitHub Actions config ❌ │ All projects should have GitHub Actions config for this series of checks. If there are no .yml files in .github/workflows, the remaining checks will be skipped.
├── GH101 Has nice names [skipped] ├── GH102 Auto-cancel on repeated PRs [skipped] ├── GH103 At least one workflow with manual dispatch trigger [skipped] ├── GH104 Use unique names for upload-artifact [skipped] ├── GH200 Maintained by Dependabot [skipped] ├── GH210 Maintains the GitHub action versions with Dependabot [skipped] ├── GH211 Do not pin core actions as major versions [skipped] └── GH212 Require GHA update grouping [skipped]

Pre-commit: ├── PC100 Has pre-commit-hooks ✅ ├── PC110 Uses black or ruff-format ✅ ├── PC111 Uses blacken-docs ✅ ├── PC140 Uses mypy ❌ │ Must have https://github.com/pre-commit/mirrors-mypy repo in .pre-commit-config.yaml
├── PC160 Uses codespell ✅ ├── PC170 Uses PyGrep hooks (only needed if RST present) ✅ ├── PC180 Uses prettier ✅ ├── PC190 Uses Ruff ✅ ├── PC191 Ruff show fixes if fixes enabled ✅ └── PC901 Custom pre-commit CI message ✅

MyPy: ├── MY100 Uses MyPy (pyproject config) ❌ │ Must have tool.mypy section in pyproject.toml. Other forms of configuration are not supported by this check.
├── MY101 MyPy strict mode [skipped] ├── MY102 MyPy show_error_codes deprecated [skipped] ├── MY103 MyPy warn unreachable [skipped] ├── MY104 MyPy enables ignore-without-code [skipped] ├── MY105 MyPy enables redundant-expr [skipped] └── MY106 MyPy enables truthy-bool [skipped]

Ruff: ├── RF001 Has Ruff config ❌ │ Must have [tool.ruff] section in pyproject.toml or ruff.toml/.ruff.toml.
├── RF002 Target version must be set [skipped] ├── RF003 src directory specified if used [skipped] ├── RF101 Bugbear must be selected [skipped] ├── RF102 isort must be selected [skipped] ├── RF103 pyupgrade must be selected [skipped] ├── RF201 Avoid using deprecated config settings [skipped] └── RF202 Use (new) lint config section [skipped]

Documentation: ├── RTD100 Uses ReadTheDocs (pyproject config) ❌ │ Should have a .readthedocs.yaml file in the root of the repository. Modern ReadTheDocs requires (or will require soon) this file.
├── RTD101 You have to set the RTD version number to 2 [skipped] ├── RTD102 You have to set the RTD build image [skipped] └── RTD103 You have to set the RTD python version [skipped]