dcicutils 7.4.2.1b10__tar.gz → 7.4.2.1b12__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of dcicutils might be problematic. Click here for more details.
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/PKG-INFO +1 -1
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/project_utils.py +21 -13
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/pyproject.toml +1 -1
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/setup.py +1 -1
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/LICENSE.txt +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/README.rst +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/__init__.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/base.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/beanstalk_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/cloudformation_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/codebuild_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/command_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/common.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/creds_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/data_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/deployment_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/diff_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/docker_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/ecr_scripts.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/ecr_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/ecs_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/env_base.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/env_manager.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/env_scripts.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/env_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/env_utils_legacy.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/es_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/exceptions.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/ff_mocks.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/ff_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/function_cache_decorator.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/glacier_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/jh_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/kibana/dashboards.json +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/kibana/readme.md +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/lang_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/log_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/misc_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/obfuscation_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/opensearch_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/qa_checkers.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/qa_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/redis_tools.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/redis_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/s3_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/scripts/publish_to_pypi.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/secrets_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/snapshot_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/ssl_certificate_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/task_utils.py +0 -0
- {dcicutils-7.4.2.1b10 → dcicutils-7.4.2.1b12}/dcicutils/trace_utils.py +0 -0
@@ -65,7 +65,8 @@ class ProjectRegistry:
|
|
65
65
|
REQUIRED_PROJECT_ATTRS = ['NAME']
|
66
66
|
|
67
67
|
NON_INHERITED_PROJECT_ATTRS = [
|
68
|
-
|
68
|
+
# PYPROJECT_NAME and PACKAGE_NAME are also in this set but handled by special case.
|
69
|
+
'REPO_NAME', 'PYPI_NAME', 'PRETTY_NAME', 'APP_NAME', 'APP_PRETTY_NAME'
|
69
70
|
]
|
70
71
|
|
71
72
|
@classmethod
|
@@ -81,6 +82,10 @@ class ProjectRegistry:
|
|
81
82
|
|
82
83
|
Since fourfront and cgap-portal don't occupy the same space, no confusion should result.
|
83
84
|
"""
|
85
|
+
|
86
|
+
protected_project_bindings = [('PYPROJECT_NAME', '_PYPROJECT_NAME', pyproject_name, False),
|
87
|
+
('PACKAGE_NAME', '_PACKAGE_NAME', None, True)]
|
88
|
+
|
84
89
|
def _wrap_class(the_class):
|
85
90
|
the_class_name = the_class.__name__
|
86
91
|
if not issubclass(the_class, Project):
|
@@ -88,16 +93,19 @@ class ProjectRegistry:
|
|
88
93
|
|
89
94
|
explicit_attrs = the_class.__dict__
|
90
95
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
if
|
95
|
-
|
96
|
+
for public_attr, private_attr, default_val, assign_ok in protected_project_bindings:
|
97
|
+
if private_attr in explicit_attrs:
|
98
|
+
raise ValueError(f"{private_attr} is an internally managed variable. You must not set it.")
|
99
|
+
if public_attr in explicit_attrs:
|
100
|
+
explicit_val = explicit_attrs[public_attr]
|
101
|
+
if assign_ok:
|
102
|
+
setattr(the_class, public_attr, getattr(Project, public_attr))
|
103
|
+
setattr(the_class, private_attr, explicit_val)
|
104
|
+
else:
|
105
|
+
raise ValueError(f"Explicit {the_class_name}.{public_attr}={explicit_val!r} is not permitted."
|
106
|
+
f" This assignment is intended to be managed implicitly.")
|
96
107
|
else:
|
97
|
-
|
98
|
-
raise ValueError(message)
|
99
|
-
else:
|
100
|
-
the_class._PYPROJECT_NAME = pyproject_name # no need for the caller to say this redundantly
|
108
|
+
setattr(the_class, private_attr, default_val)
|
101
109
|
|
102
110
|
for attr in cls.REQUIRED_PROJECT_ATTRS:
|
103
111
|
if attr not in explicit_attrs:
|
@@ -105,7 +113,7 @@ class ProjectRegistry:
|
|
105
113
|
|
106
114
|
for attr in cls.NON_INHERITED_PROJECT_ATTRS:
|
107
115
|
if attr not in explicit_attrs:
|
108
|
-
|
116
|
+
delattr(the_class, attr)
|
109
117
|
|
110
118
|
lower_registry_name = pyproject_name.lower()
|
111
119
|
for x in ['cgap-portal', 'fourfront', 'smaht']:
|
@@ -260,7 +268,7 @@ class Project:
|
|
260
268
|
# Other exported dirs, such as scripts or tests should be in later entries.
|
261
269
|
package_name = poetry_data['packages'][0]['include']
|
262
270
|
else:
|
263
|
-
package_name = cls.PYPROJECT_NAME
|
271
|
+
package_name = cls.PYPI_NAME or cls.PYPROJECT_NAME
|
264
272
|
cls._PACKAGE_NAME = package_name
|
265
273
|
return package_name
|
266
274
|
|
@@ -277,7 +285,7 @@ class Project:
|
|
277
285
|
|
278
286
|
@classproperty
|
279
287
|
def APP_NAME(cls): # noQA - PyCharm wants the variable name to be self
|
280
|
-
return cls.
|
288
|
+
return cls.REPO_NAME.replace('-portal', '').replace('encoded-', '')
|
281
289
|
|
282
290
|
@classproperty
|
283
291
|
def APP_PRETTY_NAME(cls): # noQA - PyCharm wants the variable name to be self
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "dcicutils"
|
3
|
-
version = "7.4.2.
|
3
|
+
version = "7.4.2.1b12" # to become 7.5.0
|
4
4
|
description = "Utility package for interacting with the 4DN Data Portal and other 4DN resources"
|
5
5
|
authors = ["4DN-DCIC Team <support@4dnucleome.org>"]
|
6
6
|
license = "MIT"
|
@@ -38,7 +38,7 @@ entry_points = \
|
|
38
38
|
|
39
39
|
setup_kwargs = {
|
40
40
|
'name': 'dcicutils',
|
41
|
-
'version': '7.4.2.
|
41
|
+
'version': '7.4.2.1b12',
|
42
42
|
'description': 'Utility package for interacting with the 4DN Data Portal and other 4DN resources',
|
43
43
|
'long_description': '=====\nutils\n=====\n\nCheck out our full documentation `here <https://dcic-utils.readthedocs.io/en/latest/>`_\n\nThis repository contains various utility modules shared amongst several projects in the 4DN-DCIC. It is meant to be used internally by the DCIC team and externally as a Python API to `Fourfront <https://data.4dnucleome.org>`_\\ , the 4DN data portal.\n\npip installable as the ``dcicutils`` package with: ``pip install dcicutils``\n\nSee `this document <https://dcic-utils.readthedocs.io/en/latest/getting_started.html>`_ for tips on getting started. `Go here <https://dcic-utils.readthedocs.io/en/latest/examples.html>`_ for examples of some of the most useful functions.\n\n\n.. image:: https://travis-ci.org/4dn-dcic/utils.svg?branch=master\n :target: https://travis-ci.org/4dn-dcic/utils\n :alt: Build Status\n\n\n.. image:: https://coveralls.io/repos/github/4dn-dcic/utils/badge.svg?branch=master\n :target: https://coveralls.io/github/4dn-dcic/utils?branch=master\n :alt: Coverage\n\n.. image:: https://readthedocs.org/projects/dcic-utils/badge/?version=latest\n :target: https://dcic-utils.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n',
|
44
44
|
'author': '4DN-DCIC Team',
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|