diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..6be83c7 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,33 @@ +name: pypi upload + +on: + push: + branches: ["main"] + +jobs: + wheel_build_full: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: build wheels and sdist + run: pipx run build + + - uses: actions/upload-artifact@v3 + with: + path: ./dist/* + + upload_pypi: + needs: [wheel_build_full] + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v3 + with: + name: artifact + path: dist + + - uses: pypa/gh-action-pypi-publish@v1.6.1 + with: + skip_existing: true + user: __token__ + password: ${{ secrets.PYPI_TOKEN }} diff --git a/README.md b/README.md index a9ac5cf..f9ee182 100644 --- a/README.md +++ b/README.md @@ -1 +1,20 @@ -# feigen - python interactive front end for iganet. +# feigen - python interactive Front End for IGA ENgines. +feigen is a python library for interactive spline plotting. +It focues on supporting isogeometric analysis tools, such as `iganet`, `splinepy`, and `pygismo`. + +## Install guide +you can install feigen using `pip`: +``` +pip install feigen +``` +For the latest develop version: +``` +pip install git+https://github.com/tataratat/feigen.git@main +``` + +## Quick start +Current version supports iganet's BSplineSurface. +Assuming that you have a server running, +``` +python3 -c "import feigen; feigen.BSpline2D('ws://localhost:9001').start()" +``` diff --git a/examples/iganet_bspline2d.py b/examples/iganet_bspline2d.py new file mode 100644 index 0000000..1f71ba6 --- /dev/null +++ b/examples/iganet_bspline2d.py @@ -0,0 +1,7 @@ +import feigen + +if __name__ == "__main__": + # feigen.log.configure(debug=True) + + b = feigen.BSpline2D("ws://localhost:9001") + b.start() diff --git a/pyproject.toml b/pyproject.toml index a577c3f..e5ba61e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ authors = [ {name = 'Matthias Möller', email = 'mmoelle1@gmail.com'}, ] readme = 'README.md' -requires-python = '>=3.6' +requires-python = '>=3.7' keywords = ['iganet', 'interactive'] license = {text = 'MPL 2.0'} classifiers = [