sources.md
206 lines · skills/dnanexus-integration/references/sources.md at 5f2bc03
Most marks come from matching words in the file, so treat them as pointers.
Sources and Version Baseline
Raw lines 1 to 2Verification
Last verified: 2026-09-30
| Component | Verified baseline |
|---|---|
| DNAnexus Platform docs | 2026 documentation and release notes through 2026-09-22 |
| dx-toolkit / dxpy | 0.415.0, released 2026-09-22 |
| Python requirement | Python 3.8+ on PyPI |
| App Execution Environment | Ubuntu 24.04 and 20.04, version 0 |
| dxCompiler | 2.18.0 (released 2026-08-05) |
| Upload Agent | 1.5.33 |
| Download Agent | 0.6.4 |
| dxFUSE | 1.6.1 |
| Nextaur | 1.16.0 (toolkit release notes) |
| Nextflow engines exposed by dx-toolkit 0.415.0 | 25.10 and 24.10 |
| Nextflow 25.10 asset baseline | Nextflow 25.10.4 with nf-amazon 3.4.4 |
The dxpy symbols/signatures, CLI help, and bundled offline helpers were executed locally against the pinned SDK. Platform contracts and the remaining release versions were reviewed in current official documentation/source. Transfers, builds, launches, and compiler/Nextflow execution examples are illustrative; no authenticated or billable end-to-end run was performed. The current dxCompiler release is established by its tagged release, because the develop changelog still labels the 0.6.4 download-agent change as unreleased.
Version-specific examples in this skill are pinned for reproducibility. Before upgrading, inspect release notes, run scripts/inspect_dxpy.py, and rebuild/test apps in a non-production project.
Documentation Index and Releases
- [DNAnexus documentation index (
llms.txt)](https://documentation.dnanexus.com/llms.txt) - DNAnexus 2026 release notes
- Downloads
- [Index of
dxcommands](https://documentation.dnanexus.com/user/helpstrings-of-sdk-command-line-utilities.md) - dx-toolkit GitHub repository
- dx-toolkit changelog
- dxpy on PyPI
- Generated Python API reference
The release notes are date-versioned by platform deployment. The skill baseline incorporates:
- 2026-09-22: dx-toolkit 415.0 Nextflow offline mode
- 2026-09-15: CLI login default expiration aligned to 18 hours
- 2026-08-18: normal login sessions shortened to two hours idle, 18 hours absolute
- 2026-08-11: user API tokens blocked for UKB RAP; dxCompiler 2.18.0 / dxda 0.6.4
- 2026-08-04: rebuild Nextflow applets to pick up upload-recovery fixes
- 2026-07-21: dx-toolkit 410.0 malicious-file download warning
- 2026-07-14: strengthened session/password controls
- 2026-06-23: dxCompiler 2.17.0 authenticated WDL imports
- 2026-06-09: file download API
securityStatus - 2026-05-19: dxCompiler resource-retry support
- 2026-03-17: automatic upgrade on insufficient-resource retry
- 2026-02-03: retired instance type validation
- 2026-01-27: dynamic instance type selection
Authentication
- Login and Logout
- Environment Variables
- dx-toolkit environment bootstrap
- API Authentication
- API Protocols and Errors
Key current points:
- Environment variables override saved CLI configuration.
dx envdisplays token material.- Tokens without explicit expiry default to one month.
- Token revocation terminates associated active jobs/transfers.
- New normal-policy login sessions expire after two hours idle and at most 18 hours after issuance; org policies may be stricter.
- User API tokens can be scoped to selected projects and access levels.
- User-generated API tokens cannot access UKB RAP resources.
Apps and Applets
- Introduction to Building Apps
- Developer Quickstart
- [App Metadata (
dxapp.json)](https://documentation.dnanexus.com/developer/apps/app-metadata.md) - I/O and Run Specifications
- App Execution Environment
- Apps API
- Applets, Jobs, and Entry Points API
- App Permissions
- Types of Errors
- Developing Apps and Applets FAQ
Dependencies:
Raw lines 80 to 99Data and Projects
- Uploading and Downloading Files
- [
dx upload](https://documentation.dnanexus.com/user/objects/uploading-and-downloading-files/small-sets-of-files/uploading-using-dx.md) - [
dx download](https://documentation.dnanexus.com/user/objects/uploading-and-downloading-files/small-sets-of-files/downloading-using-dx.md) - Upload Agent
- Download Agent
- Download Agent repository
- Download Agent 0.6.4 release
- dxFUSE 1.6.1 release
- Data Object Lifecycle
- Records API
- Files API
- Data Object Metadata
- Folders and Deletion
- Cloning
- Project Permissions and Sharing
- Project API Methods
- Project Data Access Controls
- Search API
- Service Limits
WDL, CWL, and Nextflow
Check these sources together. Platform documentation describes supported integration behavior; compiler/tool release notes describe version-specific language and runtime changes.
Raw lines 135 to 145API Audit Coverage
- Authentication/protocol: Bearer header, JSON POST body, API version header, project-scoped tokens, session expiry, revocation, and UKB RAP restriction.
/system/findDataObjects,/system/findExecutions, and/system/findProjects: request filters,results/nextresponse shape, cursor continuation, per-page limits, and SDK generator limits.- File create/upload/close/describe/download and record create/getDetails/ setDetails/close: SDK signatures and official lifecycle/transfer contracts. Object rename/setProperties/addTags and project clone/newFolder/listFolder/ move/removeObjects/removeFolder/archive/unarchive were checked against the metadata, container, and project API references. No mutations were executed.
/app/new,/applet/new, app/applet/workflowrun,/job/new, job/analysisdescribeandterminate: source manifest versus API payload, accepted classes/access/version values, resource-selector compatibility, return IDs, states, output references, timeout, retry, and cost controls. SDK waits were reviewed in 0.415.0 source;DXAnalysis.wait_on_done()can raise whilepartially_failedis still nonterminal.
Corrected Legacy Patterns
The previous skill version contained examples that should not be copied:
| Legacy pattern | Current guidance |
|---|---|
license: Unknown | Skill is MIT; dxpy upstream is Apache-2.0 |
Declaring DX_SECURITY_CONTEXT in skill metadata | Authenticate through CLI/named secret injection; never expose token |
dx build --app only | --app remains an alias; current help documents --create-app |
dxapi described as required | dxapi is optional |
runSpec.systemRequirements | Deprecated in source manifests; use regionalOptions.<region>.systemRequirements |
Top-level resources | Deprecated; use region-specific resources |
| Static instance list | Discover current regional types; retired types are rejected |
DXFile.open_file() | Use dxpy.open_dxfile() |
name="*.bam" without mode | Add name_mode="glob" |
ResourceNotFound imported as dxpy exception | Inspect DXAPIError.name |
Treating every wait_on_done() exception as remote failure | In dxpy 0.415.0, DXJobFailureError also covers termination and local wait timeout; re-describe state |
Runtime pip install as primary dependency strategy | Prefer pinned venv/assets/saved images |
| Pulling floating Docker tags | Pin digest and preferably store docker save tarball |
dxpy.dxlink(job.get_output_ref(...)) | Pass get_output_ref() directly |
Refresh Procedure
When updating this skill:
- Check PyPI for the current dxpy release and Python requirement.
- Read platform release notes since the verification date.
- Read dx-toolkit and dxCompiler release notes.
- Run:
bash uv run --with "dxpy==<new-version>" \ "scripts/inspect_dxpy.py" --strict
- Compare
dx build --help,dx run --help, and search command help. - Test
dxapp.jsonvalidation and a minimal build in a sandbox project. - Test representative file, job, analysis, WDL/CWL, and Nextflow workflows.
- Update the date/version table and skill
metadata.version.
Do not update examples from memory alone.
Raw lines 186 to 206