ERICCa 0.1.0__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 (59) hide show
  1. ericca-0.1.0/.github/workflows/ci.yml +30 -0
  2. ericca-0.1.0/.github/workflows/docs.yml +49 -0
  3. ericca-0.1.0/.github/workflows/publish.yml +47 -0
  4. ericca-0.1.0/.gitignore +76 -0
  5. ericca-0.1.0/ERICCa_Logo.png +0 -0
  6. ericca-0.1.0/LICENSE +22 -0
  7. ericca-0.1.0/PKG-INFO +100 -0
  8. ericca-0.1.0/README.md +55 -0
  9. ericca-0.1.0/docs/api/cross_sections.rst +6 -0
  10. ericca-0.1.0/docs/api/density.rst +6 -0
  11. ericca-0.1.0/docs/api/index.rst +9 -0
  12. ericca-0.1.0/docs/api/profile_function.rst +6 -0
  13. ericca-0.1.0/docs/conf.py +27 -0
  14. ericca-0.1.0/docs/index.rst +42 -0
  15. ericca-0.1.0/docs/installation.rst +19 -0
  16. ericca-0.1.0/pyproject.toml +48 -0
  17. ericca-0.1.0/requirements.txt +2 -0
  18. ericca-0.1.0/setup.cfg +4 -0
  19. ericca-0.1.0/src/ERICCA/__init__.py +5 -0
  20. ericca-0.1.0/src/ERICCA/__version__.py +24 -0
  21. ericca-0.1.0/src/ERICCA/baseline.py +648 -0
  22. ericca-0.1.0/src/ERICCA/cross_sections.py +379 -0
  23. ericca-0.1.0/src/ERICCA/density.py +118 -0
  24. ericca-0.1.0/src/ERICCA/new_profile_funct_params.txt +19 -0
  25. ericca-0.1.0/src/ERICCA/profile_funct_param_matter.txt +18 -0
  26. ericca-0.1.0/src/ERICCA/profile_function.py +88 -0
  27. ericca-0.1.0/src/ERICCa.egg-info/PKG-INFO +100 -0
  28. ericca-0.1.0/src/ERICCa.egg-info/SOURCES.txt +57 -0
  29. ericca-0.1.0/src/ERICCa.egg-info/dependency_links.txt +1 -0
  30. ericca-0.1.0/src/ERICCa.egg-info/requires.txt +11 -0
  31. ericca-0.1.0/src/ERICCa.egg-info/scm_file_list.json +53 -0
  32. ericca-0.1.0/src/ERICCa.egg-info/scm_version.json +8 -0
  33. ericca-0.1.0/src/ERICCa.egg-info/top_level.txt +1 -0
  34. ericca-0.1.0/tests/conftest.py +46 -0
  35. ericca-0.1.0/tests/test_startup.py +304 -0
  36. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/12C_radius.txt +31 -0
  37. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/12Crho-mass.txt +31 -0
  38. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/12Crho-neut.txt +31 -0
  39. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/12Crho-prot.txt +31 -0
  40. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/40Carho-mass.txt +36 -0
  41. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/41Carho-neut.txt +36 -0
  42. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/42Ca_radius.txt +36 -0
  43. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/42Carho-neut.txt +36 -0
  44. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/42Carho-prot.txt +36 -0
  45. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/43Carho-mass.txt +36 -0
  46. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/44Carho-mass.txt +36 -0
  47. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/45Carho-neut.txt +36 -0
  48. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/48Carho-prot.txt +36 -0
  49. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/52Carho-neut.txt +37 -0
  50. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/53Carho-mass.txt +37 -0
  51. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/54Carho-mass.txt +37 -0
  52. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/55Carho-neut.txt +37 -0
  53. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/56Carho-neut.txt +37 -0
  54. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/57Carho-mass.txt +37 -0
  55. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/58Ca_radius.txt +37 -0
  56. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/58Carho-prot.txt +37 -0
  57. ericca-0.1.0/tutorials/Cor_dens_Update/Cor_Ca_C_Mass_dens/59Ca_radius.txt +37 -0
  58. ericca-0.1.0/tutorials/ERICCa_TLDR.ipynb +48 -0
  59. ericca-0.1.0/tutorials/ERICCa_Tutorial.ipynb +645 -0
