featuresyrup 0.0.1__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.
Files changed (29) hide show
  1. featuresyrup-0.0.1/LICENSE +22 -0
  2. featuresyrup-0.0.1/MANIFEST.in +7 -0
  3. featuresyrup-0.0.1/PKG-INFO +110 -0
  4. featuresyrup-0.0.1/README.md +68 -0
  5. featuresyrup-0.0.1/config_template.yaml +81 -0
  6. featuresyrup-0.0.1/environment.yml +40 -0
  7. featuresyrup-0.0.1/pyproject.toml +112 -0
  8. featuresyrup-0.0.1/setup.cfg +52 -0
  9. featuresyrup-0.0.1/src/featuresyrup/__init__.py +6 -0
  10. featuresyrup-0.0.1/src/featuresyrup/_version.py +1 -0
  11. featuresyrup-0.0.1/src/featuresyrup/batch_processing.py +1072 -0
  12. featuresyrup-0.0.1/src/featuresyrup/classes.py +1550 -0
  13. featuresyrup-0.0.1/src/featuresyrup/cli.py +1106 -0
  14. featuresyrup-0.0.1/src/featuresyrup/functions.py +2461 -0
  15. featuresyrup-0.0.1/src/featuresyrup/graph.py +1922 -0
  16. featuresyrup-0.0.1/src/featuresyrup.egg-info/PKG-INFO +110 -0
  17. featuresyrup-0.0.1/src/featuresyrup.egg-info/SOURCES.txt +28 -0
  18. featuresyrup-0.0.1/src/featuresyrup.egg-info/dependency_links.txt +1 -0
  19. featuresyrup-0.0.1/src/featuresyrup.egg-info/entry_points.txt +3 -0
  20. featuresyrup-0.0.1/src/featuresyrup.egg-info/not-zip-safe +1 -0
  21. featuresyrup-0.0.1/src/featuresyrup.egg-info/requires.txt +29 -0
  22. featuresyrup-0.0.1/src/featuresyrup.egg-info/top_level.txt +2 -0
  23. featuresyrup-0.0.1/src/graphpancake/__init__.py +1 -0
  24. featuresyrup-0.0.1/src/graphpancake/_version.py +1 -0
  25. featuresyrup-0.0.1/src/graphpancake/batch_processing.py +1 -0
  26. featuresyrup-0.0.1/src/graphpancake/classes.py +1 -0
  27. featuresyrup-0.0.1/src/graphpancake/cli.py +1 -0
  28. featuresyrup-0.0.1/src/graphpancake/functions.py +1 -0
  29. featuresyrup-0.0.1/src/graphpancake/graph.py +1 -0
