pangea.core package¶
Subpackages¶
- pangea.core.migrations package
- Submodules
- pangea.core.migrations.0001_initial module
- pangea.core.migrations.0002_auto_20200323_1658 module
- pangea.core.migrations.0003_s3apikey module
- pangea.core.migrations.0003_samplegroup_is_library module
- pangea.core.migrations.0004_merge_20200329_1743 module
- pangea.core.migrations.0005_auto_20200822_0140 module
- pangea.core.migrations.0006_auto_20200905_2245 module
- pangea.core.migrations.0007_auto_20200905_2311 module
- pangea.core.migrations.0008_auto_20200907_2159 module
- Module contents
- pangea.core.models package
- pangea.core.tests package
- pangea.core.views package
- Submodules
- pangea.core.views.analysis_result_views module
- pangea.core.views.organization_views module
- pangea.core.views.project_views module
- pangea.core.views.s3_views module
- pangea.core.views.sample_group_views module
- pangea.core.views.sample_views module
- pangea.core.views.utils module
- Module contents
Submodules¶
pangea.core.admin module¶
-
class
pangea.core.admin.
FieldNameListFilter
(field, request, params, model, model_admin, field_path)[source]¶ Bases:
django.contrib.admin.filters.AllValuesFieldListFilter
-
class
pangea.core.admin.
OrganizationAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('name', 'members')¶
-
media
¶
-
-
class
pangea.core.admin.
PangeaUserAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.auth.admin.UserAdmin
-
add_fieldsets
= ((None, {'classes': ('wide',), 'fields': ('email', 'password1', 'password2', 'is_staff', 'is_active')}),)¶
-
add_form
¶
-
fieldsets
= ((None, {'fields': ('email', 'password')}), ('Permissions', {'fields': ('is_staff', 'is_active')}))¶
-
form
¶
-
list_display
= ('email', 'is_staff', 'is_active')¶
-
list_filter
= ('email', 'is_staff', 'is_active')¶
-
media
¶
-
model
¶
-
ordering
= ('email',)¶
-
search_fields
= ('email',)¶
-
-
class
pangea.core.admin.
ProjectAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('name', 'organization')¶
-
list_filter
= (('organization', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>),)¶
-
media
¶
-
-
class
pangea.core.admin.
S3ApiKeyAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('public_key', 'bucket_name')¶
-
media
¶
-
-
class
pangea.core.admin.
S3BucketAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('name', 'organization', 'endpoint_url')¶
-
list_filter
= (('organization', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>),)¶
-
media
¶
-
-
class
pangea.core.admin.
SampleAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('name', 'library_name', 'member_of_groups')¶
-
list_filter
= (('library__group__organization', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>), ('library', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>))¶
-
media
¶
-
-
class
pangea.core.admin.
SampleAnalysisResultAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('sample_name', 'module_name')¶
-
list_filter
= (('sample__library__group__organization', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>), ('sample__library__group', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>), 'module_name', ('sample', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>))¶
-
media
¶
-
-
class
pangea.core.admin.
SampleAnalysisResultFieldAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('sample_name', 'module_name', 'field_name')¶
-
list_filter
= (('analysis_result__sample__library__group__organization', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>), ('analysis_result__sample__library__group', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>), 'analysis_result__module_name', ('name', <class 'pangea.core.admin.FieldNameListFilter'>), ('analysis_result__sample', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>))¶
-
media
¶
-
-
class
pangea.core.admin.
SampleGroupAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('name', 'organization_name')¶
-
list_filter
= (('organization', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>),)¶
-
media
¶
-
-
class
pangea.core.admin.
SampleGroupAnalysisResultAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('sample_group_name', 'module_name')¶
-
list_filter
= (('sample_group__organization', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>), ('sample_group', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>), 'module_name')¶
-
media
¶
-
-
class
pangea.core.admin.
SampleGroupAnalysisResultFieldAdmin
(model, admin_site)[source]¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('sample_group_name', 'module_name', 'field_name')¶
-
list_filter
= (('analysis_result__sample_group__organization', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>), ('analysis_result__sample_group', <class 'django.contrib.admin.filters.RelatedOnlyFieldListFilter'>), 'analysis_result__module_name', ('name', <class 'pangea.core.admin.FieldNameListFilter'>))¶
-
media
¶
-
pangea.core.apps module¶
pangea.core.encrypted_fields module¶
Encrypted Model Fields.
From https://github.com/defrex/django-encrypted-fields with modifications.
-
class
pangea.core.encrypted_fields.
EncryptedString
(value)[source]¶ Bases:
object
Ensures that we will need to manually call decrypt to access the plain text.
-
class
pangea.core.encrypted_fields.
EncryptedTextField
(verbose_name=None, name=None, primary_key=False, max_length=None, unique=False, blank=False, null=False, db_index=False, rel=None, default=<class 'django.db.models.fields.NOT_PROVIDED'>, editable=True, serialize=True, unique_for_date=None, unique_for_month=None, unique_for_year=None, choices=None, help_text='', db_column=None, db_tablespace=None, auto_created=False, validators=(), error_messages=None)[source]¶ Bases:
django.db.models.fields.Field
pangea.core.exceptions module¶
Pangea Core Exceptions
pangea.core.forms module¶
-
class
pangea.core.forms.
PangeaUserChangeForm
(*args, **kwargs)[source]¶ Bases:
django.contrib.auth.forms.UserChangeForm
-
base_fields
= {'email': <django.forms.fields.EmailField object>, 'password': <django.contrib.auth.forms.ReadOnlyPasswordHashField object>}¶
-
declared_fields
= {'password': <django.contrib.auth.forms.ReadOnlyPasswordHashField object>}¶
-
media
¶
-
-
class
pangea.core.forms.
PangeaUserCreationForm
(*args, **kwargs)[source]¶ Bases:
django.contrib.auth.forms.UserCreationForm
-
class
Meta
(*args, **kwargs)[source]¶ Bases:
django.contrib.auth.forms.UserCreationForm
-
base_fields
= {'password1': <django.forms.fields.CharField object>, 'password2': <django.forms.fields.CharField object>, 'username': <django.contrib.auth.forms.UsernameField object>}¶
-
declared_fields
= {'password1': <django.forms.fields.CharField object>, 'password2': <django.forms.fields.CharField object>}¶
-
fields
= ('email',)¶
-
media
¶
-
model
¶
-
-
base_fields
= {'email': <django.forms.fields.EmailField object>, 'password1': <django.forms.fields.CharField object>, 'password2': <django.forms.fields.CharField object>}¶
-
declared_fields
= {'password1': <django.forms.fields.CharField object>, 'password2': <django.forms.fields.CharField object>}¶
-
media
¶
-
class
pangea.core.managers module¶
-
class
pangea.core.managers.
PangeaUserManager
[source]¶ Bases:
django.contrib.auth.base_user.BaseUserManager
Custom Pangea user model manager where email is the unique identifiers for authentication instead of usernames.
pangea.core.mixins module¶
From https://gist.github.com/ertgl/0c26b23ac5482e206a04cb1b13ec3795
-
class
pangea.core.mixins.
AutoCreatedUpdatedMixin
(*args, **kwargs)[source]¶ Bases:
django.db.models.base.Model
Django model mixin providing created_at, updated_at fields
-
created_at
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
updated_at
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
pangea.core.nested_urls module¶
Additional URLs that support nested access and access by name. /{org_pk}/ /{org_pk}/sample_groups/ /{org_pk}/sample_groups/{grp_pk}/ /{org_pk}/sample_groups/{grp_pk}/analysis_results /{org_pk}/sample_groups/{grp_pk}/analysis_results/{ar_pk} /{org_pk}/sample_groups/{grp_pk}/analysis_results/{ar_pk}/fields /{org_pk}/sample_groups/{grp_pk}/analysis_results/{ar_pk}/fields/{field_pk} /{org_pk}/sample_groups/{grp_pk}/samples/ /{org_pk}/sample_groups/{grp_pk}/samples/{sample_pk}/ /{org_pk}/sample_groups/{grp_pk}/samples/{sample_pk}/analysis_results /{org_pk}/sample_groups/{grp_pk}/samples/{sample_pk}/analysis_results/{ar_pk} /{org_pk}/sample_groups/{grp_pk}/samples/{sample_pk}/analysis_results/{ar_pk}/fields /{org_pk}/sample_groups/{grp_pk}/samples/{sample_pk}/analysis_results/{ar_pk}/fields/{field_pk}
-
pangea.core.nested_urls.
nested_path
(url, base_view, *out_args, **out_kwargs)[source]¶ Return a path with an intercepted view function.
-
pangea.core.nested_urls.
path
(route, view, kwargs=None, name=None, *, Pattern=<class 'django.urls.resolvers.RoutePattern'>)¶
pangea.core.param_auth module¶
pangea.core.permissions module¶
-
class
pangea.core.permissions.
OrganizationPermission
[source]¶ Bases:
rest_framework.permissions.BasePermission
Require organization membership in order to modify organization.
-
class
pangea.core.permissions.
ProjectPermission
[source]¶ Bases:
rest_framework.permissions.BasePermission
Require organization membership in order to write to sample group.
-
class
pangea.core.permissions.
S3ApiKeyPermission
[source]¶ Bases:
rest_framework.permissions.BasePermission
Require organization membership in order to do anything with s3 API keys.
-
class
pangea.core.permissions.
S3BucketPermission
[source]¶ Bases:
rest_framework.permissions.BasePermission
Require organization membership in order to do anything with s3 Buckets.
-
class
pangea.core.permissions.
SampleAnalysisResultFieldPermission
[source]¶ Bases:
rest_framework.permissions.BasePermission
Require organization membership in order to write to sample analysis result.
-
class
pangea.core.permissions.
SampleAnalysisResultPermission
[source]¶ Bases:
rest_framework.permissions.BasePermission
Require organization membership in order to write to sample analysis result.
-
class
pangea.core.permissions.
SampleGroupAnalysisResultFieldPermission
[source]¶ Bases:
rest_framework.permissions.BasePermission
Require organization membership in order to write to sample group analysis result.
-
class
pangea.core.permissions.
SampleGroupAnalysisResultPermission
[source]¶ Bases:
rest_framework.permissions.BasePermission
Require organization membership in order to write to sample group analysis result.
pangea.core.search module¶
pangea.core.search_indexes module¶
-
class
pangea.core.search_indexes.
OrganizationIndex
[source]¶ Bases:
haystack.indexes.SearchIndex
,haystack.constants.Indexable
-
fields
= {'name': <haystack.fields.CharField object>, 'text': <haystack.fields.CharField object>}¶
-
get_model
()[source]¶ Should return the
Model
class (not an instance) that the rest of theSearchIndex
should use.This method is required & you must override it to return the correct class.
-
name
= <haystack.fields.CharField object>¶
-
objects
= <haystack.manager.SearchIndexManager object>¶
-
text
= <haystack.fields.CharField object>¶
-
-
class
pangea.core.search_indexes.
SampleGroupIndex
[source]¶ Bases:
haystack.indexes.SearchIndex
,haystack.constants.Indexable
-
fields
= {'name': <haystack.fields.CharField object>, 'text': <haystack.fields.CharField object>}¶
-
get_model
()[source]¶ Should return the
Model
class (not an instance) that the rest of theSearchIndex
should use.This method is required & you must override it to return the correct class.
-
name
= <haystack.fields.CharField object>¶
-
objects
= <haystack.manager.SearchIndexManager object>¶
-
text
= <haystack.fields.CharField object>¶
-
-
class
pangea.core.search_indexes.
SampleIndex
[source]¶ Bases:
haystack.indexes.SearchIndex
,haystack.constants.Indexable
-
fields
= {'name': <haystack.fields.CharField object>, 'text': <haystack.fields.CharField object>}¶
-
get_model
()[source]¶ Should return the
Model
class (not an instance) that the rest of theSearchIndex
should use.This method is required & you must override it to return the correct class.
-
name
= <haystack.fields.CharField object>¶
-
objects
= <haystack.manager.SearchIndexManager object>¶
-
text
= <haystack.fields.CharField object>¶
-
pangea.core.serializers module¶
-
class
pangea.core.serializers.
OrganizationAddUserSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.Serializer
-
class
pangea.core.serializers.
OrganizationSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
pangea.core.serializers.
PangeaUserSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
pangea.core.serializers.
ProjectAddSampleGroupSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.Serializer
-
class
pangea.core.serializers.
ProjectSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
pangea.core.serializers.
S3ApiKeySerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
pangea.core.serializers.
S3BucketSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
Meta
[source]¶ Bases:
object
-
fields
= ('uuid', 'name', 'endpoint_url', 'organization')¶
-
model
¶ alias of
pangea.core.models.s3.S3Bucket
-
-
class
-
class
pangea.core.serializers.
SampleAnalysisResultFieldSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
pangea.core.serializers.
SampleAnalysisResultSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
pangea.core.serializers.
SampleGroupAddSampleSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.Serializer
-
class
pangea.core.serializers.
SampleGroupAnalysisResultFieldSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
pangea.core.serializers.
SampleGroupAnalysisResultSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
-
class
pangea.core.serializers.
SampleGroupSerializer
(instance=None, data=<class 'rest_framework.fields.empty'>, **kwargs)[source]¶ Bases:
rest_framework.serializers.ModelSerializer
pangea.core.urls module¶
-
pangea.core.urls.
path
(route, view, kwargs=None, name=None, *, Pattern=<class 'django.urls.resolvers.RoutePattern'>)¶