Skip to main content

hdn-research-environment

A Django app for supporting cloud-native research environments

Deployment configuration

The host Django project supplies the site's branding and cloud identity domain:

  • SITE_NAME supplies the name shown in billing instructions (and existing emails).
  • SUPPORT_EMAIL, if set, supplies support links and error messages. Otherwise CONTACT_EMAIL, then DEFAULT_FROM_EMAIL, is used. Display-name addresses such as PhysioNet Support <help@physionet.org> are accepted; links use the bare email.
  • CLOUD_RESEARCH_ENVIRONMENTS_ORGANIZATION_DOMAIN optionally overrides the domain used by the collaborator forms, for example physionet.org. When unset or empty, it is derived from the signed-in user's cloud identity email, not their login email or the site's hostname. Without either source, the forms use ordinary email validation; server-side collaborator access checks still apply.

These are Django settings, not environment variables read by this package. No additional context processor is required. The owner is identified by their full cloud identity email and is excluded from collaborator removal controls.

Feature settings

  • CLOUD_RESEARCH_ENVIRONMENTS_ENABLE_DRAFT_WORKBENCHES (default False) lets researchers attach their own editable draft projects to new Jupyter and RStudio workbenches with a read-write mount. While it is off, the creation form offers only published projects, a draft selection is rejected, and draft state changes queue no background work. Workbenches created while it was on are left as they are. While it is on, a draft is offered only once its upload agreement has been accepted (the host's ActiveProject.upload_agreement_accepted(), which honours UPLOAD_AGREEMENT_START_DATE). Other drafts are listed above the form with a link to accept the agreement.

  • CLOUD_RESEARCH_ENVIRONMENTS_EXPIRED_ACCESS_ENFORCEMENT (default "dry_run") controls the tasks that stop, and 14 days later destroy, workbenches whose data access has expired:

    • "off": the tasks do nothing.
    • "dry_run": each workbench an enforcing run would stop or destroy is logged at INFO as a JSON line prefixed Expired-access dry run:. Nothing is stopped, destroyed or mailed, and no termination is queued.
    • "enforce": the workbenches are stopped, the user is mailed, and termination is queued.

    An unrecognised value is treated as "dry_run" and logged as an error.

Regression tests

The Python tests run in a configured PhysioNet Django host with this checkout on PYTHONPATH and cloud research environments enabled. Use a dedicated test database (not the host's development database):

python manage.py test environment.tests.test_deployment_config environment.tests.test_services.CreateCloudIdentityTestCase --settings=<host_test_settings>

The collaborator submit handlers also have dependency-free tests using Node.js 18 or newer:

node --test environment/tests/test_collaborator_domains.cjs

Publishing a new version

Create the package:

python setup.py sdist

Publish the package:

python -m twine upload dist/*

Metadata

Release files for hdn-research-environment 3.2.28

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hdn-research-environment 3.2.28
File Size Uploaded
hdn_research_environment-3.2.28.tar.gz 159.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hdn-research-environment 3.2.28
File Interpreter ABI Platform
hdn_research_environment-3.2.28-py3-none-any.whl Python 3 none any Details

Total release size: 367.0 kB

Release files / hdn_research_environment-3.2.28.tar.gz

Download URL hdn_research_environment-3.2.28.tar.gz
Size 159.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1b317d49dd9cba7eb4317d7fce5c16ed91051f5dd0f906de0f7c8753e4886f05
BLAKE2b-256 checksum
How to use checksums
48e94456a419cc8777fbcf89f0a90a38d4c478679b96a3208f0706e42cddbc8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.13

Release files / hdn_research_environment-3.2.28-py3-none-any.whl

Download URL hdn_research_environment-3.2.28-py3-none-any.whl
Size 207.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
afb56de79d9e22173567b6ed7da9116c5b0de677dc72485fd75b62c5c592dd7d
BLAKE2b-256 checksum
How to use checksums
5cf97df4d750d0c57929eddd3d8a4a1424aa1cd42985242a2b0cd91b35adc13a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.13

Release history Release notifications | RSS feed

This release

3.2.28 This release

2 release files

3.2.27

2 release files

3.2.26

2 release files

3.2.25

2 release files

3.2.24

2 release files

3.2.23

2 release files

3.2.22

2 release files

3.2.21

2 release files

3.2.20

2 release files

3.2.19

1 release file

3.2.17

1 release file

3.2.15

1 release file

3.2.14

1 release file

3.2.13

1 release file

3.2.12

1 release file

3.2.11

1 release file

3.2.10

1 release file

3.2.9

1 release file

3.2.8

1 release file

3.2.7

1 release file

3.2.6

1 release file

3.2.5

1 release file

3.2.4

1 release file

3.2.3

1 release file

3.2.2

1 release file

3.2.1

1 release file

3.2.0

1 release file

3.1.6

1 release file

3.1.5

1 release file

3.1.4

1 release file

3.1.3

1 release file

3.1.2

1 release file

3.1.1

1 release file

3.1.0

1 release file

3.0.6

1 release file

3.0.5

1 release file

3.0.4

1 release file

3.0.3

1 release file

3.0.2

1 release file

3.0.1

1 release file

3.0.0

1 release file

2.4.0

1 release file

2.3.8

1 release file

2.3.7

1 release file

2.3.6

1 release file

2.3.5

1 release file

2.3.4

1 release file

2.3.3

1 release file

2.3.2

1 release file

2.3.1

1 release file

2.3.0

1 release file

2.2.0

1 release file

2.1.10

1 release file

2.1.9

1 release file

2.1.8

1 release file

2.1.7

1 release file

2.1.6

1 release file

2.1.5

1 release file

2.1.4

1 release file

2.1.3

1 release file

2.1.2

1 release file

2.1.1

1 release file

2.1.0

1 release file

2.0.7

1 release file

2.0.6

1 release file

2.0.5

1 release file

2.0.4

1 release file

2.0.3

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.5.3

1 release file

1.5.2

1 release file

1.5.1

1 release file

1.5.0

1 release file

1.4.0

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page