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.27

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.27
File Size Uploaded
hdn_research_environment-3.2.27.tar.gz 157.7 kB Details

Built distribution (wheel)

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

Total release size: 364.7 kB

Release files / hdn_research_environment-3.2.27.tar.gz

Download URL hdn_research_environment-3.2.27.tar.gz
Size 157.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5921da6b4d2296a2977e7bf7d2b2d4b4ea190a3be241eac20d02314d11f7d601
BLAKE2b-256 checksum
How to use checksums
8c38edd5b71669bce7c9feb5550a7d8c78acc60a96fb0400409c724f2908b5d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.11

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

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

Release history Release notifications | RSS feed

This release

3.2.27 This release

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