ebi-eva-common-pyutils 0.6.2__tar.gz → 0.6.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/CHANGELOG.md +11 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/PKG-INFO +2 -10
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/command_utils.py +8 -7
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/logger.py +3 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils.egg-info/PKG-INFO +2 -10
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils.egg-info/SOURCES.txt +1 -3
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/mongodb/mongo_database.py +1 -3
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/setup.py +1 -1
- ebi_eva_common_pyutils-0.6.2/tests/test_common.py +0 -22
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/LICENSE +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/MANIFEST.in +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/README.md +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/__init__.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/assembly/__init__.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/assembly/assembly.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/assembly_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/common_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/config.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/contig_alias/__init__.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/contig_alias/contig_alias.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/ena_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/file_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/ncbi_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/network_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/reference/__init__.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/reference/assembly.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/reference/sequence.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/taxonomy/__init__.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/taxonomy/taxonomy.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/variation/__init__.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/variation/contig_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils.egg-info/dependency_links.txt +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils.egg-info/requires.txt +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils.egg-info/top_level.txt +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/__init__.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/archive_directory.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/config_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/metadata_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/mongo_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/mongodb/__init__.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/nextflow/__init__.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/nextflow/nextflow_pipeline.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/pg_utils.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/spring_properties.py +0 -0
- {ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/setup.cfg +0 -0
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
Changelog for ebi_eva_common_pyutils
|
|
3
3
|
===========================
|
|
4
4
|
|
|
5
|
+
## 0.6.4 (2024-03-21)
|
|
6
|
+
---------------------
|
|
7
|
+
|
|
8
|
+
- Update Mongodb client to use mongosh instead of the legacy mongo.
|
|
9
|
+
|
|
10
|
+
## 0.6.3 (2024-02-22)
|
|
11
|
+
---------------------
|
|
12
|
+
|
|
13
|
+
- Variable log level when running a command
|
|
14
|
+
|
|
15
|
+
|
|
5
16
|
## 0.6.2 (2023-10-30)
|
|
6
17
|
---------------------
|
|
7
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ebi_eva_common_pyutils
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.4
|
|
4
4
|
Summary: EBI EVA - Common Python Utilities
|
|
5
5
|
Home-page: https://github.com/EBIVariation/eva-common-pyutils
|
|
6
6
|
License: Apache
|
|
@@ -10,13 +10,5 @@ Classifier: Intended Audience :: Developers
|
|
|
10
10
|
Classifier: Topic :: Software Development :: Build Tools
|
|
11
11
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
13
|
-
License-File: LICENSE
|
|
14
|
-
Requires-Dist: requests
|
|
15
|
-
Requires-Dist: lxml
|
|
16
|
-
Requires-Dist: pyyaml
|
|
17
|
-
Requires-Dist: cached-property
|
|
18
|
-
Requires-Dist: retry
|
|
19
13
|
Provides-Extra: eva-internal
|
|
20
|
-
|
|
21
|
-
Requires-Dist: pymongo; extra == "eva-internal"
|
|
22
|
-
Requires-Dist: networkx<=2.5; extra == "eva-internal"
|
|
14
|
+
License-File: LICENSE
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
|
|
14
|
+
import logging
|
|
15
15
|
import subprocess
|
|
16
16
|
|
|
17
17
|
from ebi_eva_common_pyutils.logger import logging_config as log_cfg
|
|
@@ -20,11 +20,12 @@ logger = log_cfg.get_logger(__name__)
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
def run_command_with_output(command_description, command, return_process_output=False,
|
|
23
|
-
log_error_stream_to_output=False
|
|
23
|
+
log_error_stream_to_output=False, stdout_log_level=logging.INFO,
|
|
24
|
+
stderr_log_level=logging.ERROR):
|
|
24
25
|
process_output = ""
|
|
25
26
|
|
|
26
|
-
logger.
|
|
27
|
-
logger.
|
|
27
|
+
logger.log(stdout_log_level, "Starting process: " + command_description)
|
|
28
|
+
logger.log(stdout_log_level, "Running command: " + command)
|
|
28
29
|
|
|
29
30
|
stdout = subprocess.PIPE
|
|
30
31
|
# Some lame utilities like mongodump and mongorestore output non-error messages to error stream
|
|
@@ -35,18 +36,18 @@ def run_command_with_output(command_description, command, return_process_output=
|
|
|
35
36
|
shell=True) as process:
|
|
36
37
|
for line in iter(process.stdout.readline, ''):
|
|
37
38
|
line = str(line).rstrip()
|
|
38
|
-
logger.
|
|
39
|
+
logger.log(stdout_log_level, line)
|
|
39
40
|
if return_process_output:
|
|
40
41
|
process_output += line + "\n"
|
|
41
42
|
if not log_error_stream_to_output:
|
|
42
43
|
for line in iter(process.stderr.readline, ''):
|
|
43
44
|
line = str(line).rstrip()
|
|
44
|
-
logger.
|
|
45
|
+
logger.log(stderr_log_level, line)
|
|
45
46
|
if process.returncode != 0:
|
|
46
47
|
logger.error(command_description + " failed! Refer to the error messages for details.")
|
|
47
48
|
raise subprocess.CalledProcessError(process.returncode, process.args)
|
|
48
49
|
else:
|
|
49
|
-
logger.
|
|
50
|
+
logger.log(stdout_log_level, command_description + " - completed successfully")
|
|
50
51
|
if return_process_output:
|
|
51
52
|
return process_output
|
|
52
53
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ebi-eva-common-pyutils
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.4
|
|
4
4
|
Summary: EBI EVA - Common Python Utilities
|
|
5
5
|
Home-page: https://github.com/EBIVariation/eva-common-pyutils
|
|
6
6
|
License: Apache
|
|
@@ -10,13 +10,5 @@ Classifier: Intended Audience :: Developers
|
|
|
10
10
|
Classifier: Topic :: Software Development :: Build Tools
|
|
11
11
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
13
|
-
License-File: LICENSE
|
|
14
|
-
Requires-Dist: requests
|
|
15
|
-
Requires-Dist: lxml
|
|
16
|
-
Requires-Dist: pyyaml
|
|
17
|
-
Requires-Dist: cached-property
|
|
18
|
-
Requires-Dist: retry
|
|
19
13
|
Provides-Extra: eva-internal
|
|
20
|
-
|
|
21
|
-
Requires-Dist: pymongo; extra == "eva-internal"
|
|
22
|
-
Requires-Dist: networkx<=2.5; extra == "eva-internal"
|
|
14
|
+
License-File: LICENSE
|
|
@@ -4,7 +4,6 @@ MANIFEST.in
|
|
|
4
4
|
README.md
|
|
5
5
|
setup.cfg
|
|
6
6
|
setup.py
|
|
7
|
-
/data/from_the_firehose/eva-common-pyutils/ebi_eva_internal_pyutils/archive_directory.py
|
|
8
7
|
ebi_eva_common_pyutils/__init__.py
|
|
9
8
|
ebi_eva_common_pyutils/assembly_utils.py
|
|
10
9
|
ebi_eva_common_pyutils/command_utils.py
|
|
@@ -41,5 +40,4 @@ ebi_eva_internal_pyutils/spring_properties.py
|
|
|
41
40
|
ebi_eva_internal_pyutils/mongodb/__init__.py
|
|
42
41
|
ebi_eva_internal_pyutils/mongodb/mongo_database.py
|
|
43
42
|
ebi_eva_internal_pyutils/nextflow/__init__.py
|
|
44
|
-
ebi_eva_internal_pyutils/nextflow/nextflow_pipeline.py
|
|
45
|
-
tests/test_common.py
|
|
43
|
+
ebi_eva_internal_pyutils/nextflow/nextflow_pipeline.py
|
|
@@ -111,9 +111,7 @@ class MongoDatabase(AppLogger):
|
|
|
111
111
|
shard_collection_command = f'sh.shardCollection(' \
|
|
112
112
|
f'"{self.db_name}.{collection_name}", ' \
|
|
113
113
|
f'{shard_key_repr}, {str(shard_key_uniqueness_flag).lower()})'
|
|
114
|
-
sharding_command = f"
|
|
115
|
-
f"--eval " \
|
|
116
|
-
f"'{shard_collection_command}' "
|
|
114
|
+
sharding_command = f"mongosh --eval '{shard_collection_command}' {self.uri} "
|
|
117
115
|
sharding_command += self._get_optional_secrets_file_stdin()
|
|
118
116
|
run_command_with_output(f"Sharding collection {collection_name} in the database {self.uri_with_db_name} "
|
|
119
117
|
f"with key {shard_key_repr}...", sharding_command,
|
|
@@ -7,7 +7,7 @@ setup(
|
|
|
7
7
|
name='ebi_eva_common_pyutils',
|
|
8
8
|
scripts=[os.path.join(os.path.dirname(__file__), 'ebi_eva_internal_pyutils', 'archive_directory.py')],
|
|
9
9
|
packages=find_packages(),
|
|
10
|
-
version='0.6.
|
|
10
|
+
version='0.6.4',
|
|
11
11
|
license='Apache',
|
|
12
12
|
description='EBI EVA - Common Python Utilities',
|
|
13
13
|
url='https://github.com/EBIVariation/eva-common-pyutils',
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
from unittest import TestCase
|
|
3
|
-
|
|
4
|
-
from ebi_eva_common_pyutils.common_utils import merge_two_dicts, pretty_print
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class TestCommon(TestCase):
|
|
8
|
-
|
|
9
|
-
resources_folder = os.path.join(os.path.dirname(__file__), 'resources')
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class TestCommonUtils(TestCase):
|
|
13
|
-
|
|
14
|
-
def test_merge_two_dicts(self):
|
|
15
|
-
d1 = {'a': 1, 'b': 2, 'c': 3}
|
|
16
|
-
d2 = {'d': 4, 'a': 5, 'e': 6}
|
|
17
|
-
assert merge_two_dicts(d1, d2) == {'a': 5, 'b': 2, 'c': 3, 'd': 4, 'e': 6}
|
|
18
|
-
assert merge_two_dicts(d2, d1) == {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 6}
|
|
19
|
-
|
|
20
|
-
def test_pretty_print(self):
|
|
21
|
-
pretty_print(['Header 1', 'Long Header 2'],
|
|
22
|
-
[['row1 cell 1', 'row1 cell 2'], ['row2 cell 1', 'Super long row2 cell 2']])
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/common_utils.py
RENAMED
|
File without changes
|
{ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/ena_utils.py
RENAMED
|
File without changes
|
{ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/file_utils.py
RENAMED
|
File without changes
|
{ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_common_pyutils/ncbi_utils.py
RENAMED
|
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
|
{ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ebi_eva_common_pyutils-0.6.2 → ebi_eva_common_pyutils-0.6.4}/ebi_eva_internal_pyutils/pg_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|