This release is a pre-release and may not be stable for production use.
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_NAMEsupplies the name shown in billing instructions (and existing emails).SUPPORT_EMAIL, if set, supplies support links and error messages. OtherwiseCONTACT_EMAIL, thenDEFAULT_FROM_EMAIL, is used. Display-name addresses such asPhysioNet Support <help@physionet.org>are accepted; links use the bare email.CLOUD_RESEARCH_ENVIRONMENTS_ORGANIZATION_DOMAINoptionally overrides the domain used by the collaborator forms, for examplephysionet.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(defaultFalse) 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'sActiveProject.upload_agreement_accepted(), which honoursUPLOAD_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 prefixedExpired-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.27rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hdn_research_environment-3.2.27rc1.tar.gz | 157.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hdn_research_environment-3.2.27rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 364.8 kB
Release files / hdn_research_environment-3.2.27rc1.tar.gz
| Download URL | hdn_research_environment-3.2.27rc1.tar.gz |
|---|---|
| Size | 157.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
64db83755c8d99da4f9b7ed052a42b2d8ebae3831e3eb9eeeec956e38e2b0b4c
|
|
BLAKE2b-256 checksum How to use checksums |
e682eb98a7d4f32f5ecc5562fd7f7aba5f56abf55ae72322e23b3b6e82df32b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|
Release files / hdn_research_environment-3.2.27rc1-py3-none-any.whl
| Download URL | hdn_research_environment-3.2.27rc1-py3-none-any.whl |
|---|---|
| Size | 207.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
41fc2a39c833d602ad9b373e27f9375a8e1bf62f8b132e1690b961bcd6bcc82b
|
|
BLAKE2b-256 checksum How to use checksums |
618ce7f6735eda3fcb4cf8c9151f3a102c57525f17ba3ac6c5ac013afc1ac60c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.1
|