rcsb.exdb 1.30__tar.gz → 1.31__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.
- rcsb_exdb-1.31/.gitignore +112 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/HISTORY.txt +1 -0
- {rcsb_exdb-1.30/rcsb.exdb.egg-info → rcsb_exdb-1.31}/PKG-INFO +36 -46
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/README.md +4 -7
- rcsb_exdb-1.31/pyproject.toml +95 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/EntityInstanceExtractor.py +557 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/EntityPolymerExtractor.py +544 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/EntityPolymerExtractorFullTests.py +176 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/ReferenceSequenceAssignmentUpdater.py +449 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/ReferenceSequenceUtils.py +123 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/ReferenceSequenceUtilsTests.py +109 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/exampleObjectExtractor.py +109 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/fixtureEntityPolymerExtractor.py +85 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/testEntityInstanceExtractor.py +170 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/testEntityPolymerExtractor.py +171 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/testReferenceSequenceAssignmentUpdater.py +79 -0
- rcsb_exdb-1.31/rcsb/exdb/examples-seq/testReferenceSequenceUtils.py +108 -0
- rcsb_exdb-1.31/rcsb/exdb/wf/__init__.py +0 -0
- rcsb_exdb-1.30/MANIFEST.in +0 -7
- rcsb_exdb-1.30/PKG-INFO +0 -113
- rcsb_exdb-1.30/rcsb/exdb/cli/__init__.py +0 -5
- rcsb_exdb-1.30/rcsb.exdb.egg-info/SOURCES.txt +0 -91
- rcsb_exdb-1.30/rcsb.exdb.egg-info/dependency_links.txt +0 -1
- rcsb_exdb-1.30/rcsb.exdb.egg-info/not-zip-safe +0 -1
- rcsb_exdb-1.30/rcsb.exdb.egg-info/requires.txt +0 -20
- rcsb_exdb-1.30/rcsb.exdb.egg-info/top_level.txt +0 -1
- rcsb_exdb-1.30/requirements.txt +0 -17
- rcsb_exdb-1.30/setup.cfg +0 -10
- rcsb_exdb-1.30/setup.py +0 -67
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/LICENSE +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/__init__.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/__init__.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/branch/BranchedEntityExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/branch/GlycanProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/branch/GlycanUtils.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/branch/__init__.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/chemref/ChemRefEtlWorker.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/chemref/ChemRefExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/chemref/ChemRefMappingProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/chemref/PubChemDataCacheProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/chemref/PubChemEtlWrapper.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/chemref/PubChemIndexCacheProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/chemref/__init__.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/citation/CitationAdapter.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/citation/CitationExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/citation/CitationUtils.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/citation/__init__.py +0 -0
- {rcsb_exdb-1.30/rcsb/exdb/entry → rcsb_exdb-1.31/rcsb/exdb/cli}/__init__.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/entry/EntryInfoProvider.py +0 -0
- {rcsb_exdb-1.30/rcsb/exdb/seq → rcsb_exdb-1.31/rcsb/exdb/entry}/__init__.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/AnnotationExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/LigandNeighborMappingExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/LigandNeighborMappingProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/PolymerEntityExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/ReferenceSequenceAnnotationAdapter.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/ReferenceSequenceAnnotationProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/ReferenceSequenceAssignmentAdapter.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/ReferenceSequenceAssignmentProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/ReferenceSequenceCacheProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/TaxonomyExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/UniProtCoreEtlWorker.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/seq/UniProtExtractor.py +0 -0
- {rcsb_exdb-1.30/rcsb/exdb/tests → rcsb_exdb-1.31/rcsb/exdb/seq}/__init__.py +0 -0
- {rcsb_exdb-1.30/rcsb/exdb/tree → rcsb_exdb-1.31/rcsb/exdb/tests}/__init__.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/fixtureDictMethodResourceProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/fixturePdbxLoader.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testAnnotationExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testBranchedEntityExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testChemRefLoader.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testChemRefMappingProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testCitationAdapter.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testCitationExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testCitationUtils.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testEntryInfoEtlWorkflow.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testEntryInfoProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testGlycanEtlWorkflow.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testGlycanProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testGlycanUtils.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testLigandNeighborMappingProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testObjectExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testObjectTransformer.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testObjectUpdater.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testPolymerEntityExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testPubChemDataCacheProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testPubChemEtlWorkflow.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testPubChemEtlWrapper.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testPubChemIndexCacheProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testReferenceSequenceAnnotationAdapter.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapter.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testReferenceSequenceAssignmentAdapterValidate.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testReferenceSequenceAssignmentProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testReferenceSequenceCacheProvider.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testTaxonomyExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testTreeNodeListWorker.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testUniProtCoreEtlWorker.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tests/testUniProtExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/tree/TreeNodeListWorker.py +0 -0
- {rcsb_exdb-1.30/rcsb/exdb/utils → rcsb_exdb-1.31/rcsb/exdb/tree}/__init__.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/utils/ObjectAdapterBase.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/utils/ObjectExtractor.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/utils/ObjectTransformer.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/utils/ObjectUpdater.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/utils/ObjectValidator.py +0 -0
- {rcsb_exdb-1.30/rcsb/exdb/wf → rcsb_exdb-1.31/rcsb/exdb/utils}/__init__.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/wf/EntryInfoEtlWorkflow.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/wf/GlycanEtlWorkflow.py +0 -0
- {rcsb_exdb-1.30 → rcsb_exdb-1.31}/rcsb/exdb/wf/PubChemEtlWorkflow.py +0 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
.vscode
|
|
2
|
+
test-output/
|
|
3
|
+
!test-output/.gitkeep
|
|
4
|
+
test-cache-preserve/
|
|
5
|
+
LOGTOX
|
|
6
|
+
CACHE/
|
|
7
|
+
Archive/
|
|
8
|
+
.idea/
|
|
9
|
+
# Byte-compiled / optimized / DLL files
|
|
10
|
+
__pycache__/
|
|
11
|
+
*.py[cod]
|
|
12
|
+
*$py.class
|
|
13
|
+
|
|
14
|
+
# C extensions
|
|
15
|
+
*.so
|
|
16
|
+
|
|
17
|
+
# Distribution / packaging
|
|
18
|
+
.Python
|
|
19
|
+
build/
|
|
20
|
+
develop-eggs/
|
|
21
|
+
dist/
|
|
22
|
+
downloads/
|
|
23
|
+
eggs/
|
|
24
|
+
.eggs/
|
|
25
|
+
lib/
|
|
26
|
+
lib64/
|
|
27
|
+
parts/
|
|
28
|
+
sdist/
|
|
29
|
+
var/
|
|
30
|
+
wheels/
|
|
31
|
+
*.egg-info/
|
|
32
|
+
.installed.cfg
|
|
33
|
+
*.egg
|
|
34
|
+
MANIFEST
|
|
35
|
+
|
|
36
|
+
# PyInstaller
|
|
37
|
+
# Usually these files are written by a python script from a template
|
|
38
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
39
|
+
*.manifest
|
|
40
|
+
*.spec
|
|
41
|
+
|
|
42
|
+
# Installer logs
|
|
43
|
+
pip-log.txt
|
|
44
|
+
pip-delete-this-directory.txt
|
|
45
|
+
|
|
46
|
+
# Unit test / coverage reports
|
|
47
|
+
htmlcov/
|
|
48
|
+
.tox/
|
|
49
|
+
.coverage
|
|
50
|
+
.coverage.*
|
|
51
|
+
.cache
|
|
52
|
+
nosetests.xml
|
|
53
|
+
coverage.xml
|
|
54
|
+
*.cover
|
|
55
|
+
.hypothesis/
|
|
56
|
+
.pytest_cache/
|
|
57
|
+
|
|
58
|
+
# Translations
|
|
59
|
+
*.mo
|
|
60
|
+
*.pot
|
|
61
|
+
|
|
62
|
+
# Django stuff:
|
|
63
|
+
*.log
|
|
64
|
+
local_settings.py
|
|
65
|
+
db.sqlite3
|
|
66
|
+
|
|
67
|
+
# Flask stuff:
|
|
68
|
+
instance/
|
|
69
|
+
.webassets-cache
|
|
70
|
+
|
|
71
|
+
# Scrapy stuff:
|
|
72
|
+
.scrapy
|
|
73
|
+
|
|
74
|
+
# Sphinx documentation
|
|
75
|
+
docs/_build/
|
|
76
|
+
|
|
77
|
+
# PyBuilder
|
|
78
|
+
target/
|
|
79
|
+
|
|
80
|
+
# Jupyter Notebook
|
|
81
|
+
.ipynb_checkpoints
|
|
82
|
+
|
|
83
|
+
# pyenv
|
|
84
|
+
.python-version
|
|
85
|
+
|
|
86
|
+
# celery beat schedule file
|
|
87
|
+
celerybeat-schedule
|
|
88
|
+
|
|
89
|
+
# SageMath parsed files
|
|
90
|
+
*.sage.py
|
|
91
|
+
|
|
92
|
+
# Environments
|
|
93
|
+
.env
|
|
94
|
+
.venv
|
|
95
|
+
env/
|
|
96
|
+
venv/
|
|
97
|
+
ENV/
|
|
98
|
+
env.bak/
|
|
99
|
+
venv.bak/
|
|
100
|
+
|
|
101
|
+
# Spyder project settings
|
|
102
|
+
.spyderproject
|
|
103
|
+
.spyproject
|
|
104
|
+
|
|
105
|
+
# Rope project settings
|
|
106
|
+
.ropeproject
|
|
107
|
+
|
|
108
|
+
# mkdocs documentation
|
|
109
|
+
/site
|
|
110
|
+
|
|
111
|
+
# mypy
|
|
112
|
+
.mypy_cache/
|
|
@@ -112,3 +112,4 @@
|
|
|
112
112
|
11-Feb-2025 V1.28 Move ExDB CLI code (workflow, exec, and tests) and Dockerfile to rcsb.workflow to avoid circular imports
|
|
113
113
|
8-Apr-2025 V1.29 Add more logging to PubChemIndexCacheProvider and increase default numProc
|
|
114
114
|
2-Oct-2025 V1.30 Make use of ExDB configuration file for loading drugbank and tree node list DBs/collections and setting indexed fields
|
|
115
|
+
2-Dec-2025 V1.31 Switch to 'pyproject.toml' file and update test pipelines to python 3.12
|
|
@@ -1,50 +1,43 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rcsb.exdb
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.31
|
|
4
4
|
Summary: RCSB Python ExDB data extraction and loading workflows
|
|
5
|
-
|
|
6
|
-
Author: John Westbrook
|
|
7
|
-
|
|
8
|
-
License: Apache
|
|
9
|
-
|
|
5
|
+
Project-URL: Homepage, https://github.com/rcsb/py-rcsb_exdb
|
|
6
|
+
Author-email: John Westbrook <john.westbrook@rcsb.org>
|
|
7
|
+
Maintainer-email: Dennis Piehl <dennis.piehl@rcsb.org>
|
|
8
|
+
License-Expression: Apache-2.0
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
11
|
Classifier: Intended Audience :: Developers
|
|
11
12
|
Classifier: Natural Language :: English
|
|
12
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
13
13
|
Classifier: Programming Language :: Python
|
|
14
14
|
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.
|
|
16
|
-
|
|
17
|
-
Description-Content-Type: text/markdown
|
|
18
|
-
License-File: LICENSE
|
|
19
|
-
Requires-Dist: numpy
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Requires-Python: >=3.9
|
|
20
17
|
Requires-Dist: jsonschema>=2.6.0
|
|
21
|
-
Requires-Dist:
|
|
22
|
-
Requires-Dist:
|
|
23
|
-
Requires-Dist: rcsb
|
|
24
|
-
Requires-Dist: rcsb
|
|
25
|
-
Requires-Dist: rcsb
|
|
26
|
-
Requires-Dist: rcsb
|
|
27
|
-
Requires-Dist: rcsb
|
|
28
|
-
Requires-Dist: rcsb
|
|
29
|
-
Requires-Dist: rcsb
|
|
30
|
-
Requires-Dist: rcsb
|
|
31
|
-
Requires-Dist: rcsb
|
|
32
|
-
Requires-Dist: rcsb
|
|
33
|
-
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Provides-Extra:
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
Dynamic: license-file
|
|
45
|
-
Dynamic: provides-extra
|
|
46
|
-
Dynamic: requires-dist
|
|
47
|
-
Dynamic: summary
|
|
18
|
+
Requires-Dist: numpy
|
|
19
|
+
Requires-Dist: openeye-toolkits>=2024.1.1
|
|
20
|
+
Requires-Dist: rcsb-db>=1.808
|
|
21
|
+
Requires-Dist: rcsb-utils-chem>=0.84
|
|
22
|
+
Requires-Dist: rcsb-utils-chemref>=0.91
|
|
23
|
+
Requires-Dist: rcsb-utils-config>=0.40
|
|
24
|
+
Requires-Dist: rcsb-utils-dictionary>=1.27
|
|
25
|
+
Requires-Dist: rcsb-utils-ec>=0.25
|
|
26
|
+
Requires-Dist: rcsb-utils-go>=0.18
|
|
27
|
+
Requires-Dist: rcsb-utils-io>=1.48
|
|
28
|
+
Requires-Dist: rcsb-utils-seq>=0.82
|
|
29
|
+
Requires-Dist: rcsb-utils-struct>=0.47
|
|
30
|
+
Requires-Dist: rcsb-utils-targets>=0.82
|
|
31
|
+
Requires-Dist: rcsb-utils-taxonomy>=0.43
|
|
32
|
+
Provides-Extra: tests
|
|
33
|
+
Requires-Dist: black>=21.5b1; extra == 'tests'
|
|
34
|
+
Requires-Dist: check-manifest; extra == 'tests'
|
|
35
|
+
Requires-Dist: coverage; extra == 'tests'
|
|
36
|
+
Requires-Dist: flake8; extra == 'tests'
|
|
37
|
+
Requires-Dist: pylint; extra == 'tests'
|
|
38
|
+
Requires-Dist: rcsb-utils-citation>=0.25; extra == 'tests'
|
|
39
|
+
Requires-Dist: tox; extra == 'tests'
|
|
40
|
+
Description-Content-Type: text/markdown
|
|
48
41
|
|
|
49
42
|
# py-rcsb_exdb
|
|
50
43
|
|
|
@@ -68,14 +61,9 @@ git clone --recurse-submodules https://github.com/rcsb/py-rcsb_exdb.git
|
|
|
68
61
|
```
|
|
69
62
|
|
|
70
63
|
Optionally, run test suite (Python versions 2.7 and 3.7) using
|
|
71
|
-
[setuptools](https://setuptools.readthedocs.io/en/latest/) or
|
|
72
64
|
[tox](http://tox.readthedocs.io/en/latest/example/platform.html):
|
|
73
65
|
|
|
74
66
|
```bash
|
|
75
|
-
python setup.py test
|
|
76
|
-
|
|
77
|
-
or simply run
|
|
78
|
-
|
|
79
67
|
tox
|
|
80
68
|
```
|
|
81
69
|
|
|
@@ -83,9 +71,11 @@ Installation is via the program [pip](https://pypi.python.org/pypi/pip). To run
|
|
|
83
71
|
from the source tree, the package must be installed in editable mode (i.e. -e):
|
|
84
72
|
|
|
85
73
|
```bash
|
|
86
|
-
pip install -
|
|
74
|
+
pip install -e . --extra-index-url https://pypi.anaconda.org/OpenEye/simple
|
|
75
|
+
|
|
76
|
+
# or using uv
|
|
87
77
|
|
|
88
|
-
pip install -e .
|
|
78
|
+
uv pip install -e .
|
|
89
79
|
```
|
|
90
80
|
|
|
91
81
|
#### Installing in Ubuntu Linux (tested in 18.04)
|
|
@@ -20,14 +20,9 @@ git clone --recurse-submodules https://github.com/rcsb/py-rcsb_exdb.git
|
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
Optionally, run test suite (Python versions 2.7 and 3.7) using
|
|
23
|
-
[setuptools](https://setuptools.readthedocs.io/en/latest/) or
|
|
24
23
|
[tox](http://tox.readthedocs.io/en/latest/example/platform.html):
|
|
25
24
|
|
|
26
25
|
```bash
|
|
27
|
-
python setup.py test
|
|
28
|
-
|
|
29
|
-
or simply run
|
|
30
|
-
|
|
31
26
|
tox
|
|
32
27
|
```
|
|
33
28
|
|
|
@@ -35,9 +30,11 @@ Installation is via the program [pip](https://pypi.python.org/pypi/pip). To run
|
|
|
35
30
|
from the source tree, the package must be installed in editable mode (i.e. -e):
|
|
36
31
|
|
|
37
32
|
```bash
|
|
38
|
-
pip install -
|
|
33
|
+
pip install -e . --extra-index-url https://pypi.anaconda.org/OpenEye/simple
|
|
34
|
+
|
|
35
|
+
# or using uv
|
|
39
36
|
|
|
40
|
-
pip install -e .
|
|
37
|
+
uv pip install -e .
|
|
41
38
|
```
|
|
42
39
|
|
|
43
40
|
#### Installing in Ubuntu Linux (tested in 18.04)
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "rcsb.exdb"
|
|
7
|
+
description = "RCSB Python ExDB data extraction and loading workflows"
|
|
8
|
+
version = "1.31"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
authors = [
|
|
11
|
+
{ name="John Westbrook", email="john.westbrook@rcsb.org" }
|
|
12
|
+
]
|
|
13
|
+
maintainers = [
|
|
14
|
+
{ name="Dennis Piehl", email="dennis.piehl@rcsb.org" }
|
|
15
|
+
]
|
|
16
|
+
license = "Apache-2.0"
|
|
17
|
+
license-files = ["LICENSE"]
|
|
18
|
+
requires-python = ">=3.9" # Latest OpenEye (2025.1.1) only supports up to 3.12 (as of Nov. 2025)
|
|
19
|
+
classifiers = [
|
|
20
|
+
"Development Status :: 5 - Production/Stable",
|
|
21
|
+
"Intended Audience :: Developers",
|
|
22
|
+
"Natural Language :: English",
|
|
23
|
+
"Programming Language :: Python",
|
|
24
|
+
"Programming Language :: Python :: 3",
|
|
25
|
+
"Programming Language :: Python :: 3.12", # Latest OpenEye (2025.1.1) only supports up to 3.12 (as of Nov. 2025)
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
dependencies = [
|
|
29
|
+
# OpenEye is needed here despite it not being a direct requirement of this package (it's used by rcsb.utils.chem)
|
|
30
|
+
"OpenEye-toolkits >= 2024.1.1",
|
|
31
|
+
#
|
|
32
|
+
"numpy",
|
|
33
|
+
"jsonschema >= 2.6.0",
|
|
34
|
+
"rcsb.utils.io >= 1.48",
|
|
35
|
+
"rcsb.db >= 1.808",
|
|
36
|
+
"rcsb.utils.chem >= 0.84",
|
|
37
|
+
"rcsb.utils.chemref >= 0.91",
|
|
38
|
+
"rcsb.utils.config >= 0.40",
|
|
39
|
+
"rcsb.utils.ec >= 0.25",
|
|
40
|
+
"rcsb.utils.go >= 0.18",
|
|
41
|
+
"rcsb.utils.seq >= 0.82",
|
|
42
|
+
"rcsb.utils.targets >= 0.82",
|
|
43
|
+
"rcsb.utils.struct >= 0.47",
|
|
44
|
+
"rcsb.utils.taxonomy >= 0.43",
|
|
45
|
+
"rcsb.utils.dictionary >= 1.27",
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
[project.optional-dependencies]
|
|
49
|
+
tests = ["tox", "pylint", "black>=21.5b1", "flake8", "coverage", "rcsb.utils.citation>=0.25", "check-manifest"]
|
|
50
|
+
|
|
51
|
+
[project.urls]
|
|
52
|
+
Homepage = "https://github.com/rcsb/py-rcsb_exdb"
|
|
53
|
+
|
|
54
|
+
# ---------------- hatch configuration ----------------
|
|
55
|
+
[tool.hatch.build.targets.sdist]
|
|
56
|
+
include = [
|
|
57
|
+
"/rcsb/**",
|
|
58
|
+
"/README.md",
|
|
59
|
+
"/LICENSE",
|
|
60
|
+
"/HISTORY.txt",
|
|
61
|
+
"/pyproject.toml",
|
|
62
|
+
]
|
|
63
|
+
exclude = [
|
|
64
|
+
"/rcsb/mock-*",
|
|
65
|
+
"/rcsb/exdb/test*/test*-*",
|
|
66
|
+
"/rcsb/exdb/test*/**.tdd",
|
|
67
|
+
"/rcsb/exdb/test*/**.txt",
|
|
68
|
+
"/rcsb/exdb/test*/**.sh",
|
|
69
|
+
]
|
|
70
|
+
|
|
71
|
+
[tool.hatch.build.targets.wheel]
|
|
72
|
+
packages = ["rcsb"]
|
|
73
|
+
exclude = [
|
|
74
|
+
"/rcsb/db/test*",
|
|
75
|
+
"/rcsb/mock-*",
|
|
76
|
+
]
|
|
77
|
+
|
|
78
|
+
[tool.hatch.envs.default]
|
|
79
|
+
skip-install = true
|
|
80
|
+
dependencies = ["OpenEye-toolkits>=2024.1.1"]
|
|
81
|
+
|
|
82
|
+
[tool.hatch.envs.default.env-vars]
|
|
83
|
+
PIP_EXTRA_INDEX_URL = "https://pypi.anaconda.org/OpenEye/simple"
|
|
84
|
+
|
|
85
|
+
# ---------------- test configuration ----------------
|
|
86
|
+
[tool.hatch.envs.hatch-test]
|
|
87
|
+
dependencies = ["tox"]
|
|
88
|
+
|
|
89
|
+
[tool.hatch.envs.hatch-test.scripts]
|
|
90
|
+
run = ["tox"]
|
|
91
|
+
|
|
92
|
+
# ---------------- UV configuration ----------------
|
|
93
|
+
[tool.uv]
|
|
94
|
+
extra-index-url = ["https://pypi.anaconda.org/OpenEye/simple"]
|
|
95
|
+
managed = false # This prevents uv from automatically creating venvs within individual packages when running 'uv run ...' from within the package directory
|