OpenIBS 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.
@@ -0,0 +1,25 @@
1
+ # OS files
2
+ *.DS_Store
3
+ thumbs.db
4
+
5
+ # Python cache
6
+ **/__pycache__/*
7
+
8
+ # Matlab files
9
+ *.mat
10
+
11
+ # Build files
12
+ **/dist/*
13
+ *.egg-info
14
+
15
+ # Pytest
16
+ *.xml
17
+
18
+ # Coverage
19
+ .coverage
20
+
21
+ # Sphinx
22
+ **/_build/*
23
+ **/_static/*
24
+ **/_templates/*
25
+ docs/generated/*
@@ -0,0 +1,56 @@
1
+ build-job:
2
+ stage: build
3
+ image: python:3.14
4
+ script:
5
+ # Build Python package
6
+ - python -m pip install -U build
7
+ - python -m build
8
+ artifacts:
9
+ paths:
10
+ - "dist/"
11
+
12
+ pytest:
13
+ stage: test
14
+ image: python:3.14-slim
15
+ before_script:
16
+ - pip install .
17
+ script:
18
+ - pip install -r requirements_dev.txt
19
+ - coverage run --source=openibs -m pytest --junitxml=junit.xml
20
+ - coverage report
21
+ - coverage xml
22
+ coverage: '/TOTAL.*\s+(\d+%)$/'
23
+ artifacts:
24
+ reports:
25
+ junit: junit.xml
26
+ coverage_report:
27
+ coverage_format: cobertura
28
+ path: coverage.xml
29
+
30
+ publish-job:
31
+ stage: deploy
32
+ image: python:3.14-slim
33
+ dependencies:
34
+ - build-job
35
+ - pytest
36
+ environment:
37
+ name: release
38
+ only:
39
+ - tags
40
+ except:
41
+ - branches
42
+ id_tokens:
43
+ PYPI_ID_TOKEN:
44
+ aud: pypi
45
+ script:
46
+ # Install dependencies
47
+ - apt update && apt install -y jq curl
48
+ - python -m pip install -U twine id
49
+
50
+ # Retrieve the OIDC token from GitLab CI/CD, and exchange it for a PyPI API token
51
+ - oidc_token=$(python -m id pypi)
52
+ - resp=$(curl -X POST https://pypi.org/_/oidc/mint-token -d "{\"token\":\"${oidc_token}\"}")
53
+ - api_token=$(jq --raw-output '.token' <<< "${resp}")
54
+
55
+ # Upload to PyPI authenticating via the newly-minted token
56
+ - twine upload -u __token__ -p "${api_token}" dist/*
@@ -0,0 +1,23 @@
1
+ # Read the Docs configuration file for Sphinx projects
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+
4
+ # Required
5
+ version: 2
6
+
7
+ # Set the OS, Python version and other tools you might need
8
+ build:
9
+ os: ubuntu-24.04
10
+ tools:
11
+ python: "3.14"
12
+
13
+ # Build documentation in the "docs/" directory with Sphinx
14
+ sphinx:
15
+ configuration: docs/conf.py
16
+
17
+ # Python requirements
18
+ python:
19
+ install:
20
+ - method: pip
21
+ path: .
22
+ - requirements: docs/requirements.txt
23
+ - requirements: requirements.txt
@@ -0,0 +1,12 @@
1
+ {
2
+ "python.testing.pytestArgs": [
3
+ "tests"
4
+ ],
5
+ "python.testing.unittestEnabled": false,
6
+ "python.testing.pytestEnabled": true,
7
+ "[python]": {
8
+ "editor.formatOnSave": true,
9
+ "editor.defaultFormatter": "charliermarsh.ruff"
10
+ },
11
+ "notebook.formatOnSave.enabled": true,
12
+ }
openibs-0.0.1/LICENSE ADDED
@@ -0,0 +1,10 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Oliver Maximilian Zobel
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
6
+ copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
7
+
8
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
9
+
10
+ THE 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.
openibs-0.0.1/PKG-INFO ADDED
@@ -0,0 +1,34 @@
1
+ Metadata-Version: 2.4
2
+ Name: OpenIBS
3
+ Version: 0.0.1
4
+ Summary: An Open-Source Package for Impulse-Based Substructuring
5
+ Author-email: Oliver Maximilian Zobel <oliver.zobel@tum.de>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://gitlab.com/opentds/openibs
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Topic :: Scientific/Engineering
14
+ Requires-Python: >=3.11
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: numpy
18
+ Requires-Dist: scipy
19
+ Requires-Dist: matplotlib
20
+ Requires-Dist: tdqm
21
+ Dynamic: license-file
22
+
23
+ # OpenIBS: An Open-Source Package for Impulse-Based Substructuring
24
+
25
+ ![coverage](https://gitlab.com/opentds/openibs/badges/main/coverage.svg)
26
+ [![OpenIbs Build Status](https://app.readthedocs.org/projects/openibs/badge/)](https://openibs.readthedocs.io/)
27
+
28
+ A collection of tools for the time domain analysis of mechanical systems.
29
+
30
+ ## Installation
31
+
32
+ To install OpenIBS through pip, use the following command:
33
+
34
+ `pip install openibs`
@@ -0,0 +1,12 @@
1
+ # OpenIBS: An Open-Source Package for Impulse-Based Substructuring
2
+
3
+ ![coverage](https://gitlab.com/opentds/openibs/badges/main/coverage.svg)
4
+ [![OpenIbs Build Status](https://app.readthedocs.org/projects/openibs/badge/)](https://openibs.readthedocs.io/)
5
+
6
+ A collection of tools for the time domain analysis of mechanical systems.
7
+
8
+ ## Installation
9
+
10
+ To install OpenIBS through pip, use the following command:
11
+
12
+ `pip install openibs`
@@ -0,0 +1,20 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS ?=
7
+ SPHINXBUILD ?= sphinx-build
8
+ SOURCEDIR = .
9
+ BUILDDIR = _build
10
+
11
+ # Put it first so that "make" without argument is like "make help".
12
+ help:
13
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
+
15
+ .PHONY: help Makefile
16
+
17
+ # Catch-all target: route all unknown targets to Sphinx using the new
18
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
+ %: Makefile
20
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -0,0 +1,21 @@
1
+ # Configuration file for the Sphinx documentation builder.
2
+ #
3
+ # For the full list of built-in configuration values, see the documentation:
4
+ # https://www.sphinx-doc.org/en/master/usage/configuration.html
5
+
6
+ # -- Project information -----------------------------------------------------
7
+ # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
8
+ project = 'OpenIBS'
9
+ copyright = '2026, Oliver Maximilian Zobel'
10
+ author = 'Oliver Maximilian Zobel'
11
+
12
+ # -- General configuration ---------------------------------------------------
13
+ # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
14
+ extensions = ['sphinx.ext.autodoc','sphinx.ext.autosummary',]
15
+ templates_path = ['_templates']
16
+ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
17
+ autosummary_generate = True
18
+
19
+ # -- Options for HTML output -------------------------------------------------
20
+ # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
21
+ html_theme = "sphinx_rtd_theme"
@@ -0,0 +1,4 @@
1
+ OpenIBS Documentation
2
+ =====================
3
+
4
+ .. toctree::
@@ -0,0 +1,33 @@
1
+ @ECHO OFF
2
+
3
+ pushd %~dp0
4
+
5
+ if "%SPHINXBUILD%" == "" (
6
+ set SPHINXBUILD=sphinx-build
7
+ )
8
+ set SOURCEDIR=.
9
+ set BUILDDIR=_build
10
+
11
+ %SPHINXBUILD% >NUL 2>NUL
12
+ if errorlevel 9009 (
13
+ echo.
14
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
15
+ echo.installed, then set the SPHINXBUILD environment variable to point
16
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you
17
+ echo.may add the Sphinx directory to PATH.
18
+ echo.
19
+ echo.If you don't have Sphinx installed, grab it from
20
+ echo.https://www.sphinx-doc.org/
21
+ exit /b 1
22
+ )
23
+
24
+ if "%1" == "" goto help
25
+
26
+ %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
27
+ goto end
28
+
29
+ :help
30
+ %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
31
+
32
+ :end
33
+ popd
@@ -0,0 +1 @@
1
+ sphinx>=9.0
@@ -0,0 +1,61 @@
1
+ #
2
+ # This file is autogenerated by pip-compile with Python 3.14
3
+ # by the following command:
4
+ #
5
+ # pip-compile docs/requirements.in
6
+ #
7
+ alabaster==1.0.0
8
+ # via sphinx
9
+ babel==2.18.0
10
+ # via sphinx
11
+ certifi==2026.2.25
12
+ # via requests
13
+ charset-normalizer==3.4.6
14
+ # via requests
15
+ colorama==0.4.6
16
+ # via sphinx
17
+ docutils==0.22.4
18
+ # via
19
+ # sphinx
20
+ # sphinx-rtd-theme
21
+ idna==3.11
22
+ # via requests
23
+ imagesize==2.0.0
24
+ # via sphinx
25
+ jinja2==3.1.6
26
+ # via sphinx
27
+ markupsafe==3.0.3
28
+ # via jinja2
29
+ packaging==26.0
30
+ # via sphinx
31
+ pygments==2.19.2
32
+ # via sphinx
33
+ requests==2.32.5
34
+ # via sphinx
35
+ roman-numerals==4.1.0
36
+ # via sphinx
37
+ snowballstemmer==3.0.1
38
+ # via sphinx
39
+ sphinx==9.1.0
40
+ # via
41
+ # -r docs/requirements.in
42
+ # sphinx-rtd-theme
43
+ # sphinxcontrib-jquery
44
+ sphinx-rtd-theme==3.1.0
45
+ # via -r docs/requirements.in
46
+ sphinxcontrib-applehelp==2.0.0
47
+ # via sphinx
48
+ sphinxcontrib-devhelp==2.0.0
49
+ # via sphinx
50
+ sphinxcontrib-htmlhelp==2.1.0
51
+ # via sphinx
52
+ sphinxcontrib-jquery==4.1
53
+ # via sphinx-rtd-theme
54
+ sphinxcontrib-jsmath==1.0.1
55
+ # via sphinx
56
+ sphinxcontrib-qthelp==2.0.0
57
+ # via sphinx
58
+ sphinxcontrib-serializinghtml==2.0.0
59
+ # via sphinx
60
+ urllib3==2.6.3
61
+ # via requests
@@ -0,0 +1,37 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61", "setuptools-scm"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "OpenIBS"
7
+ dynamic = ["version"]
8
+ description = "An Open-Source Package for Impulse-Based Substructuring"
9
+ readme = "README.md"
10
+ authors = [
11
+ {name = "Oliver Maximilian Zobel", email = "oliver.zobel@tum.de"},
12
+ ]
13
+ dependencies = [
14
+ "numpy",
15
+ "scipy",
16
+ "matplotlib",
17
+ "tdqm",
18
+ ]
19
+ requires-python = ">=3.11"
20
+ license = "MIT"
21
+
22
+ classifiers = [
23
+ "Development Status :: 3 - Alpha",
24
+ "Intended Audience :: Science/Research",
25
+ "Intended Audience :: Developers",
26
+ "Operating System :: OS Independent",
27
+ "Programming Language :: Python :: 3",
28
+ "Topic :: Scientific/Engineering",
29
+ ]
30
+
31
+ [project.urls]
32
+ Homepage = "https://gitlab.com/opentds/openibs"
33
+
34
+ [tool.setuptools_scm]
35
+ version_scheme = "post-release"
36
+ local_scheme = "node-and-date"
37
+ fallback_version = "0.0.0"
@@ -0,0 +1,4 @@
1
+ numpy
2
+ scipy
3
+ matplotlib
4
+ tqdm
@@ -0,0 +1,11 @@
1
+ numpy
2
+ scipy
3
+ matplotlib
4
+ tqdm
5
+
6
+ # Extra dependencies for development
7
+ pytest
8
+ coverage
9
+ sphinx
10
+ sphinx-rtd-theme
11
+ pytest-cov
@@ -0,0 +1 @@
1
+ line-length = 160
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,34 @@
1
+ Metadata-Version: 2.4
2
+ Name: OpenIBS
3
+ Version: 0.0.1
4
+ Summary: An Open-Source Package for Impulse-Based Substructuring
5
+ Author-email: Oliver Maximilian Zobel <oliver.zobel@tum.de>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://gitlab.com/opentds/openibs
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Intended Audience :: Science/Research
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Topic :: Scientific/Engineering
14
+ Requires-Python: >=3.11
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: numpy
18
+ Requires-Dist: scipy
19
+ Requires-Dist: matplotlib
20
+ Requires-Dist: tdqm
21
+ Dynamic: license-file
22
+
23
+ # OpenIBS: An Open-Source Package for Impulse-Based Substructuring
24
+
25
+ ![coverage](https://gitlab.com/opentds/openibs/badges/main/coverage.svg)
26
+ [![OpenIbs Build Status](https://app.readthedocs.org/projects/openibs/badge/)](https://openibs.readthedocs.io/)
27
+
28
+ A collection of tools for the time domain analysis of mechanical systems.
29
+
30
+ ## Installation
31
+
32
+ To install OpenIBS through pip, use the following command:
33
+
34
+ `pip install openibs`
@@ -0,0 +1,22 @@
1
+ .gitignore
2
+ .gitlab-ci.yml
3
+ .readthedocs.yaml
4
+ LICENSE
5
+ README.md
6
+ pyproject.toml
7
+ requirements.txt
8
+ requirements_dev.txt
9
+ ruff.toml
10
+ .vscode/settings.json
11
+ docs/Makefile
12
+ docs/conf.py
13
+ docs/index.rst
14
+ docs/make.bat
15
+ docs/requirements.in
16
+ docs/requirements.txt
17
+ src/OpenIBS.egg-info/PKG-INFO
18
+ src/OpenIBS.egg-info/SOURCES.txt
19
+ src/OpenIBS.egg-info/dependency_links.txt
20
+ src/OpenIBS.egg-info/requires.txt
21
+ src/OpenIBS.egg-info/top_level.txt
22
+ src/openibs/__init__.py
@@ -0,0 +1,4 @@
1
+ numpy
2
+ scipy
3
+ matplotlib
4
+ tdqm
@@ -0,0 +1 @@
1
+ openibs
@@ -0,0 +1 @@
1
+