mirror of
https://github.com/infeeeee/dyn2py
synced 2025-12-16 22:16:18 +01:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7ec513feb4 | |||
| f7a2dc2d41 | |||
| 025b50ecf3 | |||
| 2553d84d91 | |||
| 6ee8c7fe75 | |||
| 6675c003e7 |
60
.github/workflows/release.yml
vendored
60
.github/workflows/release.yml
vendored
@@ -9,29 +9,75 @@ permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build-and-release:
|
||||
runs-on: windows-latest
|
||||
test:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest]
|
||||
uses: ./.github/workflows/test.yml
|
||||
with:
|
||||
python-version: ${{ vars.PYTHON_VERSION}}
|
||||
os: ${{ matrix.os }}
|
||||
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
needs: test
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
name: Checkout
|
||||
- uses: actions/setup-python@v4
|
||||
name: Setup Python
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
python-version: ${{ vars.PYTHON_VERSION}}
|
||||
- name: Install deps
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install .[build]
|
||||
|
||||
- name: Build
|
||||
run: pyinstaller dyn2py.spec
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
name: Upload artifact
|
||||
with:
|
||||
name: dyn2py.exe
|
||||
path: dist/dyn2py.exe
|
||||
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
name: Checkout
|
||||
- name: Generate changelog
|
||||
id: changelog
|
||||
uses: metcalfc/changelog-generator@v4.1.0
|
||||
with:
|
||||
myToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: dyn2py.exe
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
files: dist/dyn2py.exe
|
||||
files: dyn2py.exe
|
||||
body: ${{ steps.modified.outputs.log }}
|
||||
|
||||
pip:
|
||||
runs-on: ubuntu-latest
|
||||
needs: release
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
name: Checkout
|
||||
- uses: actions/setup-python@v4
|
||||
name: Setup Python
|
||||
with:
|
||||
python-version: ${{ vars.PYTHON_VERSION}}
|
||||
- name: Install deps
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install build
|
||||
- name: Build package
|
||||
run: python -m build
|
||||
- name: Publish to PyPI
|
||||
uses: pypa/gh-action-pypi-publish@release/v1
|
||||
with:
|
||||
password: ${{ secrets.PYPI_API_TOKEN }}
|
||||
|
||||
25
.github/workflows/test.yml
vendored
Normal file
25
.github/workflows/test.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
python-version:
|
||||
required: true
|
||||
type: string
|
||||
os:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ${{ inputs.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python ${{ inputs.python-version }}
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ inputs.python-version }}
|
||||
- name: Install deps
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install .
|
||||
- name: Test
|
||||
run: python -m unittest discover -v -s ./tests -p "test_*.py"
|
||||
18
.github/workflows/unittests.yml
vendored
18
.github/workflows/unittests.yml
vendored
@@ -14,21 +14,9 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest]
|
||||
python-version: [3.8, 3.9, "3.10", 3.11]
|
||||
runs-on: ${{ matrix.os }}
|
||||
python-version: ["3.8", "3.9", "3.10", "3.11"]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v4
|
||||
uses: ./.github/workflows/test.yml
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
|
||||
- name: Install deps
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install .
|
||||
|
||||
- name: Test
|
||||
run: python -m unittest discover -v -s ./tests -p "test_*.py"
|
||||
os: ${{ matrix.os }}
|
||||
|
||||
5
.github/workflows/website.yml
vendored
5
.github/workflows/website.yml
vendored
@@ -2,9 +2,8 @@ name: Deploy website
|
||||
|
||||
on:
|
||||
push:
|
||||
# Only build for tags.
|
||||
tags:
|
||||
- "*"
|
||||
branches:
|
||||
- main
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
@@ -9,6 +9,14 @@ Use cases:
|
||||
|
||||
## Installation
|
||||
|
||||
### Windows portable
|
||||
|
||||
Prebuilt exe available from github releases.
|
||||
|
||||
No requirements, just download `dyn2py.exe` from release assets:
|
||||
|
||||
https://github.com/infeeeee/dyn2py/releases/latest
|
||||
|
||||
### With pip from Github
|
||||
|
||||
Requirements: git, python, pip
|
||||
|
||||
2
TODO.md
2
TODO.md
@@ -14,7 +14,7 @@
|
||||
- [x] Tests on Linux
|
||||
- [x] Tests on Windows
|
||||
- [x] Windows Build
|
||||
- [ ] Pip
|
||||
- [x] Pip
|
||||
|
||||
## Documentation
|
||||
|
||||
|
||||
@@ -371,7 +371,7 @@ class PythonFile(File):
|
||||
"""A Python file, subclass of File()"""
|
||||
|
||||
code: list[str]
|
||||
"""The python code."""
|
||||
"""The python code. Lines as list items, without newlines."""
|
||||
header_data: dict
|
||||
"""Parsed dict from the header of a python file."""
|
||||
text: str
|
||||
@@ -564,7 +564,7 @@ class PythonNode():
|
||||
engine: str
|
||||
"""The engine of the node, IronPython2 or CPython3"""
|
||||
code: list[str]
|
||||
"""The full code"""
|
||||
"""The full code. Lines as list items, without newlines."""
|
||||
checksum: str
|
||||
"""The checksum of the code, for checking changes"""
|
||||
name: str
|
||||
@@ -572,7 +572,7 @@ class PythonNode():
|
||||
filename: pathlib.Path | str
|
||||
"""The filename the node should be saved as, including the .py extension"""
|
||||
filepath: pathlib.Path
|
||||
"""The path is shoul"""
|
||||
"""The full path the node should be saved as"""
|
||||
|
||||
def __init__(self,
|
||||
node_dict_from_dyn: dict = {},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "dyn2py"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
description = "Extract python code from Dynamo graphs"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.8"
|
||||
@@ -11,7 +11,7 @@ license = { file = "LICENSE" }
|
||||
authors = [{ name = "infeeeee", email = "gyetpet@mailbox.org" }]
|
||||
maintainers = [{ name = "infeeeee", email = "gyetpet@mailbox.org" }]
|
||||
classifiers = [
|
||||
"Development Status :: 3 - Alpha",
|
||||
"Development Status :: 4 - Beta",
|
||||
"Environment :: Console",
|
||||
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
||||
]
|
||||
@@ -23,7 +23,6 @@ build = ["pyinstaller"]
|
||||
doc = ["pdoc"]
|
||||
|
||||
[project.urls]
|
||||
homepage = "https://github.com/infeeeee/dyn2py"
|
||||
documentation = "https://infeeeee.github.io/dyn2py"
|
||||
repository = "https://github.com/infeeeee/dyn2py"
|
||||
changelog = "https://github.com/infeeeee/dyn2py/releases"
|
||||
|
||||
Reference in New Issue
Block a user