@@ -0,0 +1,30 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main, dev]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.11", "3.13"]
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0 # needed for setuptools_scm version detection
20
+
21
+ - name: Set up Python ${{ matrix.python-version }}
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: ${{ matrix.python-version }}
25
+
26
+ - name: Install package and dev dependencies
27
+ run: pip install -e ".[dev]"
28
+
29
+ - name: Run fast tests
30
+ run: pytest -m "not slow" -v
@@ -0,0 +1,49 @@
1
+ name: Docs
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+
7
+ permissions:
8
+ contents: read
9
+ pages: write
10
+ id-token: write
11
+
12
+ concurrency:
13
+ group: pages
14
+ cancel-in-progress: true
15
+
16
+ jobs:
17
+ build:
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ with:
22
+ fetch-depth: 0
23
+
24
+ - name: Set up Python
25
+ uses: actions/setup-python@v5
26
+ with:
27
+ python-version: "3.11"
28
+
29
+ - name: Install package and doc dependencies
30
+ run: pip install -e ".[docs]"
31
+
32
+ - name: Build Sphinx docs
33
+ run: sphinx-build -b html docs docs/_build/html
34
+
35
+ - name: Upload pages artifact
36
+ uses: actions/upload-pages-artifact@v3
37
+ with:
38
+ path: docs/_build/html
39
+
40
+ deploy:
41
+ needs: build
42
+ runs-on: ubuntu-latest
43
+ environment:
44
+ name: github-pages
45
+ url: ${{ steps.deployment.outputs.page_url }}
46
+ steps:
47
+ - name: Deploy to GitHub Pages
48
+ id: deployment
49
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,47 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ build:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v4
12
+ with:
13
+ fetch-depth: 0
14
+
15
+ - name: Set up Python
16
+ uses: actions/setup-python@v5
17
+ with:
18
+ python-version: "3.11"
19
+
20
+ - name: Install build tools
21
+ run: pip install build
22
+
23
+ - name: Build wheel and sdist
24
+ run: python -m build
25
+
26
+ - name: Upload distribution artifacts
27
+ uses: actions/upload-artifact@v4
28
+ with:
29
+ name: dist
30
+ path: dist/
31
+
32
+ publish:
33
+ needs: build
34
+ runs-on: ubuntu-latest
35
+ environment: pypi
36
+ permissions:
37
+ id-token: write # required for OIDC trusted publishing
38
+
39
+ steps:
40
+ - name: Download distribution artifacts
41
+ uses: actions/download-artifact@v4
42
+ with:
43
+ name: dist
44
+ path: dist/
45
+
46
+ - name: Publish to PyPI
47
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,76 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ *.pyd
7
+
8
+ # Distribution / packaging
9
+ dist/
10
+ build/
11
+ *.egg-info/
12
+ *.egg
13
+ MANIFEST
14
+ .eggs/
15
+ wheels/
16
+ sdist/
17
+
18
+ # Virtual environments
19
+ .venv/
20
+ venv/
21
+ env/
22
+ ENV/
23
+ .env
24
+
25
+ # Installer logs
26
+ pip-log.txt
27
+ pip-delete-this-directory.txt
28
+
29
+ # Testing
30
+ .tox/
31
+ .nox/
32
+ .pytest_cache/
33
+ .coverage
34
+ .coverage.*
35
+ htmlcov/
36
+ coverage.xml
37
+ *.cover
38
+ nosetests.xml
39
+ junit*.xml
40
+
41
+ # Type checkers
42
+ .mypy_cache/
43
+ .dmypy.json
44
+ dmypy.json
45
+ .pytype/
46
+ .pyre/
47
+
48
+ # Jupyter
49
+ .ipynb_checkpoints/
50
+ *.ipynb_checkpoints
51
+
52
+ # IDEs
53
+ .vscode/
54
+ .idea/
55
+ *.swp
56
+ *.swo
57
+ *~
58
+ .spyderproject.proj
59
+ .spyproject
60
+ .ropeproject
61
+
62
+ # macOS
63
+ .DS_Store
64
+ .AppleDouble
65
+ .LSOverride
66
+
67
+ # Compiled C extensions
68
+ *.c
69
+ *.h.gch
70
+
71
+ # Profiling
72
+ *.prof
73
+
74
+ # Documentation builds
75
+ docs/_build/
76
+ site/src/ERICCA/__version__.py
Binary file
ericca-0.1.0/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ #Example License from https://packaging.python.org/en/latest/tutorials/packaging-projects/
2
+ #We will probably change this later!
3
+
4
+ Copyright (c) 2026 The Python Packaging Authority
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.
ericca-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,100 @@
1
+ Metadata-Version: 2.4
2
+ Name: ERICCa
3
+ Version: 0.1.0
4
+ Summary: A nuclear reaction code that calculates nucleus-nucleus reaction cross section in the eikonal framework
5
+ Author: Kyle Godbey
6
+ Author-email: Andrew John Smith <smithan@frib.msu.edu>
7
+ License: #Example License from https://packaging.python.org/en/latest/tutorials/packaging-projects/
8
+ #We will probably change this later!
9
+
10
+ Copyright (c) 2026 The Python Packaging Authority
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+
30
+ Classifier: Programming Language :: Python :: 3
31
+ Classifier: Operating System :: OS Independent
32
+ Requires-Python: >=3.11
33
+ Description-Content-Type: text/markdown
34
+ License-File: LICENSE
35
+ Requires-Dist: numpy>=2.2.6
36
+ Requires-Dist: scipy>=1.15.3
37
+ Provides-Extra: dev
38
+ Requires-Dist: pytest>=7.0; extra == "dev"
39
+ Requires-Dist: pytest-cov>=4.0; extra == "dev"
40
+ Provides-Extra: docs
41
+ Requires-Dist: sphinx>=7; extra == "docs"
42
+ Requires-Dist: furo; extra == "docs"
43
+ Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
44
+ Dynamic: license-file
45
+
46
+
47
+ <p align="center">
48
+ <img src="ERICCa_Logo.png" alt="drawing" width="300" />
49
+ </p>
50
+
51
+ # Eikonal Reaction, density Input, Cross section Calculator (ERICCa)
52
+
53
+ A reaction code that calculates nucleus-nucleus reaction cross section in the eikonal framework using nuclear densities as inputs.
54
+
55
+ ## quick start
56
+ ```
57
+ pip install ERICCa
58
+ ```
59
+ The release versions of the package are hosted at [INSERT]
60
+
61
+ ## Tutorials
62
+
63
+ Tutorials live in `/tutorials/`.
64
+
65
+ For the full tutorial use `tutorials/ERICCa_Tutorial.ipynb`.
66
+ For a condensed version use `tutorials/ERICCa_TLDR.ipynb`.
67
+
68
+ ## description
69
+
70
+ **ERICCa** (Eikonal Reaction, density Input, Cross section Calculator) is a Python package for calculating nucleus-nucleus reaction cross sections within the eikonal approximation framework. The code provides a flexible and robust approach to computing reaction observables by taking nuclear density distributions as direct inputs, allowing for accurate modeling of a wide range of nuclear reactions.
71
+
72
+ ### Key Features
73
+
74
+ - **Eikonal Framework**: Employs the two-body eikonal framework for fast computation of reaction cross sections
75
+ - **Density-Based Approach**:nuclear density distributions (matter or proton, and neutron densities) as inputs
76
+ - **Accurate Integration**: Implements multi-dimensional numerical integration with adaptive mesh configurations
77
+ - **Validated Results**: Benchmarked against experimental reaction data
78
+
79
+ ### Capabilities
80
+
81
+ ERICCa can calculate:
82
+ - Reaction cross sections using matter densities and proton and neutron densities as inputs and a profile function
83
+ - Automatic density generation based on rms matter radius and mass number
84
+ - Built-in profile functions for Energies 40-1000 MeV
85
+ The package is designed for experimental nuclear physicists
86
+
87
+ ## contributing, developing, and testing
88
+
89
+ ## citation
90
+ ```latex
91
+ @software{Smith_AJ_ERICCa_2026,
92
+ author = {A. J. Smith, K. Godbey, C. Hebborn},
93
+ license = {?},
94
+ month = May,
95
+ title = {{ERICCa}},
96
+ url = {?},
97
+ version = {1.0.0},
98
+ year = {2026}
99
+ }
100
+ ```
ericca-0.1.0/README.md ADDED
@@ -0,0 +1,55 @@
1
+
2
+ <p align="center">
3
+ <img src="ERICCa_Logo.png" alt="drawing" width="300" />
4
+ </p>
5
+
6
+ # Eikonal Reaction, density Input, Cross section Calculator (ERICCa)
7
+
8
+ A reaction code that calculates nucleus-nucleus reaction cross section in the eikonal framework using nuclear densities as inputs.
9
+
10
+ ## quick start
11
+ ```
12
+ pip install ERICCa
13
+ ```
14
+ The release versions of the package are hosted at [INSERT]
15
+
16
+ ## Tutorials
17
+
18
+ Tutorials live in `/tutorials/`.
19
+
20
+ For the full tutorial use `tutorials/ERICCa_Tutorial.ipynb`.
21
+ For a condensed version use `tutorials/ERICCa_TLDR.ipynb`.
22
+
23
+ ## description
24
+
25
+ **ERICCa** (Eikonal Reaction, density Input, Cross section Calculator) is a Python package for calculating nucleus-nucleus reaction cross sections within the eikonal approximation framework. The code provides a flexible and robust approach to computing reaction observables by taking nuclear density distributions as direct inputs, allowing for accurate modeling of a wide range of nuclear reactions.
26
+
27
+ ### Key Features
28
+
29
+ - **Eikonal Framework**: Employs the two-body eikonal framework for fast computation of reaction cross sections
30
+ - **Density-Based Approach**:nuclear density distributions (matter or proton, and neutron densities) as inputs
31
+ - **Accurate Integration**: Implements multi-dimensional numerical integration with adaptive mesh configurations
32
+ - **Validated Results**: Benchmarked against experimental reaction data
33
+
34
+ ### Capabilities
35
+
36
+ ERICCa can calculate:
37
+ - Reaction cross sections using matter densities and proton and neutron densities as inputs and a profile function
38
+ - Automatic density generation based on rms matter radius and mass number
39
+ - Built-in profile functions for Energies 40-1000 MeV
40
+ The package is designed for experimental nuclear physicists
41
+
42
+ ## contributing, developing, and testing
43
+
44
+ ## citation
45
+ ```latex
46
+ @software{Smith_AJ_ERICCa_2026,
47
+ author = {A. J. Smith, K. Godbey, C. Hebborn},
48
+ license = {?},
49
+ month = May,
50
+ title = {{ERICCa}},
51
+ url = {?},
52
+ version = {1.0.0},
53
+ year = {2026}
54
+ }
55
+ ```
@@ -0,0 +1,6 @@
1
+ cross\_sections
2
+ ===============
3
+
4
+ .. automodule:: ERICCA.cross_sections
5
+ :members:
6
+ :undoc-members: False
@@ -0,0 +1,6 @@
1
+ Density
2
+ =======
3
+
4
+ .. automodule:: ERICCA.density
5
+ :members:
6
+ :undoc-members: False
@@ -0,0 +1,9 @@
1
+ API Reference
2
+ =============
3
+
4
+ .. toctree::
5
+ :maxdepth: 1
6
+
7
+ cross_sections
8
+ density
9
+ profile_function
@@ -0,0 +1,6 @@
1
+ ProfileFunction
2
+ ===============
3
+
4
+ .. automodule:: ERICCA.profile_function
5
+ :members:
6
+ :undoc-members: False
@@ -0,0 +1,27 @@
1
+ import os
2
+ import sys
3
+
4
+ sys.path.insert(0, os.path.abspath("../src"))
5
+
6
+ project = "ERICCa"
7
+ copyright = "2026, A. J. Smith, K. Godbey, C. Hebborn"
8
+ author = "A. J. Smith, K. Godbey, C. Hebborn"
9
+
10
+ extensions = [
11
+ "sphinx.ext.autodoc",
12
+ "sphinx.ext.napoleon",
13
+ "sphinx.ext.viewcode",
14
+ "sphinx.ext.mathjax",
15
+ "sphinx_autodoc_typehints",
16
+ ]
17
+
18
+ autodoc_default_options = {
19
+ "members": True,
20
+ "undoc-members": False,
21
+ "show-inheritance": True,
22
+ }
23
+
24
+ html_theme = "furo"
25
+
26
+ napoleon_google_docstring = False
27
+ napoleon_numpy_docstring = True
@@ -0,0 +1,42 @@
1
+ ERICCa Documentation
2
+ ====================
3
+
4
+ .. toctree::
5
+ :maxdepth: 2
6
+ :caption: Contents
7
+
8
+ installation
9
+ api/index
10
+
11
+ ERICCa is a Python package for calculating nucleus-nucleus reaction cross
12
+ sections in the eikonal framework using optical limit approximation (OLA)
13
+ or modified optical limit (MOL) models.
14
+
15
+ Quick start
16
+ -----------
17
+
18
+ .. code-block:: python
19
+
20
+ import numpy as np
21
+ from ERICCA import CrossSection, Density, ProfileFunction
22
+
23
+ # Build nuclear densities (two-point Fermi fit)
24
+ dens = Density()
25
+ r = np.linspace(0.01, 15, 100)
26
+ dens.rho_m_2pt_fermi(12, 2.32) # A=12, rms=2.32 fm
27
+ rho = dens.rho_m(r)
28
+
29
+ # Profile function from tabulated NN parameters at E=325 MeV
30
+ pf = ProfileFunction(model_type="matter", E=325)
31
+
32
+ # Calculate reaction cross section
33
+ cs = CrossSection()
34
+ rho_b = cs.dens_b_interpolator(r, rho)
35
+ sigma = cs.sigma_R_matter(rho_b, rho_b, pf.Gamma, Model="OLA")
36
+ print(f"sigma_R = {sigma:.1f} mb")
37
+
38
+ Indices
39
+ -------
40
+
41
+ * :ref:`genindex`
42
+ * :ref:`modindex`
@@ -0,0 +1,19 @@
1
+ Installation
2
+ ============
3
+
4
+ From PyPI (once released)::
5
+
6
+ pip install ERICCa
7
+
8
+ Development install from source::
9
+
10
+ git clone https://github.com/your-org/ERICCa.git
11
+ cd ERICCa
12
+ pip install -e ".[dev]"
13
+
14
+ Requirements
15
+ ------------
16
+
17
+ * Python >= 3.9
18
+ * numpy >= 2.2.6
19
+ * scipy >= 1.15.3
@@ -0,0 +1,48 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "setuptools_scm[toml]>=6.2"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "ERICCa"
7
+ authors = [
8
+ {name="Andrew John Smith", email="smithan@frib.msu.edu"},
9
+ {name="Kyle Godbey"}
10
+ ]
11
+ description = "A nuclear reaction code that calculates nucleus-nucleus reaction cross section in the eikonal framework"
12
+ readme = "README.md"
13
+ license = { file="LICENSE" }
14
+ requires-python = ">=3.11"
15
+ dynamic = ["dependencies", "version"]
16
+ classifiers = [
17
+ "Programming Language :: Python :: 3",
18
+ "Operating System :: OS Independent",
19
+ ]
20
+
21
+ [project.optional-dependencies]
22
+ dev = [
23
+ "pytest>=7.0",
24
+ "pytest-cov>=4.0",
25
+ ]
26
+ docs = [
27
+ "sphinx>=7",
28
+ "furo",
29
+ "sphinx-autodoc-typehints",
30
+ ]
31
+
32
+ [tool.setuptools.packages.find]
33
+ where = ["src"]
34
+
35
+ [tool.setuptools.package-data]
36
+ ERICCA = ["*.txt"]
37
+
38
+ [tool.setuptools.dynamic]
39
+ dependencies = {file = ["requirements.txt"]}
40
+
41
+ [tool.setuptools_scm]
42
+ write_to = "src/ERICCA/__version__.py"
43
+
44
+ [tool.pytest.ini_options]
45
+ testpaths = ["tests"]
46
+ markers = [
47
+ "slow: marks tests that run full sigma_R computations (several seconds each)",
48
+ ]
@@ -0,0 +1,2 @@
1
+ numpy>=2.2.6
2
+ scipy>=1.15.3
ericca-0.1.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,5 @@
1
+ from .cross_sections import CrossSection
2
+ from .profile_function import ProfileFunction
3
+ from .density import Density
4
+
5
+ __all__ = ["CrossSection", "ProfileFunction", "Density"]
@@ -0,0 +1,24 @@
1
+ # file generated by vcs-versioning
2
+ # don't change, don't track in version control
3
+ from __future__ import annotations
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "__version_tuple__",
8
+ "version",
9
+ "version_tuple",
10
+ "__commit_id__",
11
+ "commit_id",
12
+ ]
13
+
14
+ version: str
15
+ __version__: str
16
+ __version_tuple__: tuple[int | str, ...]
17
+ version_tuple: tuple[int | str, ...]
18
+ commit_id: str | None
19
+ __commit_id__: str | None
20
+
21
+ __version__ = version = '0.1.0'
22
+ __version_tuple__ = version_tuple = (0, 1, 0)
23
+
24
+ __commit_id__ = commit_id = 'gd943c8ba7'