Skip to content

Commit 024b357

Browse files
committed
Refactor code structure for improved readability and maintainability
1 parent 7f143b5 commit 024b357

File tree

10 files changed

+59
-2326
lines changed

10 files changed

+59
-2326
lines changed

.github/workflows/docs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ jobs:
1616
with:
1717
fetch-depth: 0
1818

19-
- name: Set up Python 3.11
19+
- name: Set up Python 3.13
2020
uses: actions/setup-python@v5
2121
with:
22-
python-version: "3.11"
22+
python-version: "3.13"
2323

2424
- name: Install Miniconda
2525
uses: conda-incubator/setup-miniconda@v3
2626
with:
2727
auto-update-conda: true
28-
python-version: "3.11"
28+
python-version: "3.13"
2929
channels: conda-forge,cadwr-dms,nodefaults
3030
channel-priority: strict
3131

.github/workflows/python-package-conda.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ jobs:
1212
- uses: actions/checkout@v4
1313
with:
1414
fetch-depth: 0
15-
- name: Set up Python 3.11
15+
- name: Set up Python 3.13
1616
uses: actions/setup-python@v4
1717
with:
18-
python-version: 3.11
18+
python-version: 3.13
1919
- name: Add conda to system path
2020
run: |
2121
# $CONDA is an environment variable pointing to the root of the miniconda directory
@@ -24,7 +24,7 @@ jobs:
2424
env:
2525
ANACONDA_CHANNEL_UPLOAD_TOKEN: ${{ secrets.ANACONDA_CHANNEL_UPLOAD_TOKEN }}
2626
run: |
27-
conda create -n test_pydsm -y conda-build conda-verify numpy anaconda-client
27+
conda create -n test_pydsm -y conda-build conda-verify numpy anaconda-client setuptools_scm
2828
source $CONDA/etc/profile.d/conda.sh
2929
conda activate test_pydsm
3030
conda config --set anaconda_upload yes

HISTORY.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,26 @@
22
History
33
=======
44

5+
Unreleased (since 2025.07.29)
6+
------------------------------
7+
* Massive refactor: reorganised package into ``pydsm.input``, ``pydsm.output``,
8+
``pydsm.analysis``, and ``pydsm.viz`` sub-packages
9+
* Replaced stale ``.pkl`` test fixtures with Parquet files (via pyarrow);
10+
added ``--regen-fixtures`` pytest option
11+
* Added ``pydsm.input.xsection`` module for adjusting channel cross-section
12+
properties (bottom elevation, wetted perimeter, width)
13+
* Added ``pydsm.output.create_gtm_restart`` for GTM restart file creation
14+
* Enhanced ``csv_to_dss`` CLI command with additional options
15+
* Parser: deterministic dtype handling; postprocessor error-handling improvements
16+
* Added ``README.md`` (converted from RST), ``README-dev.md`` developer guide
17+
* Added GitHub Actions workflow for building and deploying Sphinx docs to
18+
``gh-pages``; docs now use nbsphinx with pre-executed notebooks
19+
* Updated ``environment.yml`` (core + viz), ``environment_dev.yml``
20+
(core + viz + test), ``environment-docs.yml`` (full) to align with
21+
``pyproject.toml`` optional-dependency groups
22+
* Added ``myst-parser`` support so Sphinx can include Markdown source files
23+
* Fixed pandas 2.x / numpy 2.x compatibility in notebooks and test fixtures
24+
525
2021.12.13
626
----------
727
Added major functionality for hydro and qual .h5 reading

README.md

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -47,21 +47,3 @@ pip install "pydsm[dev]" # test + docs tools
4747
```
4848

4949
---
50-
51-
## Known Issues
52-
53-
`conda install h5py` lacks szip/zlib support
54-
([upstream issue](https://github.com/ContinuumIO/anaconda-issues/issues/11382)).
55-
Workaround:
56-
57-
```bash
58-
conda uninstall h5py
59-
pip install h5py
60-
```
61-
62-
---
63-
64-
## Credits
65-
66-
This package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter)
67-
and the [audreyr/cookiecutter-pypackage](https://github.com/audreyr/cookiecutter-pypackage) project template.

conda.recipe/meta.yaml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ build:
1616
script_env:
1717
- SETUPTOOLS_SCM_PRETEND_VERSION
1818
script: {{ PYTHON }} -m pip install --no-build-isolation --no-deps --ignore-installed -vv .
19-
noarch: python
20-
number: 0
2119
entry_points:
2220
{% for name, reference in project['scripts'].items() %}
2321
- {{ name }} = {{ reference }}
@@ -42,11 +40,9 @@ requirements:
4240
source_files:
4341
- tests
4442
requires:
45-
- pytest
46-
- pytest-cov
47-
{% for dep in project.get("optional-dependencies", {}).get('test', []) %}
48-
- {{ dep.lower() }}
49-
{% endfor %}
43+
{% for dep in project.get("optional-dependencies", {}).get('test', []) %}
44+
- {{ dep.lower() }}
45+
{% endfor %}
5046
commands:
5147
- (setlocal && cd tests && pytest && endlocal) # [win]
5248
- (cd tests; pytest) # [unix]

environment-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ channels:
1313
- cadwr-dms
1414
- nodefaults
1515
dependencies:
16-
- python=3.11
16+
- python=3.13
1717
- pip
1818
# --- core runtime (mirrors pyproject.toml [project.dependencies]) ---
1919
- click

pyproject.toml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
55
[project]
66
name = "pydsm"
77
description = "For loading data from DSM2 hdf5 files into pandas DataFrame"
8-
readme = "README.rst"
8+
readme = "README.md"
99
authors = [
1010
{name = "Nicky Sandhu", email = "psandhu@water.ca.gov"},
1111
]
@@ -89,4 +89,32 @@ dev = [
8989
"coverage",
9090
"twine",
9191
"setuptools_scm>=6.2",
92+
"towncrier",
9293
]
94+
95+
[tool.towncrier]
96+
filename = "HISTORY.rst"
97+
directory = "changelog.d"
98+
title_format = "{version} ({project_date})"
99+
issue_format = "`#{issue} <https://github.com/CADWRDeltaModeling/pydsm/issues/{issue}>`_"
100+
underlines = ["-", "~", "^"]
101+
102+
[[tool.towncrier.type]]
103+
directory = "feat"
104+
name = "New Features"
105+
showcontent = true
106+
107+
[[tool.towncrier.type]]
108+
directory = "fix"
109+
name = "Bug Fixes"
110+
showcontent = true
111+
112+
[[tool.towncrier.type]]
113+
directory = "docs"
114+
name = "Documentation"
115+
showcontent = true
116+
117+
[[tool.towncrier.type]]
118+
directory = "misc"
119+
name = "Miscellaneous"
120+
showcontent = true

requirements_dev.txt

Lines changed: 0 additions & 12 deletions
This file was deleted.

setup_dev.bat

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)