@@ -0,0 +1,22 @@
1
+
2
+ MIT License
3
+
4
+ Copyright (c) 2026 Sneha Sil
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
@@ -0,0 +1,7 @@
1
+ include README.md
2
+ include LICENSE
3
+ include config_template.yaml
4
+ include environment.yml
5
+ include environment-dev.yml
6
+
7
+ global-exclude *.py[cod] __pycache__ *.so
@@ -0,0 +1,110 @@
1
+ Metadata-Version: 2.4
2
+ Name: featuresyrup
3
+ Version: 0.0.1
4
+ Summary: A catalyst-specific Python library for featurizing N-heterocyclic carbene organocatalysts, built on graphpancake
5
+ Home-page: https://github.com/sneha-sil/featuresyrup
6
+ Author: Sneha Sil
7
+ Author-email: Sneha Sil <snehasil2029@u.northwestern.edu>
8
+ License-Expression: MIT
9
+ Project-URL: Source, https://github.com/sneha-sil/featuresyrup
10
+ Project-URL: Documentation, https://github.com/sneha-sil/featuresyrup/tree/main/docs
11
+ Project-URL: Issues, https://github.com/sneha-sil/featuresyrup/issues
12
+ Classifier: Programming Language :: Python :: 3
13
+ Requires-Python: >=3.8
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: pandas
17
+ Requires-Dist: numpy
18
+ Requires-Dist: torch
19
+ Requires-Dist: torch-geometric
20
+ Requires-Dist: networkx
21
+ Requires-Dist: plotly
22
+ Requires-Dist: matplotlib
23
+ Requires-Dist: pyyaml
24
+ Requires-Dist: rdkit
25
+ Requires-Dist: morfeus
26
+ Requires-Dist: dscribe
27
+ Requires-Dist: regex
28
+ Requires-Dist: tqdm
29
+ Requires-Dist: psutil
30
+ Requires-Dist: importlib-resources; python_version < "3.10"
31
+ Provides-Extra: test
32
+ Requires-Dist: pytest>=6.1.2; extra == "test"
33
+ Provides-Extra: docs
34
+ Requires-Dist: sphinx>=4.0; extra == "docs"
35
+ Requires-Dist: sphinx-rtd-theme; extra == "docs"
36
+ Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
37
+ Requires-Dist: sphinx-design; extra == "docs"
38
+ Requires-Dist: sphinx-copybutton; extra == "docs"
39
+ Requires-Dist: myst-parser; extra == "docs"
40
+ Requires-Dist: shibuya; extra == "docs"
41
+ Dynamic: license-file
42
+
43
+ # featuresyrup
44
+
45
+ featuresyrup is a catalyst-specific modification of graphpancake (Sil 2025) designed for the featurization of N-heterocyclic carbene (NHC) organocatalysts. The additional features on top of graphpancake includes: NMR shieldings, IR intensities, FMO energies, Morfeus descriptors, ACSF, SOAP, and Fukui indices.
46
+
47
+ ## Installation
48
+
49
+ ### Recommended: conda environment
50
+
51
+ ```bash
52
+ conda env create -f environment.yml
53
+ conda activate featuresyrup-env
54
+ pip install -e .
55
+ ```
56
+
57
+ ### Pip installation
58
+
59
+ ```bash
60
+ pip install featuresyrup
61
+ ```
62
+
63
+ ## Quick start
64
+
65
+ ```bash
66
+ featuresyrup create-db featuresyrup.db
67
+
68
+ featuresyrup load-data \
69
+ --database featuresyrup.db \
70
+ --mol-id benzaldehyde_nhc \
71
+ --smiles "C1=CC=C(C=C1)C[NH]C2=CC=CC=C2" \
72
+ --xyz-file benzaldehyde.xyz \
73
+ --shermo-output benzaldehyde_shermo.out \
74
+ --neutral-output benzaldehyde_neutral.out \
75
+ --cationic-output benzaldehyde_cation.out \
76
+ --anionic-output benzaldehyde_anion.out \
77
+ --neutral-nbo benzaldehyde_neutral_nbo.out \
78
+ --cationic-nbo benzaldehyde_cation_nbo.out \
79
+ --anionic-nbo benzaldehyde_anion_nbo.out \
80
+ --nmr-output benzaldehyde_nmr.out \
81
+ --IR-output benzaldehyde_ir.out \
82
+ --dipole-polarizability-output benzaldehyde_dipole.out \
83
+ --homo-lumo-output benzaldehyde_homo_lumo.out
84
+
85
+ featuresyrup query --database featuresyrup.db
86
+ ```
87
+
88
+ Batch processing uses the same catalyst contract:
89
+
90
+ ```bash
91
+ python -m featuresyrup.batch_processing --config config.yaml
92
+ ```
93
+
94
+ ## Documentation
95
+
96
+ The full user guide and API reference live in the docs folder and are built with Sphinx. The documentation is aligned with the catalyst-only pipeline used by the package.
97
+
98
+ ## Dependencies to cite
99
+
100
+ - Sil, S., Maskeri, M. A., and Scheidt, K. A. graphpancake: A Python package for representing organic molecules as molecular graphs utilizing electronic structure theory. J. Cheminform. 18, 61 (2026). DOI: 10.5281/zenodo.17553385
101
+ - Jorner, K. morfeus: a Python package for calculating molecular features. Project documentation: https://github.com/digital-chemistry-laboratory/morfeus
102
+ - Himanen, L., Jäger, M. O. J., Vatanen, T., Eriksson, O., and Fellowes, C. DScribe: Library of descriptors for machine learning in materials science. Comput. Phys. Commun. 247, 106949 (2020). DOI: 10.1016/j.cpc.2019.106949
103
+ - Neese, F. et al. The ORCA quantum chemistry program package. J. Chem. Phys. 2020, 152, 224108
104
+ - Nikolaienko et al. JANPA: an open source cross-platform implementation of the Natural Population Analysis on the Java platform, Computational and Theoretical Chemistry 2014, 1050, 15-22, DOI: 10.1016/j.comptc.2014.10.002, http://janpa.sourceforge.net
105
+ - Glendening, E. D., Landis, C. R., Weinhold, F. NBO 7.0: New vistas in localized and delocalized chemical bonding theory. Journal of Computational Chemistry 2019, 40 (25), 2234-2241. https://doi.org/10.1002/jcc.25873
106
+ - Tian, L., Qinxue, C., Shermo: A general code for calculating molecular thermodynamic properties, Comput. Theor. Chem. 2021, 1200, 113249 DOI: 10.1016/j.comptc.2021.113249
107
+
108
+ ## License
109
+
110
+ MIT License. See [LICENSE](LICENSE) for details.
@@ -0,0 +1,68 @@
1
+ # featuresyrup
2
+
3
+ featuresyrup is a catalyst-specific modification of graphpancake (Sil 2025) designed for the featurization of N-heterocyclic carbene (NHC) organocatalysts. The additional features on top of graphpancake includes: NMR shieldings, IR intensities, FMO energies, Morfeus descriptors, ACSF, SOAP, and Fukui indices.
4
+
5
+ ## Installation
6
+
7
+ ### Recommended: conda environment
8
+
9
+ ```bash
10
+ conda env create -f environment.yml
11
+ conda activate featuresyrup-env
12
+ pip install -e .
13
+ ```
14
+
15
+ ### Pip installation
16
+
17
+ ```bash
18
+ pip install featuresyrup
19
+ ```
20
+
21
+ ## Quick start
22
+
23
+ ```bash
24
+ featuresyrup create-db featuresyrup.db
25
+
26
+ featuresyrup load-data \
27
+ --database featuresyrup.db \
28
+ --mol-id benzaldehyde_nhc \
29
+ --smiles "C1=CC=C(C=C1)C[NH]C2=CC=CC=C2" \
30
+ --xyz-file benzaldehyde.xyz \
31
+ --shermo-output benzaldehyde_shermo.out \
32
+ --neutral-output benzaldehyde_neutral.out \
33
+ --cationic-output benzaldehyde_cation.out \
34
+ --anionic-output benzaldehyde_anion.out \
35
+ --neutral-nbo benzaldehyde_neutral_nbo.out \
36
+ --cationic-nbo benzaldehyde_cation_nbo.out \
37
+ --anionic-nbo benzaldehyde_anion_nbo.out \
38
+ --nmr-output benzaldehyde_nmr.out \
39
+ --IR-output benzaldehyde_ir.out \
40
+ --dipole-polarizability-output benzaldehyde_dipole.out \
41
+ --homo-lumo-output benzaldehyde_homo_lumo.out
42
+
43
+ featuresyrup query --database featuresyrup.db
44
+ ```
45
+
46
+ Batch processing uses the same catalyst contract:
47
+
48
+ ```bash
49
+ python -m featuresyrup.batch_processing --config config.yaml
50
+ ```
51
+
52
+ ## Documentation
53
+
54
+ The full user guide and API reference live in the docs folder and are built with Sphinx. The documentation is aligned with the catalyst-only pipeline used by the package.
55
+
56
+ ## Dependencies to cite
57
+
58
+ - Sil, S., Maskeri, M. A., and Scheidt, K. A. graphpancake: A Python package for representing organic molecules as molecular graphs utilizing electronic structure theory. J. Cheminform. 18, 61 (2026). DOI: 10.5281/zenodo.17553385
59
+ - Jorner, K. morfeus: a Python package for calculating molecular features. Project documentation: https://github.com/digital-chemistry-laboratory/morfeus
60
+ - Himanen, L., Jäger, M. O. J., Vatanen, T., Eriksson, O., and Fellowes, C. DScribe: Library of descriptors for machine learning in materials science. Comput. Phys. Commun. 247, 106949 (2020). DOI: 10.1016/j.cpc.2019.106949
61
+ - Neese, F. et al. The ORCA quantum chemistry program package. J. Chem. Phys. 2020, 152, 224108
62
+ - Nikolaienko et al. JANPA: an open source cross-platform implementation of the Natural Population Analysis on the Java platform, Computational and Theoretical Chemistry 2014, 1050, 15-22, DOI: 10.1016/j.comptc.2014.10.002, http://janpa.sourceforge.net
63
+ - Glendening, E. D., Landis, C. R., Weinhold, F. NBO 7.0: New vistas in localized and delocalized chemical bonding theory. Journal of Computational Chemistry 2019, 40 (25), 2234-2241. https://doi.org/10.1002/jcc.25873
64
+ - Tian, L., Qinxue, C., Shermo: A general code for calculating molecular thermodynamic properties, Comput. Theor. Chem. 2021, 1200, 113249 DOI: 10.1016/j.comptc.2021.113249
65
+
66
+ ## License
67
+
68
+ MIT License. See [LICENSE](LICENSE) for details.
@@ -0,0 +1,81 @@
1
+ # featuresyrup configuration template for batch processing
2
+ #
3
+ # Copy this file and customize the paths for your data structure.
4
+ # Save as config.yaml and use with: python -m featuresyrup.batch_processing --config config.yaml
5
+
6
+ data_paths:
7
+ # Option 1: Individual directories (set archive_file to null if using this)
8
+ base_dir: null # "/path/to/your/molecular/data"
9
+ xyz_dir: null # "/path/to/your/molecular/data/xyz_files"
10
+ shermo_dir: null # "/path/to/your/molecular/data/shermo_outputs"
11
+ janpa_dir: null # "/path/to/your/molecular/data/janpa_outputs"
12
+ nbo_dir: null # "/path/to/your/molecular/data/nbo_outputs"
13
+ neutral_output_dir: null # "/path/to/your/molecular/data/neutral_orca_outputs"
14
+ cationic_output_dir: null # "/path/to/your/molecular/data/cationic_orca_outputs"
15
+ anionic_output_dir: null # "/path/to/your/molecular/data/anionic_orca_outputs"
16
+ neutral_nbo_dir: null # "/path/to/your/molecular/data/neutral_nbo_outputs"
17
+ cationic_nbo_dir: null # "/path/to/your/molecular/data/cationic_nbo_outputs"
18
+ anionic_nbo_dir: null # "/path/to/your/molecular/data/anionic_nbo_outputs"
19
+ nmr_dir: null # "/path/to/your/molecular/data/nmr_outputs"
20
+ IR_dir: null # "/path/to/your/molecular/data/ir_outputs"
21
+ dipole_polarizability_dir: null # "/path/to/your/molecular/data/dipole_polarizability_outputs"
22
+ homo_lumo_dir: null # "/path/to/your/molecular/data/homo_lumo_outputs"
23
+
24
+ # Option 2: Compressed archive containing all data (set directories to null if using this)
25
+ archive_file: /home/uvx4187/featuresyrup_data/SS-07-07_data.tar.gz # "/path/to/your/data.tar.gz"
26
+
27
+ file_patterns:
28
+ # IMPORTANT: featuresyrup expects the full catalyst input set.
29
+ # Matching files to your molecular identifier, customize each pattern as necessary.
30
+ # Use {mol_id} as placeholder for the molecule identifier
31
+ xyz_pattern: "{mol_id}_geom.xyz" # e.g., mol_001_geom.xyz
32
+ shermo_pattern: "{mol_id}_shermo.out" # e.g., mol_001_shermo.out
33
+ janpa_pattern: "{mol_id}_wft.JANPA" # e.g., mol_001_wft.JANPA
34
+ nbo_pattern: "{mol_id}_nbo.out" # e.g., mol_001_nbo.out
35
+ neutral_output_pattern: "{mol_id}_neutral.out" # e.g., mol_001_neutral.out
36
+ cationic_output_pattern: "{mol_id}_cation.out" # e.g., mol_001_cation.out
37
+ anionic_output_pattern: "{mol_id}_anion.out" # e.g., mol_001_anion.out
38
+ neutral_nbo_pattern: "{mol_id}_neutral_nbo.out" # e.g., mol_001_neutral_nbo.out
39
+ cationic_nbo_pattern: "{mol_id}_cation_nbo.out" # e.g., mol_001_cation_nbo.out
40
+ anionic_nbo_pattern: "{mol_id}_anion_nbo.out" # e.g., mol_001_anion_nbo.out
41
+ nmr_pattern: "{mol_id}_nmr.out" # e.g., mol_001_nmr.out
42
+ IR_pattern: "{mol_id}_ir.out" # e.g., mol_001_ir.out
43
+ dipole_polarizability_pattern: "{mol_id}_dipole.out" # e.g., mol_001_dipole.out
44
+ homo_lumo_pattern: "{mol_id}_homo_lumo.out" # e.g., mol_001_homo_lumo.out
45
+
46
+ # CSV file containing molecular identifiers, SMILES strings, and miscellaneous properties
47
+ data_file: "/home/uvx4187/featuresyrup_data/SS-07-07_data.csv"
48
+
49
+ labels_file: "/home/uvx4187/featuresyrup_data/SS-07-07_labels.csv" # CSV file with labels corresponding to rows in the data csv file (can be the same as the data_file)
50
+
51
+ labels_config:
52
+ # Column names in your labels CSV file
53
+ id_column: "mol_id" # Column containing unique molecule identifiers, taken from data csv
54
+ smiles_column: "SMILES" # Column containing SMILES strings, taken from data csv
55
+ labels_column: "logP" # Column containing target property for regression/classification, taken from labels csv
56
+
57
+ settings:
58
+ max_workers: 16 # Number of parallel workers (setting this too high will lock the database!)
59
+ batch_size: 1000 # Molecules processed per batch
60
+
61
+ memory:
62
+ clear_cache_frequency: 1000 # Clear file cache every N molecules
63
+ max_memory_usage_gb: 16.0 # Approximate memory limit (GB)
64
+
65
+ cleanup:
66
+ remove_temp_files: true # Remove temporary extraction directory after processing
67
+
68
+ output:
69
+ database_name: "SS-07-07_QM" # Whether to overwrite existing database
70
+ export_ml_features: true # Export a csv file of ML features
71
+ ml_export_dir: "/home/uvx4187/featuresyrup_data" # Directory for ML feature exports
72
+
73
+ error_handling:
74
+ continue_on_error: true # Continue processing if some molecules fail
75
+ save_error_log: true # Save failed molecules to JSON file
76
+ max_errors: 1000 # Stop processing after this many errors
77
+
78
+ logging:
79
+ level: "INFO" # DEBUG, INFO, WARNING, ERROR
80
+ save_to_file: true # Save logs to file
81
+ log_file: "SS-07-07_batch_processing.log" # Log file name
@@ -0,0 +1,40 @@
1
+ name: featuresyrup-env
2
+ channels:
3
+ - conda-forge
4
+ - defaults
5
+ dependencies:
6
+ # Base Python environment
7
+ - python>=3.8
8
+ - pip
9
+
10
+ # Core dependencies (conda-forge when possible for better compatibility)
11
+ - pandas
12
+ - numpy
13
+ - rdkit
14
+ - networkx
15
+ - matplotlib
16
+ - pyyaml
17
+ - tqdm
18
+ - psutil
19
+ - regex
20
+ - plotly
21
+ - morfeus
22
+ - dscribe
23
+
24
+ # PyTorch ecosystem (conda-forge)
25
+ - pytorch
26
+ - pyg # PyTorch Geometric
27
+
28
+ # Database and file handling
29
+ - sqlite # For database operations (sqlite3 module uses this)
30
+
31
+ # Python version specific
32
+ - importlib-resources # Only needed for Python <3.10
33
+
34
+ # Development and build tools
35
+ - setuptools
36
+ - wheel
37
+
38
+ # Install featuresyrup from the local checkout via pip
39
+ - pip:
40
+ - -e .
@@ -0,0 +1,112 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ # Self-descriptive entries which should always be present
6
+ # https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
7
+ [project]
8
+ name = "featuresyrup"
9
+ description = "A catalyst-specific Python library for featurizing N-heterocyclic carbene organocatalysts, built on graphpancake"
10
+ version = "0.0.1"
11
+ readme = "README.md"
12
+ authors = [
13
+ { name = "Sneha Sil", email = "snehasil2029@u.northwestern.edu" }
14
+ ]
15
+ license = "MIT"
16
+ license-files = ["LICENSE"]
17
+ # See https://pypi.org/classifiers/
18
+ classifiers = [
19
+ "Programming Language :: Python :: 3",
20
+ ]
21
+ requires-python = ">=3.8"
22
+ dependencies = [
23
+ "pandas",
24
+ "numpy",
25
+ "torch",
26
+ "torch-geometric",
27
+ "networkx",
28
+ "plotly",
29
+ "matplotlib",
30
+ "pyyaml",
31
+ "rdkit",
32
+ "morfeus",
33
+ "dscribe",
34
+ "regex",
35
+ "tqdm",
36
+ "psutil",
37
+ "importlib-resources; python_version<'3.10'",
38
+ ]
39
+
40
+ [project.urls]
41
+ Source = "https://github.com/sneha-sil/featuresyrup"
42
+ Documentation = "https://github.com/sneha-sil/featuresyrup/tree/main/docs"
43
+ Issues = "https://github.com/sneha-sil/featuresyrup/issues"
44
+
45
+ [project.scripts]
46
+ featuresyrup = "featuresyrup.cli:main"
47
+ graphpancake = "featuresyrup.cli:main"
48
+
49
+ [project.optional-dependencies]
50
+ test = [
51
+ "pytest>=6.1.2",
52
+ ]
53
+ docs = [
54
+ "sphinx>=4.0",
55
+ "sphinx-rtd-theme",
56
+ "sphinx-autodoc-typehints",
57
+ "sphinx-design",
58
+ "sphinx-copybutton",
59
+ "myst-parser",
60
+ "shibuya",
61
+ ]
62
+
63
+ [tool.setuptools]
64
+ # This subkey is a beta stage development and keys may change in the future, see https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html for more details
65
+ #
66
+ # As of version 0.971, mypy does not support type checking of installed zipped
67
+ # packages (because it does not actually import the Python packages).
68
+ # We declare the package not-zip-safe so that our type hints are also available
69
+ # when checking client code that uses our (installed) package.
70
+ # Ref:
71
+ # https://mypy.readthedocs.io/en/stable/installed_packages.html?highlight=zip#using-installed-packages-with-mypy-pep-561
72
+ zip-safe = false
73
+ # Let setuptools discover the package in the current directory,
74
+ # but be explicit about non-Python files.
75
+ # See also:
76
+ # https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#setuptools-specific-configuration
77
+ # Note that behavior is currently evolving with respect to how to interpret the
78
+ # "data" and "tests" subdirectories. As of setuptools 63, both are automatically
79
+ # included if namespaces is true (default), even if the package is named explicitly
80
+ # (instead of using 'find'). With 'find', the 'tests' subpackage is discovered
81
+ # recursively because of its __init__.py file, but the data subdirectory is excluded
82
+ # with include-package-data = false and namespaces = false.
83
+
84
+ include-package-data = false
85
+ [tool.setuptools.packages.find]
86
+ namespaces = false
87
+ where = ["src"]
88
+
89
+ # Ref https://setuptools.pypa.io/en/latest/userguide/datafiles.html#package-data
90
+ [tool.setuptools.package-data]
91
+
92
+ featuresyrup = [
93
+ "py.typed"
94
+ ]
95
+
96
+ [tool.versioningit]
97
+ default-version = "1+unknown"
98
+
99
+ [tool.versioningit.format]
100
+ distance = "{base_version}+{distance}.{vcs}{rev}"
101
+ dirty = "{base_version}+{distance}.{vcs}{rev}.dirty"
102
+ distance-dirty = "{base_version}+{distance}.{vcs}{rev}.dirty"
103
+
104
+ [tool.versioningit.vcs]
105
+ # The method key:
106
+ method = "git" # <- The method name
107
+ # Parameters to pass to the method:
108
+ match = ["*"]
109
+ default-tag = "1.0.0"
110
+
111
+ [tool.versioningit.write]
112
+ file = "src/featuresyrup/_version.py"
@@ -0,0 +1,52 @@
1
+ [metadata]
2
+ name = featuresyrup
3
+ version = 0.0.1
4
+ description = A catalyst-specific Python library for featurizing N-heterocyclic carbene organocatalysts, built on graphpancake.
5
+ author = Sneha Sil
6
+ author_email = snehasil2029@u.northwestern.edu
7
+ license = MIT
8
+ long_description = file: README.md
9
+ long_description_content_type = text/markdown
10
+ url = https://github.com/sneha-sil/featuresyrup
11
+
12
+ [options]
13
+ packages = find:
14
+ package_dir =
15
+ = src
16
+ python_requires = >=3.8
17
+ install_requires =
18
+ pandas
19
+ numpy
20
+ torch
21
+ torch-geometric
22
+ networkx
23
+ plotly
24
+ matplotlib
25
+ morfeus
26
+ dscribe
27
+ qmllib
28
+ importlib-resources; python_version<'3.10'
29
+
30
+ [options.package_data]
31
+ featuresyrup = data/*.dat
32
+
33
+ [coverage:run]
34
+ omit =
35
+ */tests/*
36
+ src/featuresyrup/_version.py
37
+
38
+ [yapf]
39
+ COLUMN_LIMIT = 119
40
+ INDENT_WIDTH = 4
41
+ USE_TABS = False
42
+
43
+ [flake8]
44
+ max-line-length = 119
45
+
46
+ [aliases]
47
+ test = pytest
48
+
49
+ [egg_info]
50
+ tag_build =
51
+ tag_date = 0
52
+
@@ -0,0 +1,6 @@
1
+ """FeatureSyrup: catalyst-focused molecular feature extraction and graph export."""
2
+
3
+ from ._version import __version__
4
+ from .classes import DictData, Edge, GraphInfo, Node, Targets
5
+ from .functions import *
6
+ from .graph import Graph, GraphDatabase, MolecularGraph
@@ -0,0 +1 @@
1
+ __version__ = "1.0.0+18.g9938c35.dirty"