Skip to content

Commit b6080c6

Browse files
committed
Initial commit.
0 parents  commit b6080c6

22 files changed

Lines changed: 4683 additions & 0 deletions
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: '[Brief descriptive title of the issue]'
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
> [!NOTE]
21+
> If you cannot reproduce the issue consistently, please describe the circumstances under which it occurred.
22+
23+
**Expected behavior**
24+
A clear and concise description of what you expected to happen.
25+
26+
**Screenshots**
27+
If applicable, add screenshots to help explain your problem.
28+
29+
**Desktop (please complete the following information):**
30+
- OS: [e.g. Windows]
31+
- OS version: [e.g. Windows 11 (x64)]
32+
- Release: [e.g. Version 1.0.0]
33+
- Python (if relevant): [e.g. 3.13]
34+
- Dependencies (if relevant): [e.g. numpy==1.26.4, tensorflow==2.x]
35+
- Environment (if relevant): [e.g. Docker, virtual environment, or native installation]
36+
37+
**Relevant Code snippet (if available):**
38+
```python
39+
# Prints out hello world
40+
print("Hello world")
41+
```
42+
43+
**Additional context**
44+
Add any other context about the problem here that you think could help.
45+
46+
---
47+
48+
> [!IMPORTANT]
49+
> Please do not share any personal information in this report.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: '[Brief descriptive title of the feature request]'
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? If so, please explain**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered (workarounds)**
17+
A clear and concise description of any alternative solutions or features you've considered. This is `optional`.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.
21+
22+
---
23+
24+
> [!IMPORTANT]
25+
> Please do not share any personal information in this report.

.github/workflows/build.yml

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
name: Build Distributables
2+
3+
on:
4+
push:
5+
branches:
6+
- main # Change this to your default branch if different
7+
8+
jobs:
9+
build:
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
matrix:
13+
os: [ubuntu-latest, macos-latest, windows-latest]
14+
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v4
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@v5
21+
with:
22+
python-version: '3.12' # Specify your Python version
23+
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install pyinstaller openai-whisper==20240930 sounddevice scipy python-docx fpdf beautifulsoup4 pywebview
28+
29+
- name: Build for macOS
30+
if: matrix.os == 'macos-latest'
31+
run: |
32+
pip install pillow
33+
pyinstaller --onefile --name Scriptify --icon web/favicon.ico \
34+
--add-data "web:web" --add-data "js:js" --add-data "index.html:." --add-data "style.css:." \
35+
--osx-bundle-identifier com.infinitode.scriptify --windowed main.py --version-file version_info.txt
36+
37+
- name: Build for Linux
38+
if: matrix.os == 'ubuntu-latest'
39+
run: |
40+
pyinstaller --onefile --name Scriptify --icon web/favicon.ico \
41+
--add-data "web:web" --add-data "js:js" --add-data "index.html:." --add-data "style.css:." \
42+
--windowed main.py --version-file version_info.txt
43+
44+
- name: Build for Windows
45+
if: matrix.os == 'windows-latest'
46+
run: |
47+
pyinstaller --onefile --name Scriptify --icon web/favicon.ico `
48+
--add-data "web:web" --add-data "js:js" --add-data "index.html:." --add-data "style.css:." `
49+
--windowed main.py --version-file version_info.txt
50+
51+
- name: Upload artifacts
52+
uses: actions/upload-artifact@v4
53+
with:
54+
name: Scriptify-${{ matrix.os }}
55+
path: dist/Scriptify*
56+
57+
release:
58+
needs: build
59+
runs-on: ubuntu-latest
60+
steps:
61+
# Download all the artifacts from the build job.
62+
- name: Download artifacts
63+
uses: actions/download-artifact@v4
64+
with:
65+
path: .
66+
67+
# Create a release using the commit SHA as the version.
68+
- name: Create Release
69+
id: create_release
70+
uses: actions/create-release@v1
71+
env:
72+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
73+
with:
74+
tag_name: "v${{ github.sha }}"
75+
release_name: "Release v${{ github.sha }}"
76+
draft: false
77+
prerelease: false
78+
79+
# Upload the Linux asset. Adjust the path if your file name differs.
80+
- name: Upload Linux asset
81+
uses: actions/upload-release-asset@v1
82+
env:
83+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
84+
with:
85+
upload_url: ${{ steps.create_release.outputs.upload_url }}
86+
asset_path: ./Scriptify-ubuntu-latest/Scriptify
87+
asset_name: Scriptify-linux
88+
asset_content_type: application/octet-stream
89+
90+
# Upload the macOS asset.
91+
- name: Upload macOS asset
92+
uses: actions/upload-release-asset@v1
93+
env:
94+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
95+
with:
96+
upload_url: ${{ steps.create_release.outputs.upload_url }}
97+
asset_path: ./Scriptify-macos-latest/Scriptify
98+
asset_name: Scriptify-macos
99+
asset_content_type: application/octet-stream
100+
101+
# Upload the Windows asset.
102+
- name: Upload Windows asset
103+
uses: actions/upload-release-asset@v1
104+
env:
105+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
106+
with:
107+
upload_url: ${{ steps.create_release.outputs.upload_url }}
108+
asset_path: ./Scriptify-windows-latest/Scriptify.exe
109+
asset_name: Scriptify-windows.exe
110+
asset_content_type: application/octet-stream
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Publish Python 🐍 distributions 📦 to PyPI
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
jobs:
9+
build-n-publish:
10+
name: Build and publish Python 🐍 distributions 📦 to PyPI
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@master
14+
- name: Set up Python 3.12
15+
uses: actions/setup-python@v3
16+
with:
17+
python-version: '3.12'
18+
- name: Install pypa/setuptools
19+
run: >-
20+
python -m
21+
pip install setuptools wheel
22+
- name: Extract tag name
23+
id: tag
24+
run: echo ::set-output name=TAG_NAME::$(echo $GITHUB_REF | cut -d / -f 3)
25+
- name: Update version in setup.py
26+
run: >-
27+
sed -i "s/{{VERSION_PLACEHOLDER}}/${{ steps.tag.outputs.TAG_NAME }}/g" setup.py
28+
- name: Build a binary wheel
29+
run: >-
30+
python setup.py sdist bdist_wheel
31+
- name: Publish distribution 📦 to PyPI
32+
uses: pypa/gh-action-pypi-publish@master
33+
with:
34+
password: ${{ secrets.PYPI_API_TOKEN }}

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dist/
2+
build/
3+
env/

