sdypy-model 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.
- sdypy_model-0.1.0/.github/workflows/pytest.yaml +32 -0
- sdypy_model-0.1.0/.github/workflows/release_and_publish_on_pypi.yaml +28 -0
- sdypy_model-0.1.0/.gitignore +109 -0
- sdypy_model-0.1.0/CONTRIBUTING.rst +78 -0
- sdypy_model-0.1.0/License +21 -0
- sdypy_model-0.1.0/PKG-INFO +89 -0
- sdypy_model-0.1.0/README.md +52 -0
- sdypy_model-0.1.0/docs/Makefile +19 -0
- sdypy_model-0.1.0/docs/make.bat +35 -0
- sdypy_model-0.1.0/docs/source/code.rst +3 -0
- sdypy_model-0.1.0/docs/source/conf.py +207 -0
- sdypy_model-0.1.0/docs/source/getting_started.rst +6 -0
- sdypy_model-0.1.0/docs/source/images/use_template.png +0 -0
- sdypy_model-0.1.0/docs/source/index.rst +18 -0
- sdypy_model-0.1.0/examples/__init__.py +0 -0
- sdypy_model-0.1.0/examples/beam_example.py +39 -0
- sdypy_model-0.1.0/examples/data/Beam - simple.msh +5527 -0
- sdypy_model-0.1.0/examples/data/L_bracket.msh +1117 -0
- sdypy_model-0.1.0/examples/shell_example.py +100 -0
- sdypy_model-0.1.0/examples/tetrahedron_example.py +110 -0
- sdypy_model-0.1.0/pyproject.toml +52 -0
- sdypy_model-0.1.0/requirements.dev.txt +9 -0
- sdypy_model-0.1.0/requirements.txt +12 -0
- sdypy_model-0.1.0/sdypy/__init__.py +3 -0
- sdypy_model-0.1.0/sdypy/model/__init__.py +7 -0
- sdypy_model-0.1.0/sdypy/model/beam/beam.py +206 -0
- sdypy_model-0.1.0/sdypy/model/eigenvalue_solution.py +38 -0
- sdypy_model-0.1.0/sdypy/model/mesh/__init__.py +1 -0
- sdypy_model-0.1.0/sdypy/model/mesh/mesh_2D.py +96 -0
- sdypy_model-0.1.0/sdypy/model/shell/shell.py +881 -0
- sdypy_model-0.1.0/sdypy/model/tetrahedron/mass_tet_basis.py +109 -0
- sdypy_model-0.1.0/sdypy/model/tetrahedron/tet10.py +500 -0
- sdypy_model-0.1.0/tests/__init__.py +0 -0
- sdypy_model-0.1.0/tests/test_basic.py +10 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: Testing
|
|
2
|
+
|
|
3
|
+
on: [push]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
strategy:
|
|
10
|
+
matrix:
|
|
11
|
+
python-version: ["3.12"]
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v3
|
|
15
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
16
|
+
uses: actions/setup-python@v4
|
|
17
|
+
with:
|
|
18
|
+
python-version: ${{ matrix.python-version }}
|
|
19
|
+
- name: Install dependencies
|
|
20
|
+
run: |
|
|
21
|
+
python -m pip install --upgrade pip
|
|
22
|
+
pip install flake8 pytest
|
|
23
|
+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
24
|
+
- name: Lint with flake8
|
|
25
|
+
run: |
|
|
26
|
+
# stop the build if there are Python syntax errors or undefined names
|
|
27
|
+
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
|
28
|
+
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
|
29
|
+
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
|
30
|
+
- name: Test with pytest
|
|
31
|
+
run: |
|
|
32
|
+
pytest
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: Release and Publish to PyPI
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
tags:
|
|
5
|
+
- 'v*'
|
|
6
|
+
jobs:
|
|
7
|
+
publish:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- name: Checkout code
|
|
11
|
+
uses: actions/checkout@v2
|
|
12
|
+
|
|
13
|
+
- name: Set up Python
|
|
14
|
+
uses: actions/setup-python@v2
|
|
15
|
+
with:
|
|
16
|
+
python-version: '3.12'
|
|
17
|
+
|
|
18
|
+
- name: Install dependencies
|
|
19
|
+
run: pip install -U build
|
|
20
|
+
|
|
21
|
+
- name: Build package
|
|
22
|
+
run: python -m build
|
|
23
|
+
|
|
24
|
+
- name: Publish to PyPI
|
|
25
|
+
uses: pypa/gh-action-pypi-publish@v1.4.2
|
|
26
|
+
with:
|
|
27
|
+
user: __token__
|
|
28
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
*.egg-info/
|
|
24
|
+
.installed.cfg
|
|
25
|
+
*.egg
|
|
26
|
+
MANIFEST
|
|
27
|
+
|
|
28
|
+
# PyInstaller
|
|
29
|
+
# Usually these files are written by a python script from a template
|
|
30
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
31
|
+
*.manifest
|
|
32
|
+
*.spec
|
|
33
|
+
|
|
34
|
+
# Installer logs
|
|
35
|
+
pip-log.txt
|
|
36
|
+
pip-delete-this-directory.txt
|
|
37
|
+
|
|
38
|
+
# Unit test / coverage reports
|
|
39
|
+
htmlcov/
|
|
40
|
+
.tox/
|
|
41
|
+
.coverage
|
|
42
|
+
.coverage.*
|
|
43
|
+
.cache
|
|
44
|
+
nosetests.xml
|
|
45
|
+
coverage.xml
|
|
46
|
+
*.cover
|
|
47
|
+
.hypothesis/
|
|
48
|
+
|
|
49
|
+
# Translations
|
|
50
|
+
*.mo
|
|
51
|
+
*.pot
|
|
52
|
+
|
|
53
|
+
# Django stuff:
|
|
54
|
+
*.log
|
|
55
|
+
.static_storage/
|
|
56
|
+
.media/
|
|
57
|
+
local_settings.py
|
|
58
|
+
|
|
59
|
+
# Flask stuff:
|
|
60
|
+
instance/
|
|
61
|
+
.webassets-cache
|
|
62
|
+
|
|
63
|
+
# Scrapy stuff:
|
|
64
|
+
.scrapy
|
|
65
|
+
|
|
66
|
+
# Sphinx documentation
|
|
67
|
+
docs/_build/
|
|
68
|
+
docs/build/
|
|
69
|
+
docs/source/api/
|
|
70
|
+
|
|
71
|
+
# PyBuilder
|
|
72
|
+
target/
|
|
73
|
+
|
|
74
|
+
# Jupyter Notebook
|
|
75
|
+
.ipynb_checkpoints
|
|
76
|
+
|
|
77
|
+
# pyenv
|
|
78
|
+
.python-version
|
|
79
|
+
|
|
80
|
+
# celery beat schedule file
|
|
81
|
+
celerybeat-schedule
|
|
82
|
+
|
|
83
|
+
# SageMath parsed files
|
|
84
|
+
*.sage.py
|
|
85
|
+
|
|
86
|
+
# Environments
|
|
87
|
+
.env
|
|
88
|
+
.venv
|
|
89
|
+
env/
|
|
90
|
+
venv/
|
|
91
|
+
ENV/
|
|
92
|
+
env.bak/
|
|
93
|
+
venv.bak/
|
|
94
|
+
|
|
95
|
+
# Spyder project settings
|
|
96
|
+
.spyderproject
|
|
97
|
+
.spyproject
|
|
98
|
+
|
|
99
|
+
# Rope project settings
|
|
100
|
+
.ropeproject
|
|
101
|
+
|
|
102
|
+
# mkdocs documentation
|
|
103
|
+
/site
|
|
104
|
+
|
|
105
|
+
# mypy
|
|
106
|
+
.mypy_cache/
|
|
107
|
+
|
|
108
|
+
# VSCode
|
|
109
|
+
.vscode/
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
Contributing Guide
|
|
2
|
+
==================
|
|
3
|
+
|
|
4
|
+
Contributions are welcome and greatly appreciated!
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
.. _contributing-workflow-label:
|
|
8
|
+
|
|
9
|
+
Workflow
|
|
10
|
+
--------
|
|
11
|
+
|
|
12
|
+
A bug-fix or enhancement is delivered using a pull request. A good pull request
|
|
13
|
+
should cover one bug-fix or enhancement feature. This ensures the change set is
|
|
14
|
+
easier to review and less likely to need major re-work or even be rejected.
|
|
15
|
+
|
|
16
|
+
The workflow that developers typically use to fix a bug or add enhancements
|
|
17
|
+
is as follows.
|
|
18
|
+
|
|
19
|
+
* Fork the ``sdypy_template_project`` repo into your account.
|
|
20
|
+
|
|
21
|
+
* Obtain the source by cloning it onto your development machine.
|
|
22
|
+
|
|
23
|
+
.. code-block:: console
|
|
24
|
+
|
|
25
|
+
$ git clone ttps://github.com/sdypy/sdypy_template_project.git
|
|
26
|
+
$ cd sdypy_template_project
|
|
27
|
+
|
|
28
|
+
* Create a branch for local development:
|
|
29
|
+
|
|
30
|
+
.. code-block:: console
|
|
31
|
+
|
|
32
|
+
$ git checkout -b name-of-your-bugfix-or-feature
|
|
33
|
+
|
|
34
|
+
Now you can make your changes locally.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
* Develop fix or enhancement:
|
|
38
|
+
|
|
39
|
+
* Make a fix or enhancement (e.g. modify a class, method, function, module,
|
|
40
|
+
etc).
|
|
41
|
+
|
|
42
|
+
* Update an existing unit test or create a new unit test module to verify
|
|
43
|
+
the change works as expected.
|
|
44
|
+
|
|
45
|
+
* Run the test suite.
|
|
46
|
+
|
|
47
|
+
.. code-block:: console
|
|
48
|
+
|
|
49
|
+
$ pytest
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
* The docs should be updated for anything but trivial bug fixes.
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
Perform docs check.
|
|
56
|
+
|
|
57
|
+
.. code-block:: console
|
|
58
|
+
|
|
59
|
+
$ cd docs
|
|
60
|
+
$ make clean
|
|
61
|
+
$ make html
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
* Commit and push changes to your fork.
|
|
65
|
+
|
|
66
|
+
.. code-block:: console
|
|
67
|
+
|
|
68
|
+
$ git add .
|
|
69
|
+
$ git commit -m "A detailed description of the changes."
|
|
70
|
+
$ git push origin name-of-your-bugfix-or-feature
|
|
71
|
+
|
|
72
|
+
A pull request should preferably only have one commit upon the current
|
|
73
|
+
master HEAD, (via rebases and squash).
|
|
74
|
+
|
|
75
|
+
* Submit a pull request through the service website (e.g. Github, Gitlab).
|
|
76
|
+
|
|
77
|
+
* Check automated continuous integration steps all pass. Fix any problems
|
|
78
|
+
if necessary and update the pull request.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) Klemen Zaletelj 2024
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sdypy-model
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: System modeling, including lumped mass and FEM.
|
|
5
|
+
Project-URL: homepage, https://github.com/sdypy/sdypy-model
|
|
6
|
+
Project-URL: documentation, https://github.com/sdypy/sdypy-model
|
|
7
|
+
Project-URL: source, https://github.com/sdypy/sdypy-model
|
|
8
|
+
Author-email: "Klemen Zaletelj et al." <klemen.zaletelj@fs.uni-lj.si>
|
|
9
|
+
Maintainer-email: "Klemen Zaletelj et al." <klemen.zaletelj@fs.uni-lj.si>
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
Keywords: FEM,System model,lumped mass
|
|
12
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Topic :: Scientific/Engineering
|
|
17
|
+
Requires-Python: >=3.10
|
|
18
|
+
Requires-Dist: gmsh
|
|
19
|
+
Requires-Dist: meshio
|
|
20
|
+
Requires-Dist: numpy>=1.14.3
|
|
21
|
+
Requires-Dist: pylump
|
|
22
|
+
Requires-Dist: pyqt5
|
|
23
|
+
Requires-Dist: pyvista
|
|
24
|
+
Requires-Dist: pyvistaqt
|
|
25
|
+
Requires-Dist: scipy>=1.1.0
|
|
26
|
+
Requires-Dist: tqdm>=4.23.4
|
|
27
|
+
Provides-Extra: dev
|
|
28
|
+
Requires-Dist: build; extra == 'dev'
|
|
29
|
+
Requires-Dist: myst-parser; extra == 'dev'
|
|
30
|
+
Requires-Dist: pytest; extra == 'dev'
|
|
31
|
+
Requires-Dist: sphinx; extra == 'dev'
|
|
32
|
+
Requires-Dist: sphinx-book-theme; extra == 'dev'
|
|
33
|
+
Requires-Dist: sphinx-copybutton>=0.5.2; extra == 'dev'
|
|
34
|
+
Requires-Dist: twine; extra == 'dev'
|
|
35
|
+
Requires-Dist: wheel; extra == 'dev'
|
|
36
|
+
Description-Content-Type: text/markdown
|
|
37
|
+
|
|
38
|
+
# `sdypy-model`
|
|
39
|
+
|
|
40
|
+
A namespace Python package for the SDyPy project.
|
|
41
|
+
|
|
42
|
+
The package currently contains the following finite elements:
|
|
43
|
+
|
|
44
|
+
- `beam`: Euler-Bernoulli and Timoshenko beam elements.
|
|
45
|
+
- `shell`: MITC4 shell elements.
|
|
46
|
+
- `tet`: Quadratic (10 node) tetrahedral elements.
|
|
47
|
+
|
|
48
|
+
**Note**: The package is still under development and may not be fully functional.
|
|
49
|
+
|
|
50
|
+
## Beam elements
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
import sdypy as sd
|
|
54
|
+
|
|
55
|
+
beam_obj = sd.model.Beam(...)
|
|
56
|
+
|
|
57
|
+
M = beam_obj.M
|
|
58
|
+
K = beam_obj.K
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Shell elements
|
|
62
|
+
|
|
63
|
+
```python
|
|
64
|
+
import sdypy as sd
|
|
65
|
+
|
|
66
|
+
shell_obj = sd.model.Shell(...)
|
|
67
|
+
|
|
68
|
+
M = shell_obj.M
|
|
69
|
+
K = shell_obj.K
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Tetrahedral elements
|
|
73
|
+
```python
|
|
74
|
+
|
|
75
|
+
import sdypy as sd
|
|
76
|
+
|
|
77
|
+
tet_obj = sd.model.Tetrahedron(...)
|
|
78
|
+
|
|
79
|
+
M = tet_obj.M
|
|
80
|
+
K = tet_obj.K
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
# Disclaimer
|
|
84
|
+
|
|
85
|
+
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
|
|
86
|
+
|
|
87
|
+
Use of this software is at your own risk.
|
|
88
|
+
|
|
89
|
+
This software is distributed under the terms of the MIT License. See the LICENSE file for more details.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# `sdypy-model`
|
|
2
|
+
|
|
3
|
+
A namespace Python package for the SDyPy project.
|
|
4
|
+
|
|
5
|
+
The package currently contains the following finite elements:
|
|
6
|
+
|
|
7
|
+
- `beam`: Euler-Bernoulli and Timoshenko beam elements.
|
|
8
|
+
- `shell`: MITC4 shell elements.
|
|
9
|
+
- `tet`: Quadratic (10 node) tetrahedral elements.
|
|
10
|
+
|
|
11
|
+
**Note**: The package is still under development and may not be fully functional.
|
|
12
|
+
|
|
13
|
+
## Beam elements
|
|
14
|
+
|
|
15
|
+
```python
|
|
16
|
+
import sdypy as sd
|
|
17
|
+
|
|
18
|
+
beam_obj = sd.model.Beam(...)
|
|
19
|
+
|
|
20
|
+
M = beam_obj.M
|
|
21
|
+
K = beam_obj.K
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Shell elements
|
|
25
|
+
|
|
26
|
+
```python
|
|
27
|
+
import sdypy as sd
|
|
28
|
+
|
|
29
|
+
shell_obj = sd.model.Shell(...)
|
|
30
|
+
|
|
31
|
+
M = shell_obj.M
|
|
32
|
+
K = shell_obj.K
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Tetrahedral elements
|
|
36
|
+
```python
|
|
37
|
+
|
|
38
|
+
import sdypy as sd
|
|
39
|
+
|
|
40
|
+
tet_obj = sd.model.Tetrahedron(...)
|
|
41
|
+
|
|
42
|
+
M = tet_obj.M
|
|
43
|
+
K = tet_obj.K
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
# Disclaimer
|
|
47
|
+
|
|
48
|
+
This software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
|
|
49
|
+
|
|
50
|
+
Use of this software is at your own risk.
|
|
51
|
+
|
|
52
|
+
This software is distributed under the terms of the MIT License. See the LICENSE file for more details.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Minimal makefile for Sphinx documentation
|
|
2
|
+
#
|
|
3
|
+
|
|
4
|
+
# You can set these variables from the command line.
|
|
5
|
+
SPHINXOPTS =
|
|
6
|
+
SPHINXBUILD = sphinx-build
|
|
7
|
+
SOURCEDIR = source
|
|
8
|
+
BUILDDIR = build
|
|
9
|
+
|
|
10
|
+
# Put it first so that "make" without argument is like "make help".
|
|
11
|
+
help:
|
|
12
|
+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
13
|
+
|
|
14
|
+
.PHONY: help Makefile
|
|
15
|
+
|
|
16
|
+
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
17
|
+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
18
|
+
%: Makefile
|
|
19
|
+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@ECHO OFF
|
|
2
|
+
|
|
3
|
+
pushd %~dp0
|
|
4
|
+
|
|
5
|
+
REM Command file for Sphinx documentation
|
|
6
|
+
|
|
7
|
+
if "%SPHINXBUILD%" == "" (
|
|
8
|
+
set SPHINXBUILD=sphinx-build
|
|
9
|
+
)
|
|
10
|
+
set SOURCEDIR=source
|
|
11
|
+
set BUILDDIR=build
|
|
12
|
+
|
|
13
|
+
if "%1" == "" goto help
|
|
14
|
+
|
|
15
|
+
%SPHINXBUILD% >NUL 2>NUL
|
|
16
|
+
if errorlevel 9009 (
|
|
17
|
+
echo.
|
|
18
|
+
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
|
19
|
+
echo.installed, then set the SPHINXBUILD environment variable to point
|
|
20
|
+
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
|
21
|
+
echo.may add the Sphinx directory to PATH.
|
|
22
|
+
echo.
|
|
23
|
+
echo.If you don't have Sphinx installed, grab it from
|
|
24
|
+
echo.http://sphinx-doc.org/
|
|
25
|
+
exit /b 1
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
|
29
|
+
goto end
|
|
30
|
+
|
|
31
|
+
:help
|
|
32
|
+
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
|
33
|
+
|
|
34
|
+
:end
|
|
35
|
+
popd
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Configuration file for the Sphinx documentation builder.
|
|
4
|
+
#
|
|
5
|
+
# This file does only contain a selection of the most common options. For a
|
|
6
|
+
# full list see the documentation:
|
|
7
|
+
# http://www.sphinx-doc.org/en/master/config
|
|
8
|
+
|
|
9
|
+
# -- Path setup --------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
# If extensions (or modules to document with autodoc) are in another directory,
|
|
12
|
+
# add these directories to sys.path here. If the directory is relative to the
|
|
13
|
+
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
|
14
|
+
#
|
|
15
|
+
import os
|
|
16
|
+
import sys
|
|
17
|
+
sys.path.insert(0, os.path.abspath('.'))
|
|
18
|
+
sys.path.insert(0, os.path.abspath('../..'))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# -- Project information -----------------------------------------------------
|
|
22
|
+
|
|
23
|
+
project = 'SDyPy-model'
|
|
24
|
+
copyright = '2024, Klemen Zaletelj, Janko Slavič, Domen Gorjup'
|
|
25
|
+
author = 'Klemen Zaletelj, Janko Slavič, Domen Gorjup'
|
|
26
|
+
|
|
27
|
+
# The short X.Y version
|
|
28
|
+
version = '0.1'
|
|
29
|
+
# The full version, including alpha/beta/rc tags
|
|
30
|
+
release = '0.1.0'
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# -- General configuration ---------------------------------------------------
|
|
34
|
+
|
|
35
|
+
# If your documentation needs a minimal Sphinx version, state it here.
|
|
36
|
+
#
|
|
37
|
+
# needs_sphinx = '1.0'
|
|
38
|
+
|
|
39
|
+
# Add any Sphinx extension module names here, as strings. They can be
|
|
40
|
+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
|
41
|
+
# ones.
|
|
42
|
+
extensions = [
|
|
43
|
+
'sphinx.ext.autodoc',
|
|
44
|
+
'sphinx.ext.mathjax',
|
|
45
|
+
'sphinx.ext.ifconfig',
|
|
46
|
+
'sphinx.ext.viewcode',
|
|
47
|
+
'sphinx.ext.githubpages',
|
|
48
|
+
'myst_parser',
|
|
49
|
+
'sphinx_copybutton',
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
# Defined here: https://sphinx-copybutton.readthedocs.io/en/latest/use.html#using-regexp-prompt-identifiers (the >>> are not copied)
|
|
53
|
+
copybutton_prompt_text = r">>> |\.\.\. |\$ |In \[\d*\]: | {2,5}\.\.\.: | {5,8}: "
|
|
54
|
+
copybutton_prompt_is_regexp = True
|
|
55
|
+
|
|
56
|
+
autodoc_default_options = {
|
|
57
|
+
'members': True,
|
|
58
|
+
'private-members': True,
|
|
59
|
+
'special-members': '__init__',
|
|
60
|
+
'member-order': 'bysource',
|
|
61
|
+
'show-inheritance': None,
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
# Add any paths that contain templates here, relative to this directory.
|
|
65
|
+
templates_path = ['_templates']
|
|
66
|
+
|
|
67
|
+
# The suffix(es) of source filenames.
|
|
68
|
+
# You can specify multiple suffix as a list of string:
|
|
69
|
+
#
|
|
70
|
+
source_suffix = {'.rst': 'restructuredtext', '.md': 'restructuredtext'}
|
|
71
|
+
|
|
72
|
+
# The master toctree document.
|
|
73
|
+
master_doc = 'index'
|
|
74
|
+
|
|
75
|
+
# The language for content autogenerated by Sphinx. Refer to documentation
|
|
76
|
+
# for a list of supported languages.
|
|
77
|
+
#
|
|
78
|
+
# This is also used if you do content translation via gettext catalogs.
|
|
79
|
+
# Usually you set "language" from the command line for these cases.
|
|
80
|
+
language = "English"
|
|
81
|
+
|
|
82
|
+
# List of patterns, relative to source directory, that match files and
|
|
83
|
+
# directories to ignore when looking for source files.
|
|
84
|
+
# This pattern also affects html_static_path and html_extra_path.
|
|
85
|
+
exclude_patterns = []
|
|
86
|
+
|
|
87
|
+
# The name of the Pygments (syntax highlighting) style to use.
|
|
88
|
+
pygments_style = None
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
# -- Options for HTML output -------------------------------------------------
|
|
92
|
+
|
|
93
|
+
# The theme to use for HTML and HTML Help pages. See the documentation for
|
|
94
|
+
# a list of builtin themes.
|
|
95
|
+
#
|
|
96
|
+
html_theme = 'sphinx_book_theme'
|
|
97
|
+
|
|
98
|
+
# Theme options are theme-specific and customize the look and feel of a theme
|
|
99
|
+
# further. For a list of options available for each theme, see the
|
|
100
|
+
# documentation.
|
|
101
|
+
#
|
|
102
|
+
html_theme_options = {
|
|
103
|
+
"repository_branch": "master",
|
|
104
|
+
"navigation_with_keys": True,
|
|
105
|
+
"repository_url": "https://github.com/sdypy/sdypy-model",
|
|
106
|
+
"use_repository_button": True,
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
# Add any paths that contain custom static files (such as style sheets) here,
|
|
110
|
+
# relative to this directory. They are copied after the builtin static files,
|
|
111
|
+
# so a file named "default.css" will overwrite the builtin "default.css".
|
|
112
|
+
html_static_path = ['_static']
|
|
113
|
+
|
|
114
|
+
# Custom sidebar templates, must be a dictionary that maps document names
|
|
115
|
+
# to template names.
|
|
116
|
+
#
|
|
117
|
+
# The default sidebars (for documents that don't match any pattern) are
|
|
118
|
+
# defined by theme itself. Builtin themes are using these templates by
|
|
119
|
+
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
|
|
120
|
+
# 'searchbox.html']``.
|
|
121
|
+
#
|
|
122
|
+
# html_sidebars = {}
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
# -- Options for HTMLHelp output ---------------------------------------------
|
|
126
|
+
|
|
127
|
+
# Output file base name for HTML help builder.
|
|
128
|
+
htmlhelp_basename = 'sdypy_model_project_doc'
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
# -- Options for LaTeX output ------------------------------------------------
|
|
132
|
+
|
|
133
|
+
latex_elements = {
|
|
134
|
+
# The paper size ('letterpaper' or 'a4paper').
|
|
135
|
+
#
|
|
136
|
+
'papersize': 'a4paper',
|
|
137
|
+
|
|
138
|
+
# The font size ('10pt', '11pt' or '12pt').
|
|
139
|
+
#
|
|
140
|
+
'pointsize': '10pt',
|
|
141
|
+
|
|
142
|
+
# Additional stuff for the LaTeX preamble.
|
|
143
|
+
#
|
|
144
|
+
'preamble': '',
|
|
145
|
+
|
|
146
|
+
# Latex figure (float) alignment
|
|
147
|
+
#
|
|
148
|
+
'figure_align': 'htbp',
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
# Grouping the document tree into LaTeX files. List of tuples
|
|
152
|
+
# (source start file, target name, title,
|
|
153
|
+
# author, documentclass [howto, manual, or own class]).
|
|
154
|
+
latex_documents = [
|
|
155
|
+
(master_doc, 'sdypy_model_project.tex', 'SDyPy-model project Documentation',
|
|
156
|
+
'Klemen Zaletelj, Janko Slavič, Domen Gorjup', 'manual'),
|
|
157
|
+
]
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
# -- Options for manual page output ------------------------------------------
|
|
161
|
+
|
|
162
|
+
# One entry per manual page. List of tuples
|
|
163
|
+
# (source start file, name, description, authors, manual section).
|
|
164
|
+
man_pages = [
|
|
165
|
+
(master_doc, 'sdypy_model_project', 'SDyPy-model Documentation',
|
|
166
|
+
[author], 1)
|
|
167
|
+
]
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
# -- Options for Texinfo output ----------------------------------------------
|
|
171
|
+
|
|
172
|
+
# Grouping the document tree into Texinfo files. List of tuples
|
|
173
|
+
# (source start file, target name, title, author,
|
|
174
|
+
# dir menu entry, description, category)
|
|
175
|
+
texinfo_documents = [
|
|
176
|
+
(master_doc, 'SDyPy-model', 'SDyPy-model Documentation',
|
|
177
|
+
author, 'SDyPy-model', 'One line description of project.',
|
|
178
|
+
'Miscellaneous'),
|
|
179
|
+
]
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
# -- Options for Epub output -------------------------------------------------
|
|
183
|
+
|
|
184
|
+
# Bibliographic Dublin Core info.
|
|
185
|
+
epub_title = project
|
|
186
|
+
|
|
187
|
+
# The unique identifier of the text. This can be a ISBN number
|
|
188
|
+
# or the project homepage.
|
|
189
|
+
#
|
|
190
|
+
# epub_identifier = ''
|
|
191
|
+
|
|
192
|
+
# A unique identification for the text.
|
|
193
|
+
#
|
|
194
|
+
# epub_uid = ''
|
|
195
|
+
|
|
196
|
+
# A list of files that should not be packed into the epub file.
|
|
197
|
+
epub_exclude_files = ['search.html']
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
# -- Extension configuration -------------------------------------------------
|
|
201
|
+
|
|
202
|
+
# -- Configuration for MyST parser (markdown in sphinx) ----------------------
|
|
203
|
+
# see https://myst-parser.readthedocs.io/en/latest/ for more information
|
|
204
|
+
myst_enable_extensions = [
|
|
205
|
+
"dollarmath", # For LaTeX-style math in Markdown
|
|
206
|
+
"colon_fence", # For block directives using `::`
|
|
207
|
+
]
|
|
Binary file
|