Skip to content

Commit 0d7442e

Browse files
committed
Bump version to 0.5.1, add CHANGELOG.md
1 parent 180e7b0 commit 0d7442e

3 files changed

Lines changed: 54 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Changelog
2+
3+
## v0.5.1
4+
5+
### New features
6+
7+
- **Projects module** (`ds.projects`): list, inspect, and access files in DesignSafe projects
8+
- `ds.projects.list()`: returns a DataFrame of all projects you have access to
9+
- `ds.projects.get("PRJ-XXXX")`: get full project metadata (title, PI, DOIs, keywords, team, systemId)
10+
- `ds.projects.files("PRJ-XXXX")`: list files in a project as a DataFrame
11+
- PRJ number to Tapis UUID resolution via DesignSafe portal API (`/api/projects/v2/`)
12+
- **NHERI-Published and NEES storage support**: `ds.files.to_uri()` and `ds.files.to_path()` now handle `/NHERI-Published/` (`designsafe.storage.published`) and `/NEES/` (`nees.public`) paths
13+
- **`ds.jobs.job(uuid)`**: get a `SubmittedJob` object for an existing job by UUID
14+
15+
### Fixes
16+
17+
- Fix `ds.files.list()` failing on root paths (e.g., `tapis://designsafe.storage.community/`) where the parsed path was empty
18+
- Fix project PRJ resolution: replaced broken Tapis system description search with DesignSafe portal API lookup
19+
20+
### Documentation
21+
22+
- New `docs/projects.md` with full API reference and "How it works" section
23+
- Updated `docs/files.md` with NHERI-Published and NEES path formats
24+
- Added development section to `docs/installation.md` (dev branch install, editable install, pre-commit hook, running tests)
25+
26+
### Developer experience
27+
28+
- Added `scripts/pre-commit` hook: auto-formats with `ruff format` and blocks commits failing `ruff check`
29+
- Added `examples/files.ipynb` and `examples/projects.ipynb`
30+
31+
## v0.5.0
32+
33+
### New features
34+
35+
- **PyLauncher parameter sweeps** (`ds.jobs.parametric_sweep`): generate and submit parameter sweeps
36+
- `ds.jobs.parametric_sweep.generate()`: generate `runsList.txt` and `call_pylauncher.py`, or preview as DataFrame
37+
- `ds.jobs.parametric_sweep.submit()`: submit sweep jobs to TACC
38+
- **`ds.jobs.list()`**: list jobs with optional filtering by app_id and status, returns DataFrame by default
39+
- **Auto-TMS credentials**: `DSClient()` automatically sets up TMS credentials on TACC execution systems at init
40+
- **Ruff**: switched from black to ruff for formatting and linting
41+
42+
### API changes
43+
44+
- Renamed methods for brevity: `ds.jobs.generate()` (was `generate_job_info`), `ds.jobs.submit()` (was `submit_job`)
45+
- `ds.jobs.list()` supports `output="df"` (default), `"list"`, or `"raw"`
46+
- Added `ds.files.to_uri()` and `ds.files.to_path()` for path translation
47+
48+
### Infrastructure
49+
50+
- Migrated from Poetry to uv + hatchling
51+
- Migrated docs from mkdocs to Jupyter Book v2 (MyST)
52+
- Added TMS credential management (`ds.systems.establish_credentials()`, `check_credentials()`, `revoke_credentials()`)

dapi/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
TAPIS_TERMINAL_STATES,
5050
)
5151

52-
__version__ = "0.5.0"
52+
__version__ = "0.5.1"
5353

5454
__all__ = [
5555
"DSClient",

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "dapi"
3-
version = "0.5.0"
3+
version = "0.5.1"
44
description = "DesignSafe API"
55
readme = "README.md"
66
license = "MIT"

0 commit comments

Comments
 (0)