CONTRIBUTING.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Contributing to Scriptify
2+
3+
Thank you for considering contributing to **Scriptify**! Contributions, whether they are bug fixes, new features, or improvements to the documentation, are always welcome. Before contributing, please read the following guidelines to ensure smooth collaboration.
4+
5+
## Getting Started
6+
7+
1. **Fork the Repository**
8+
Create a fork of this repository to your GitHub account and clone it locally.
9+
10+
2. **Set Up the Environment**
11+
Ensure you have Python 3.6+ installed. You should also install compatible versions of the necessary dependencies for the project.
12+
13+
3. **Run Tests**
14+
Before making changes, run tests to confirm that everything works.
15+
16+
> [!TIP]
17+
> We sometimes include testing scripts in our projects for easy testing.
18+
19+
## How to Contribute
20+
21+
1. **Report Issues**
22+
Use the [GitHub Issues page](https://github.com/Infinitode/Scriptify/issues) to report bugs or suggest features. Please include:
23+
- A clear description of the issue or suggestion.
24+
- Steps to reproduce (for bugs).
25+
26+
2. **Make Changes**
27+
- Use clear and descriptive commit messages.
28+
- (Optional) Write tests to show new functionality.
29+
- Ensure the code is **readable**. You can learn more about Python code readability here: https://peps.python.org/pep-0008/.
30+
31+
3. **Submit a Pull Request**
32+
- Push your changes to a feature branch in your fork.
33+
- Submit a pull request with a detailed explanation of what you've changed or added.
34+
- Ensure your PR passes all automated tests and adheres to the contribution guidelines.
35+
36+
## Community Guidelines
37+
38+
To maintain a positive and collaborative community, we ask that all contributors adhere to the following principles:
39+
40+
1. **Be Respectful**
41+
Treat others with respect, regardless of their background or expertise.
42+
43+
2. **Provide Constructive Feedback**
44+
Offer helpful and actionable suggestions during code reviews.
45+
46+
3. **Follow Licensing Requirements**
47+
Ensure that any derivative works comply with the [license](https://github.com/infinitode/Scriptify/blob/main/LICENSE).
48+
49+
By contributing, you agree to abide by these guidelines and this project's [license](https://github.com/infinitode/Scriptify/blob/main/LICENSE). Thank you for helping make **Scriptify** better!

LICENSE

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
MIT License (Modified)
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to make derivative works based on the Software, provided that any substantial changes to the Software are clearly distinguished from the original work and are distributed under a different name.
4+
5+
The original copyright notice and disclaimer must be retained in all copies or substantial portions of the Software.
6+
7+
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.

0 commit comments

Comments
 (0)